return 0;
}
+int ftdi_usb_purge_buffers(struct ftdi_context *ftdi) {
+ if (usb_control_msg(ftdi->usb_dev, 0x40, 0, 1, 0, NULL, 0, ftdi->usb_timeout) != 0) {
+ ftdi->error_str = "FTDI purge of RX buffer failed";
+ return -1;
+ }
+
+ if (usb_control_msg(ftdi->usb_dev, 0x40, 0, 2, 0, NULL, 0, ftdi->usb_timeout) != 0) {
+ ftdi->error_str = "FTDI purge of TX buffer failed";
+ return -1;
+ }
+
+ return 0;
+}
/* ftdi_usb_close return codes
0: all fine
int ftdi_usb_open(struct ftdi_context *ftdi, int vendor, int product);
int ftdi_usb_close(struct ftdi_context *ftdi);
int ftdi_usb_reset(struct ftdi_context *ftdi);
+ int ftdi_usb_purge_buffers(struct ftdi_context *ftdi);
int ftdi_set_baudrate(struct ftdi_context *ftdi, int baudrate);
int ftdi_write_data(struct ftdi_context *ftdi, unsigned char *buf, int size);