struct ftdi_context *ftdi;
unsigned char buf[1024];
int f, i;
- int vid = 0;
+ int vid = 0x403;
int pid = 0;
int baudrate = 115200;
int interface = INTERFACE_ANY;
int do_write = 0;
- unsigned int pattern;
+ unsigned int pattern = 0xffff;
int retval = EXIT_FAILURE;
while ((i = getopt(argc, argv, "i:v:p:b:w::")) != -1)
break;
case 'w':
do_write = 1;
- pattern = strtoul(optarg, NULL, 0);
+ if (optarg)
+ pattern = strtoul(optarg, NULL, 0);
if (pattern > 0xff)
+ {
fprintf(stderr, "Please provide a 8 bit pattern\n");
+ exit(-1);
+ }
break;
default:
fprintf(stderr, "usage: %s [-i interface] [-v vid] [-p pid] [-b baudrate] [-w [pattern]]\n", *argv);
exit(-1);
}
+ /* Set line parameters
+ *
+ * TODO: Make these parameters settable from the command line
+ *
+ * Parameters are choosen that sending a continous stream of 0x55
+ * should give a square wave
+ *
+ */
+ f = ftdi_set_line_property(ftdi, 8, STOP_BIT_1, NONE);
+ if (f < 0)
+ {
+ fprintf(stderr, "unable to set line parameters: %d (%s)\n", f, ftdi_get_error_string(ftdi));
+ exit(-1);
+ }
+
if (do_write)
for(i=0; i<1024; i++)
buf[i] = pattern;