#include #include #include "emitlib.h" #include #include #include #include #define DEFAULT_FREQ 20000 /** * Usage of this program */ void usage(char** argv) { fprintf(stderr, "Chacon command V1.0\nC. Meichel\n2013, October\n"); fprintf(stderr, "Syntaxe : %s [options]\n", argv[0]); fprintf(stderr, "\t-b button\n\t\tbutton (A-D1-4|G). For instance A1, G, D3\n"); fprintf(stderr, "\t-x:\n\t\tOff (default On)\n"); fprintf(stderr, "\t-r number:\n\t\tnumber of repeatitions\n"); fprintf(stderr, "\t-d id:\n\t\thexadecimal id from your command (13 letters <=> 52 bits)\n"); fprintf(stderr, "\t-f frequency: configuration frequency for the SPI (default %dHz)\n", DEFAULT_FREQ); fprintf(stderr, "\t-v: verbose bits\n"); } /** * Main program * * @param argc number of arguments passed to the program * @param argv array of arguments passed to the program * * @return status */ int main(int argc, char** argv) { BUFFER buffer; int i; char optstring[] = "xvb:d:f:r:"; int option; unsigned char global=NO_GLOBAL; unsigned char number = NUMBER1; unsigned char section = SECTION_A; char *idString=0; unsigned long int frequency = DEFAULT_FREQ; unsigned char onOff = ON; unsigned int verbose = 0; unsigned repeat = 1; /* reading options */ //opterr=0; /* Pas de message d'erreur automatique */ while ((option = getopt(argc, argv, optstring)) != -1) { switch (option) { case 'b': // Decode the button ie : A3 section = optarg[0] - (optarg[0]<'Z' ? 'A' : 'a'); if (strlen(optarg)>1) { number = optarg[1] - '0'; } if (section== 6) { // G was requested global = GLOBAL; } break; case 'r': // repeatition code sscanf(optarg, "%d", &repeat); break; case 'd': // command id idString = (char*)malloc(1+strlen(optarg)/2); for(i=0; i