#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 */


