libftdi: (tomj) applied status byte filtering patch for large readbuffers
[libftdi] / ftdi / ftdi.h
index 6fa8a60..7d74701 100644 (file)
@@ -19,6 +19,8 @@
 
 #include <usb.h>
 
+enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_2232C=2 };
+
 struct ftdi_context {
     // USB specific
     struct usb_dev_handle *usb_dev;
@@ -26,6 +28,7 @@ struct ftdi_context {
     int usb_write_timeout;
 
     // FTDI specific
+    enum ftdi_chip_type type;
     int baudrate;
     unsigned char bitbang_enabled;
     unsigned char *readbuffer;
@@ -40,8 +43,9 @@ struct ftdi_context {
     // Endpoints
     int in_ep;
     int out_ep;      // 1 or 2
-
-    int reading;     // 0 or 1 - for performance increase in SPI mode
+    
+    /* 1: (default) Normal bitbang mode, 2: FT2232C SPI bitbang mode */
+    unsigned char bitbang_mode;
 
     // misc
     char *error_str;
@@ -77,6 +81,8 @@ extern "C" {
     void ftdi_deinit(struct ftdi_context *ftdi);
     void ftdi_set_usbdev (struct ftdi_context *ftdi, usb_dev_handle *usbdev);
     int ftdi_usb_open(struct ftdi_context *ftdi, int vendor, int product);
+    int ftdi_usb_open_desc(struct ftdi_context *ftdi, int vendor, int product,
+                           const char* description, const char* serial);
     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);