#include "camc.h" /* cco sends a command via the serial port to the camc_pic webcam controller. Copyright Jan Panteltje 2004. */ #define MAX_COMMAND_LEN 256 int main(int argc, char ** argv) { int a; FILE *pptr; char temp[MAX_COMMAND_LEN]; if(argc != 2) { fprintf(stderr, "cco: need 1 command line argument, not %d, aborting.\n", argc - 1); fprintf(stderr,\ "Usage: cco , for move left.\n\ cco . for move right.\n\ cco ? for move up.\n\ cco / for move down.\n\ All other commands as in camc_pic.\n\ camc_pic expected on ttyS0.\n\ "); exit(1); } a = strlen(argv[1]); if(a >= MAX_COMMAND_LEN) { fprintf(stderr, "cco: command argument length is %d, this is greater then %d, aborting.\n", a, MAX_COMMAND_LEN); exit(1); } system("stty -F /dev/ttyS0 sane"); system("stty -F /dev/ttyS0 clocal cread -crtscts ignpar ignbrk 19200"); /* convert difficult symbol */ if(strcmp(argv[1], "?") == 0) sprintf(temp, "echo %c%c > /dev/ttyS0", '\\', 39); else sprintf(temp, "echo %s > /dev/ttyS0", argv[1]); /* send command to ttyS0 */ pptr = popen(temp, "w"); pclose(pptr); exit(0); } /* end function main */