#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
+#ifdef __WIN32__
+#define sleep(x) Sleep(x)
+#endif
#include <getopt.h>
#include <signal.h>
#include <ftdi.h>
{
struct ftdi_context *ftdi;
unsigned char buf[1024];
- int f, i;
- int vid = 0;
+ int f = 0, i;
+ int vid = 0x403;
int pid = 0;
int baudrate = 115200;
int interface = INTERFACE_ANY;
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;
while (!exitRequested)
{
if (do_write)
- f = ftdi_write_data(ftdi, buf, sizeof(buf));
+ f = ftdi_write_data(ftdi, buf,
+ (baudrate/512 >sizeof(buf))?sizeof(buf):
+ (baudrate/512)?baudrate/512:1);
else
f = ftdi_read_data(ftdi, buf, sizeof(buf));
if (f<0)