libftdi Archives

Subject: [PATCH 1/2] New configuration option default_pid

From: Vladimir Yakovlev <nagos@xxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Cc: Vladimir Yakovlev <nagos@xxxxxxxx>
Date: Wed, 19 Jan 2011 10:31:40 +0300
Default USB PID different for different devices. 0x6001 valid only for FT245BM.
FT2232HQ have 0x6010.
Now you can define default fallback PID.
In configuration file add line:
        default_pid=0x6110
---
 src/main.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/main.c b/src/main.c
index 81e6e93..a04decf 100644
--- a/src/main.c
+++ b/src/main.c
@@ -62,6 +62,7 @@ int main(int argc, char *argv[])
         CFG_BOOL("use_serial", cfg_false, 0),
         CFG_BOOL("change_usb_version", cfg_false, 0),
         CFG_INT("usb_version", 0, 0),
+        CFG_INT("default_pid", 0x6001, 0),
         CFG_INT("max_power", 0, 0),
         CFG_STR("manufacturer", "Acme Inc.", 0),
         CFG_STR("product", "USB Serial Converter", 0),
@@ -200,9 +201,10 @@ int main(int argc, char *argv[])
         {
             printf("Unable to find FTDI devices under given vendor/product id: 
0x%X/0x%X\n", eeprom.vendor_id, eeprom.product_id);
             printf("Error code: %d (%s)\n", i, ftdi_get_error_string(&ftdi));
-            printf("Retrying with default FTDI id.\n");
+            int default_pid = cfg_getint(cfg, "default_pid");
+            printf("Retrying with default FTDI pid=%#04x.\n", default_pid);
 
-            i = ftdi_usb_open(&ftdi, 0x0403, 0x6001);
+            i = ftdi_usb_open(&ftdi, 0x0403, default_pid);
             if (i != 0)
             {
                 printf("Error: %s\n", ftdi.error_str);
-- 
1.7.1


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

Current Thread