int main(int argc, char **argv) { char *arg1 = 0; int mode = 0; int rc = 0; parse_options(&mode, &arg1, argc, argv); if(mode == 'r') { printf("-- Recording Mode --\n"); time_t t = time(0); char fn[48]; strftime(fn,48,"cache_%F_%T",localtime(&t)); printf("Recording to '%s'.\n", fn); rc = record_loop(fn); } else if(mode == 'p') { printf("-- Playback Mode --\n"); printf("Rendering from '%s'.\n", arg1); rc = show_loop(arg1); } else if(mode == 0) { printf("-- Real-Time Mode --\n"); rc = normal_loop(); } free(arg1); return rc; }
int main(int argc, char **argv) { device_info_t device_info; while ((argc > 1) && (argv[1][0] == '-')) { switch (argv[1][1]) { case 'a': sscanf (&argv[1][2], "%x", &slave_address); break; case 'c': sscanf (&argv[1][2], "%d", &chip_select); break; default: fprintf(stderr, "Warning: Unsupported argument \"%s\"!\n", argv[1]); exit(1); } ++argv; --argc; } device_info.slave_address = slave_address; device_info.chip_select = chip_select; if (mcp23s08_start(&device_info) != MCP23S08_OK) { fprintf(stderr,"Cannot start mcp23s08_start\n"); exit(EXIT_FAILURE); } printf("slave address : 0x%x\n", device_info.slave_address); printf("chip select : %.1d\n", device_info.chip_select); int x; for (x = 0 ; x < sizeof(pins) ; x++ ) { mcp23s08_gpio_fsel(&device_info, pins[x], MCP23S08_FSEL_OUTP); } for(;;) show_loop(&device_info, 1, 1); mcp23s08_end(); return 0; }