libftdi-git Archives

Subject: port libftdi to libusb-1.0 branch, master, updated. v0.17-283-gb790d38

From: libftdi-git@xxxxxxxxxxxxxxxxxxxxxxx
To: libftdi-git@xxxxxxxxxxxxxxxxxxxxxxx
Date: Thu, 29 Sep 2011 21:53:05 +0200 (CEST)
The branch, master has been updated
       via  b790d38e9fac3e2144293a84bfc6de72b01a6c6d (commit)
      from  a1e6050855a9dca5f0b700748a3aea094836c410 (commit)


- Log -----------------------------------------------------------------
commit b790d38e9fac3e2144293a84bfc6de72b01a6c6d
Author: Uwe Bonnes <bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date:   Thu Sep 29 18:28:25 2011 +0200

    Use a private header for the private EEPROM structures
    
    I added the ftdi_i.h header to bindings/ftdi.i. Noe the bindings compile
    again. Other things are untouched.

-----------------------------------------------------------------------

Summary of changes:
 TODO            |    1 -
 bindings/ftdi.i |    5 ++
 ftdipp/ftdi.cpp |    1 +
 src/ftdi.c      |    1 +
 src/ftdi.h      |  103 ----------------------------------------------
 src/ftdi_i.h    |  123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 130 insertions(+), 104 deletions(-)
 create mode 100644 src/ftdi_i.h

diff --git a/TODO b/TODO
index cdc0409..adafdc2 100644
--- a/TODO
+++ b/TODO
@@ -4,7 +4,6 @@ Build related:
   so libftdi 0.x and 1.x can co-exist
 
 API extentions:
-- Make EEPROM structure opaque
 - TO DECIDE: Make ftdi structure opaque?
 
 Misc:
diff --git a/bindings/ftdi.i b/bindings/ftdi.i
index b1d550a..2903924 100644
--- a/bindings/ftdi.i
+++ b/bindings/ftdi.i
@@ -15,6 +15,11 @@
 #include <ftdi.h>
 %}
 
+%include ftdi_i.h
+%{
+#include <ftdi_i.h>
+%}
+
 extern "C" {
 
 %apply char *OUTPUT { unsigned char *buf };
diff --git a/ftdipp/ftdi.cpp b/ftdipp/ftdi.cpp
index 2754033..18dd81c 100644
--- a/ftdipp/ftdi.cpp
+++ b/ftdipp/ftdi.cpp
@@ -27,6 +27,7 @@ This exception does not invalidate any other reasons why a 
work based
 on this file might be covered by the GNU General Public License.
 */
 #include "ftdi.hpp"
+#include "ftdi_i.h"
 #include "ftdi.h"
 
 namespace Ftdi
diff --git a/src/ftdi.c b/src/ftdi.c
index de5ded1..17d1d0f 100644
--- a/src/ftdi.c
+++ b/src/ftdi.c
@@ -34,6 +34,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "ftdi_i.h"
 #include "ftdi.h"
 #include "ftdi_version_i.h"
 
diff --git a/src/ftdi.h b/src/ftdi.h
index 759e61b..03a7d52 100644
--- a/src/ftdi.h
+++ b/src/ftdi.h
@@ -19,9 +19,6 @@
 
 #include <libusb.h>
 
-/* Even on 93xx66 at max 256 bytes are used (AN_121)*/
-#define FTDI_MAX_EEPROM_SIZE 256
-
 /** FTDI chip type */
 enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_2232C=2, TYPE_R=3, 
TYPE_2232H=4, TYPE_4232H=5, TYPE_232H=6 };
 /** Parity mode for ftdi_set_line_property() */
@@ -192,106 +189,6 @@ struct ftdi_transfer_control
 };
 
 /**
-    \brief FTDI eeprom structure
-*/
-struct ftdi_eeprom
-{
-    /** vendor id */
-    int vendor_id;
-    /** product id */
-    int product_id;
-    
-    /** Was the eeprom structure initialized for the actual
-        connected device? **/
-    int initialized_for_connected_device;
-
-    /** self powered */
-    int self_powered;
-    /** remote wakeup */
-    int remote_wakeup;
-
-    int is_not_pnp;
-
-    /* Suspend on DBUS7 Low */
-    int suspend_dbus7;
-
-    /** input in isochronous transfer mode */
-    int in_is_isochronous;
-    /** output in isochronous transfer mode */
-    int out_is_isochronous;
-    /** suspend pull downs */
-    int suspend_pull_downs;
-
-    /** use serial */
-    int use_serial;
-    /** usb version */
-    int usb_version;
-    /** Use usb version on FT2232 devices*/
-    int use_usb_version;
-     /** maximum power */
-    int max_power;
-
-    /** manufacturer name */
-    char *manufacturer;
-    /** product name */
-    char *product;
-    /** serial number */
-    char *serial;
-
-    /* 2232D/H(/FT4432H?) specific */
-    /* Hardware type, 0 = RS232 Uart, 1 = 245 FIFO, 2 = CPU FIFO, 
-       4 = OPTO Isolate */
-    int channel_a_type;
-    int channel_b_type;
-    /*  Driver Type, 1 = VCP */
-    int channel_a_driver;
-    int channel_b_driver;
-
-    /* Special function of FT232R/FT232H devices (and possibly others as well) 
*/
-    /** CBUS pin function. See CBUS_xxx defines. */
-    int cbus_function[10];
-    /** Select hight current drive on R devices. */
-    int high_current;
-    /** Select hight current drive on A channel (2232C */
-    int high_current_a;
-    /** Select hight current drive on B channel (2232C). */
-    int high_current_b;
-    /** Select inversion of data lines (bitmask). */
-    int invert;
-
-    /*2232H/4432H Group specific values */
-    /* Group0 is AL on 2322H and A on 4232H
-       Group1 is AH on 2232H and B on 4232H
-       Group2 is BL on 2322H and C on 4232H
-       Group3 is BH on 2232H and C on 4232H*/
-    int group0_drive;
-    int group0_schmitt;
-    int group0_slew;
-    int group1_drive;
-    int group1_schmitt;
-    int group1_slew;
-    int group2_drive;
-    int group2_schmitt;
-    int group2_slew;
-    int group3_drive;
-    int group3_schmitt;
-    int group3_slew;
-
-    int powersave;
-    
-    int clock_polarity;
-    int data_order;
-    int flow_control;
-
-    /** eeprom size in bytes. This doesn't get stored in the eeprom
-        but is the only way to pass it to ftdi_eeprom_build. */
-    int size;
-    /* EEPROM Type 0x46 for 93xx46, 0x56 for 93xx56 and 0x66 for 93xx66*/
-    int chip;
-    unsigned char buf[FTDI_MAX_EEPROM_SIZE];
-};
-
-/**
     \brief Main context structure for all libftdi functions.
 
     Do not access directly if possible.
diff --git a/src/ftdi_i.h b/src/ftdi_i.h
new file mode 100644
index 0000000..1bbcf14
--- /dev/null
+++ b/src/ftdi_i.h
@@ -0,0 +1,123 @@
+/***************************************************************************
+                          ftdi_i.h  -  description
+                             -------------------
+    begin                : Don Sep 9 2011
+    copyright            : (C) 2003-2011 by Intra2net AG and the libftdi 
developers
+    email                : opensource@xxxxxxxxxxxxx
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU Lesser General Public License           *
+ *   version 2.1 as published by the Free Software Foundation;             *
+ *                                                                         *
+ ***************************************************************************
+
+ Non public definitions here
+
+*/
+
+/* Even on 93xx66 at max 256 bytes are used (AN_121)*/
+#define FTDI_MAX_EEPROM_SIZE 256
+
+/**
+    \brief FTDI eeprom structure
+*/
+struct ftdi_eeprom
+{
+    /** vendor id */
+    int vendor_id;
+    /** product id */
+    int product_id;
+
+    /** Was the eeprom structure initialized for the actual
+        connected device? **/
+    int initialized_for_connected_device;
+
+    /** self powered */
+    int self_powered;
+    /** remote wakeup */
+    int remote_wakeup;
+
+    int is_not_pnp;
+
+    /* Suspend on DBUS7 Low */
+    int suspend_dbus7;
+
+    /** input in isochronous transfer mode */
+    int in_is_isochronous;
+    /** output in isochronous transfer mode */
+    int out_is_isochronous;
+    /** suspend pull downs */
+    int suspend_pull_downs;
+
+    /** use serial */
+    int use_serial;
+    /** usb version */
+    int usb_version;
+    /** Use usb version on FT2232 devices*/
+    int use_usb_version;
+     /** maximum power */
+    int max_power;
+
+    /** manufacturer name */
+    char *manufacturer;
+    /** product name */
+    char *product;
+    /** serial number */
+    char *serial;
+
+    /* 2232D/H(/FT4432H?) specific */
+    /* Hardware type, 0 = RS232 Uart, 1 = 245 FIFO, 2 = CPU FIFO, 
+       4 = OPTO Isolate */
+    int channel_a_type;
+    int channel_b_type;
+    /*  Driver Type, 1 = VCP */
+    int channel_a_driver;
+    int channel_b_driver;
+
+    /* Special function of FT232R/FT232H devices (and possibly others as well) 
*/
+    /** CBUS pin function. See CBUS_xxx defines. */
+    int cbus_function[9];
+    /** Select hight current drive on R devices. */
+    int high_current;
+    /** Select hight current drive on A channel (2232C */
+    int high_current_a;
+    /** Select hight current drive on B channel (2232C). */
+    int high_current_b;
+    /** Select inversion of data lines (bitmask). */
+    int invert;
+
+    /*2232H/4432H Group specific values */
+    /* Group0 is AL on 2322H and A on 4232H
+       Group1 is AH on 2232H and B on 4232H
+       Group2 is BL on 2322H and C on 4232H
+       Group3 is BH on 2232H and C on 4232H*/
+    int group0_drive;
+    int group0_schmitt;
+    int group0_slew;
+    int group1_drive;
+    int group1_schmitt;
+    int group1_slew;
+    int group2_drive;
+    int group2_schmitt;
+    int group2_slew;
+    int group3_drive;
+    int group3_schmitt;
+    int group3_slew;
+
+    int powersave;
+
+    int clock_polarity;
+    int data_order;
+    int flow_control;
+
+    /** eeprom size in bytes. This doesn't get stored in the eeprom
+        but is the only way to pass it to ftdi_eeprom_build. */
+    int size;
+    /* EEPROM Type 0x46 for 93xx46, 0x56 for 93xx56 and 0x66 for 93xx66*/
+    int chip;
+    unsigned char buf[FTDI_MAX_EEPROM_SIZE];
+};
+


hooks/post-receive
-- 
port libftdi to libusb-1.0

--
libftdi-git - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi-git+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread
  • port libftdi to libusb-1.0 branch, master, updated. v0.17-283-gb790d38, libftdi-git <=