control.cc

来自「torch tracking code, it is a good code」· CC 代码 · 共 131 行

CC
131
字号
const char *help = "\progname: control.cc\n\code2html: This program control a Sony pan/tilt/zoom camera using VISCA serial interface.\n\version: Torch3 vision2.0, 2003-2005\n\(c) Sebastien Marcel (marcel@idiap.ch)\n";#include <iostream.h>#include "SonyEviD31.h"#include "SonyEviD100P.h"using namespace Torch;int main(){	cameraControl *camera;	camera = new SonyEviD100P("/dev/ttyS", '0');		if(camera->connect() == false) return 0;	int powerStatus;	char cmd[100];		print("Trying to get the power status of the camera.\n");	powerStatus = camera->getPowerStatus();	switch(powerStatus)	{	case -1: 	   	print("Error couldn't get the power status.\n");		return 0;		break;	case 0: 		print("The camera is OFF.\n");		break;	case 1: 		print("The camera is ON.\n");		break;	default: 		print("Unexpected value.\n");		return 0;	}	do	{		cout << ">";		cin >> cmd;		if(strcmp(cmd, "on") == 0)			camera->setPowerOn();				if(strcmp(cmd, "off") == 0)			camera->setPowerOff();				if(strcmp(cmd, "backlight") == 0)		{		   	cin >> cmd;					if(strcmp(cmd, "on") == 0)			{				camera->setBackLightOn();			}					if(strcmp(cmd, "off") == 0)			{				camera->setBackLightOff();			}		}				if((strcmp(cmd, "home") == 0) || (strcmp(cmd, "h") == 0))			camera->goHome();				if((strcmp(cmd, "stop") == 0) || (strcmp(cmd, "s") == 0))			camera->stopPanTilt();				if((strcmp(cmd, "up") == 0) || (strcmp(cmd, "u") == 0))			camera->up();				if(strcmp(cmd, "ur") == 0)			camera->upRight();				if(strcmp(cmd, "ul") == 0)			camera->upLeft();				if((strcmp(cmd, "down") == 0) || (strcmp(cmd, "d") == 0))			camera->down();				if(strcmp(cmd, "dr") == 0)			camera->downRight();				if(strcmp(cmd, "dl") == 0)			camera->downLeft();				if((strcmp(cmd, "left") == 0) || (strcmp(cmd, "l") == 0))			camera->left();				if((strcmp(cmd, "right") == 0) || (strcmp(cmd, "r") == 0))			camera->right();				if(strcmp(cmd, "panspeed") == 0)		{			cin >> cmd;			camera->setPanSpeed(atoi(cmd));		}				if(strcmp(cmd, "tiltspeed") == 0)		{			cin >> cmd;			camera->setTiltSpeed(atoi(cmd));		}				if((strcmp(cmd, "zoomtele") == 0) || (strcmp(cmd, "zoomin") == 0)  || (strcmp(cmd, "zi") == 0))			camera->zoomTeleStd();				if((strcmp(cmd, "zoomwide") == 0) || (strcmp(cmd, "zoomout") == 0)  || (strcmp(cmd, "zo") == 0))			camera->zoomWideStd();				if((strcmp(cmd, "stopzoom") == 0) || (strcmp(cmd, "sz") == 0))			camera->stopZoom();					} while((strcmp(cmd, "quit") != 0) && (strcmp(cmd, "q") != 0));	delete camera;	return 1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?