Update all documentation to reflect the full set of ftdi_eeprom
config file options:
example.conf:
- Add all missing options: release_number, is_not_pnp, group0-3
drive/schmitt/slew, high_current_a/b, suspend_dbus7,
external_oscillator, power_save, clock_polarity, data_order,
flow_control
- Document %UUID% serial auto-generation
- Add per-chip group-to-bus mapping table and nibble encoding
- Add I2C drive settings example
- Reorganize into logical sections with consistent formatting
doc/EEPROM-structure:
- Add FT232H column (was missing entirely)
- Add FT230X column for drive bytes
- Add I/O drive settings section for bytes 0x0C-0x0D with nibble
encoding and per-chip group layout
- Document FT232H byte 0x01 (FT1284, power save) and CBUS range
README, ChangeLog:
- Add entries for drive settings, boolean fix, FT230X, UUID serial
README.build:
- Add uuid-dev to optional build dependencies
---
ChangeLog | 6 +
README | 6 +
README.build | 1 +
doc/EEPROM-structure | 64 +++++++----
ftdi_eeprom/example.conf | 243 ++++++++++++++++++++++++---------------
5 files changed, 207 insertions(+), 113 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 6d3099a..c695030 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,12 @@ New in 1.6rc1 - 2026-01-XX
* ftdi_eeprom_initdefaults() now takes const arguments
* Don't spam stderr when flashing FT232H eeprom
* EEPROM decoder: Show C/D channel mode for FT4232, B channel mode for
FT2232C
+ * Expose all I/O drive settings: group0-3 drive/schmitt/slew for all
Hi-Speed chips
+ * Add per-chip boolean options: power_save, clock_polarity, data_order,
flow_control,
+ high_current_a/b, suspend_dbus7, external_oscillator, is_not_pnp
+ * Fix boolean options so they can be explicitly disabled (e.g.
group0_schmitt=false)
+ * Make FT230X DBUS/CBUS drive settings configurable (group0/group1)
+ * Add UUID auto-generation for serial numbers (serial="%UUID%", requires
libuuid)
* CMake build system:
* Bump minimal required version to 3.15
* Fix building as a subproject
diff --git a/README b/README
index ea15ee4..9d9b0b1 100644
--- a/README
+++ b/README
@@ -29,6 +29,12 @@ Changes
* ftdi_eeprom_initdefaults() now takes const arguments
* Don't spam stderr when flashing FT232H eeprom
* EEPROM decoder: Show C/D channel mode for FT4232, B channel mode for
FT2232C
+ * Expose all I/O drive settings: group0-3 drive/schmitt/slew for all
Hi-Speed chips
+ * Add per-chip boolean options: power_save, clock_polarity, data_order,
flow_control,
+ high_current_a/b, suspend_dbus7, external_oscillator, is_not_pnp
+ * Fix boolean options so they can be explicitly disabled (e.g.
group0_schmitt=false)
+ * Make FT230X DBUS/CBUS drive settings configurable (group0/group1)
+ * Add UUID auto-generation for serial numbers (serial="%UUID%", requires
libuuid)
* CMake build system:
* Bump minimal required version to 3.15
* Fix building as a subproject
diff --git a/README.build b/README.build
index 54c253f..408cad3 100644
--- a/README.build
+++ b/README.build
@@ -13,6 +13,7 @@ sudo apt-get install libusb-1.0-devel (yum install
libusb-devel)
earlier, it is recommended you build libusbx-1.0.14 or later).
sudo apt-get install libconfuse-dev (for ftdi-eeprom) (yum install
libconfuse-devel)
+sudo apt-get install uuid-dev (for ftdi-eeprom UUID serial support, optional)
(yum install libuuid-devel)
sudo apt-get install swig python-dev (for python bindings) (yum install swig
python-devel)
sudo apt-get install libboost-all-dev (for unit test) (yum install boost-devel)
diff --git a/doc/EEPROM-structure b/doc/EEPROM-structure
index 4a590b6..a58f8ee 100644
--- a/doc/EEPROM-structure
+++ b/doc/EEPROM-structure
@@ -3,32 +3,32 @@ Here we try to document what we know about the EEPROM
Structure.
Even with a 93xx66 EEPROM, at maximum 256 Bytes are used
All important things happen in the first
-0x14(FT232/245), 0x16(FT2232CD), 0x18(FT232/245R) or 0x1a (FT2232H/4432H) bytes
+0x14(FT232/245), 0x16(FT2232CD), 0x18(FT232/245R) or 0x1a (FT2232H/4232H) bytes
Type | Use extra EEPROM space
FT2XXB | No
-Byte.BIT| TYPE_AM TYPE_BM TYPE_2232C TYPE_R TYPE_2232H
TYPE_4232H
-00.0 | 0 0 channel_a_type 232R/245R channel_a_type 0
-00.1 | 0 0 channel_a_type channel_a_type 0
-00.2 | 0 0 channel_a_type high_current channel_a_type 0
-00.3 | 0 0 channel_a_driver channel_a_driver channel_a_driver
channel_a_driver
-00.4 | 0 0 high_current_a 0 0 0
-00.5 | 0 0 0 0 0 0
-00.6 | 0 0 0 0 0 0
-00.7 | 0 0 0 0 SUSPEND_DBUS7
channel_c_driver
+Byte.BIT| TYPE_AM TYPE_BM TYPE_2232C TYPE_R TYPE_2232H
TYPE_4232H TYPE_232H
+00.0 | 0 0 channel_a_type 232R/245R channel_a_type
0 channel_a_type
+00.1 | 0 0 channel_a_type channel_a_type
0 channel_a_type
+00.2 | 0 0 channel_a_type high_current channel_a_type
0 channel_a_type
+00.3 | 0 0 channel_a_driver channel_a_driver channel_a_driver
channel_a_driver channel_a_type
+00.4 | 0 0 high_current_a 0 0
channel_c_driver channel_a_driver(VCPH)
+00.5 | 0 0 0 0 0
0 0
+00.6 | 0 0 0 0 0
0 0
+00.7 | 0 0 0 0 SUSPEND_DBUS7
0 0
On TYPE_R 00.0 is set for the FT245R and cleared for the FT232R
On TYPE_R 00.3 set means D2XX, on other devices VCP
-01.0 | 0 0 channel_b_type channel_b_type 0
-01.1 | 0 0 channel_b_type channel_b_type 0
-01.2 | 0 0 channel_b_type 0 channel_b_type 0
-01.3 | 0 0 channel_b_driver 0 channel_b_driver
channel_b_driver
-01.4 | 0 0 high_current_b 0 0 0
-01.5 | 0 0 0 0 0 0
-01.6 | 0 0 0 0 0
-01.7 | 0 0 0 0 0
channel_d_driver
+01.0 | 0 0 channel_b_type channel_b_type
0 FT1284_CLK_IDLE
+01.1 | 0 0 channel_b_type channel_b_type
0 FT1284_DATA_LSB
+01.2 | 0 0 channel_b_type 0 channel_b_type
0 FT1284_FLOW_CTRL
+01.3 | 0 0 channel_b_driver 0 channel_b_driver
channel_b_driver 0
+01.4 | 0 0 high_current_b 0 0
channel_d_driver 0
+01.5 | 0 0 0 0 0
0 0
+01.6 | 0 0 0 0
0 0
+01.7 | 0 0 0 0 0
0 POWER_SAVE
Fixme: Missing 4232H validation
@@ -63,9 +63,22 @@ Byte.BIT| TYPE_4232H
0b.6 | channel_c_rs485enable
0b.7 | channel_d_rs485enable
-Byte | TYPE_AM TYPE_BM TYPE_2232C TYPE_R TYPE_2232H
TYPE_4232H
-0c | 0 USB-VER-LSB USB-VER-LSB 0 ? ?
-0d | 0 USB-VER-MSB USB-VER-MSB 0 ? ?
+I/O Drive Settings (bytes 0x0C-0x0D)
+-------------------------------------
+Hi-Speed chips store pin drive strength, Schmitt trigger, and slew rate
+in bytes 0x0C and 0x0D. Each group occupies one nibble (4 bits):
+
+ Nibble encoding:
+ bits[1:0] = drive strength: 00=4mA, 01=8mA, 10=12mA, 11=16mA
+ bit[2] = slow slew rate (1=slow, 0=fast)
+ bit[3] = Schmitt trigger input (1=enabled, 0=disabled)
+
+Byte | TYPE_AM TYPE_BM TYPE_2232C TYPE_R TYPE_2232H
TYPE_4232H TYPE_232H TYPE_230X
+0c.3:0 | 0 USB-VER-LSB USB-VER-LSB 0 group0 (AL) group0
(A) group0 (ACBUS) group0 (DBUS)
+0c.7:4 | 0 USB-VER-LSB USB-VER-LSB 0 group1 (AH) group1
(B) 0 group1 (CBUS)
+0d.3:0 | 0 USB-VER-MSB USB-VER-MSB 0 group2 (BL) group2
(C) group1 (ADBUS) 0
+0d.7:4 | 0 USB-VER-MSB USB-VER-MSB 0 group3 (BH) group3
(D) 0 0
+
(On several FT2232H different values were observed -> The value is unused
if change USB version is not set, so it might contain garbage)
@@ -93,8 +106,17 @@ CHIP values:
17 UA UA UA 0 0 0
18 UA UA UA VENDOR CHIP CHIP
+
+FT232H additional fields (bytes 0x18-0x1E):
+ 0x18-0x1C: CBUS functions (cbush0-cbush9), 2 per byte, low/high nibble
+ 0x1E: CHIP type
+
19 UA UA UA VENDOR 0 0
+FT230X additional fields:
+ 0x0b: Invert bitmask (same as TYPE_R)
+ 0x1a-0x20: CBUS functions (cbusx0-cbusx6), 1 per byte
+
1a UA (all)
diff --git a/ftdi_eeprom/example.conf b/ftdi_eeprom/example.conf
index a397dd1..5c951a9 100644
--- a/ftdi_eeprom/example.conf
+++ b/ftdi_eeprom/example.conf
@@ -8,16 +8,17 @@
# Filename #
############
filename=eeprom.new
# Filename of the EE file to be generated. Leave empty to skip file
writing
-#flash_raw=false
# Boolean:
+#flash_raw=false
# Boolean: Write raw eeprom file without building
## Include another config file?
-#include
+#include "other.conf"
############
# IDs #
############
vendor_id="0x0403"
# Integer: Vendor ID. FT245R factory default 0x0403
product_id="0x6001"
# Integer: Product ID. FT245R factory default 0x6001
+#release_number=0x0000
# Integer: Device release number (BCD). -1 = auto
##############################
# Device and Serial Strings #
@@ -31,7 +32,7 @@ use_serial=true
# Boolean: Use the serial number string
############
# Options #
############
-max_power=500
# Integer: Max. power consumption: value * 2 mA(?). Use 0 if
self_powered = true. FT245R factory default 90
+max_power=500
# Integer: Max. power consumption: value * 2 mA. Use 0 if
self_powered = true
self_powered=false
# Boolean: Turn this off for bus powered
remote_wakeup=true
# Boolean: Turn this on for remote wakeup feature
@@ -40,93 +41,151 @@ remote_wakeup=true
# Boolean: Turn this on for remote
wakeup feature
#out_is_isochronous=false
# Boolean: Out Endpoint is Isochronous
#suspend_pull_downs=false
# Boolean: Enable suspend pull downs for lower power
#change_usb_version=false
# Boolean: Change USB Version
-#usb_version=0x00
# Integer: Only used when change_usb_version is enabled
-
-#default_pid=0x6001
# Integer: Default Pid.
-
-#eeprom_type
# Integer: Chip Type / EEPROM Type. Corresponds to
ftdi_chip_type struct in ftdi.h
-#high_current=false
# Boolean: High Current Drive
-
-##Type_R chips
-# Only used on FT-R chips (when omitted, use chip defaults)
-# Possible values correspond to enum ftdi_cbus_func in ftdi.h and strings are
defined in function parse_cbus in ftdi_eeprom/main.c
-# Values in the struct are (see current ftid.h for an up to date list):
-# CBUS_TXDEN = 0, CBUS_PWREN = 1, CBUS_RXLED = 2, CBUS_TXLED = 3, CBUS_TXRXLED
= 4, CBUS_SLEEP = 5, CBUS_CLK48 = 6, CBUS_CLK24 = 7, CBUS_CLK12 = 8, CBUS_CLK6
= 9, CBUS_IOMODE = 0xa, CBUS_BB_WR = 0xb, CBUS_BB_RD = 0xc
-# Strings to be used here are:
-# "TXDEN", "PWREN", "RXLED", "TXLED", "TXRXLED", "SLEEP", "CLK48", "CLK24",
"CLK12", "CLK6", "IOMODE", "BB_WR", "BB_RD"
-cbus0=TXLED
# String parsed to integer: FT245R factory default TXLED
-cbus1=RXLED
# String parsed to integer: FT245R factory default RXLED
-cbus2=TXDEN
# String parsed to integer: FT245R factory default TXDEN
-cbus3=PWREN
# String parsed to integer: FT245R factory default PWREN
-cbus4=SLEEP
# String parsed to integer: FT245R factory default SLEEP
-
-## Only used on FT232H chips (when omitted, use chip defaults)
-# Possible values correspond to enum ftdi_cbush_func in ftdi.h and strings are
defined in function parse_cbush in ftdi_eeprom/main.c.
-# Values are (see current ftid.h for an up to date list):
-# CBUSH_TRISTATE = 0, CBUSH_TXLED = 1, CBUSH_RXLED = 2, CBUSH_TXRXLED = 3,
CBUSH_PWREN = 4, CBUSH_SLEEP = 5, CBUSH_DRIVE_0 = 6, CBUSH_DRIVE1 = 7,
CBUSH_IOMODE = 8, CBUSH_TXDEN = 9, CBUSH_CLK30 = 10, CBUSH_CLK15 = 11,
CBUSH_CLK7_5 = 12
-# Strings to be used in this config file are:
-# "TRISTATE", "TXLED", "RXLED", "TXRXLED", "PWREN", "SLEEP", "DRIVE_0",
"DRIVE1", "IOMODE", "TXDEN", "CLK30", "CLK15", "CLK7_5"
-##Type_232H Chips
-#cbush0=TRISTATE
# String parsed to integer:
-#cbush1=TRISTATE
# String parsed to integer:
-#cbush2=TRISTATE
# String parsed to integer:
-#cbush3=TRISTATE
# String parsed to integer:
-#cbush4=TRISTATE
# String parsed to integer:
-#cbush5=TRISTATE
# String parsed to integer:
-#cbush6=TRISTATE
# String parsed to integer:
-#cbush7=TRISTATE
# String parsed to integer:
-#cbush8=TRISTATE
# String parsed to integer:
-#cbush9=TRISTATE
# String parsed to integer:
-# Group Drive
-# Strings to be used in this config file are:
-# "4MA", "8MA", "12MA", "16MA"
-#group0_drive
# Integer:
-
-# Only used on FT230X chips (when omitted, use chip defaults)
-# Possible values correspond to enum ftdi_cbusx_func in ftdi.h and strings are
defined in function parse_cbusx in ftdi_eeprom/main.c.
-# Values are (see current ftid.h for an up to date list):
-# CBUSX_TRISTATE = 0, CBUSX_TXLED = 1, CBUSX_RXLED = 2, CBUSX_TXRXLED = 3,
CBUSX_PWREN = 4, CBUSX_SLEEP = 5, CBUSX_DRIVE_0 = 6, CBUSX_DRIVE1 = 7,
CBUSX_IOMODE = 8, CBUSX_TXDEN = 9, CBUSX_CLK24 = 10, CBUSX_CLK12 = 11,
CBUSX_CLK6 = 12, CBUSX_BAT_DETECT = 13, CBUSX_BAT_DETECT_NEG = 14,
CBUSX_I2C_TXE = 15, CBUSX_I2C_RXF = 16, CBUSX_VBUS_SENSE = 17, CBUSX_BB_WR =
18, CBUSX_BB_RD = 19, CBUSX_TIME_STAMP = 20, CBUSX_AWAKE = 21
-# Strings to be used in this config file are:
-# "TRISTATE", "TXLED", "RXLED", "TXRXLED", "PWREN", "SLEEP", "DRIVE_0",
"DRIVE1", "IOMODE", "TXDEN", "CLK24", "CLK12", "CLK6", "BAT_DETECT",
"BAT_DETECT_NEG", "I2C_TXE", "I2C_RXF", "VBUS_SENSE", "BB_WR", "BB_RD",
"TIME_STAMP", "AWAKE"
-#cbusx0=TXDEN
# String parsed to integer:
-#cbusx1=RXLED
# String parsed to integer:
-#cbusx2=TXLED
# String parsed to integer:
-#cbusx3=SLEEP
# String parsed to integer:
-
-########
-# Misc #
-########
-
-## Pin Configuration
-#invert_txd
# Boolean: Invert TXD signal
-#invert_rxd
# Boolean: Invert RXD signal
-#invert_rts
# Boolean: Invert RTS signal
-#invert_cts
# Boolean: Invert CTS signal
-#invert_dtr
# Boolean: Invert DTR signal
-#invert_dsr
# Boolean: Invert DSR signal
-#invert_dcd
# Boolean: Invert DCD signal
-#invert_ri
# Boolean: Invert RI signal
-
-## Channel Types and Drivers
-# Possible values are (see current ftid.h (Interface Mode macros) and ftdi.c
"channel_mode" for an up to date list). They are parsed in fucntion
parse_chtype in ftdi_eeprom/main.c.
-# (from ftid.h): UART= 0x0, FIFO = 0x1, OPTO = 0x2, CPU = 0x4, FT1284 = 0x8,
RS485 = 0x10
-# (from ftdi.c): UART = 0x0, FIOF = 0x1, CPU = 0x2, OPTO = 0x3, FT1284 = 0x3
-# Strings to be used in this config file are:
-# "UART", "FIFO", "OPTO", "CPU", "FT1284"
-cha_type=FIFO
# String parsed to integer:
-#chb_type
# String parsed to integer:
-
-cha_vcp=false
# Boolean:
-#chb_vcp=false
# Boolean:
-#chc_vcp=false
# Boolean:
-#chd_vcp=false
# Boolean:
-#cha_rs485
# Boolean:
-#chb_rs485
# Boolean:
-#chc_rs485
# Boolean:
-#chd_rs485
# Boolean:
-
-## Include user defined binary data into the the eeprom at address?
-#user_data_addr
# Integer:
-#user_data_file
# String: Filename of the data file to be used
-
+#usb_version=0x0200
# Integer: Only used when change_usb_version is enabled
+
+#default_pid=0x6001
# Integer: Default PID for fallback device open
+#is_not_pnp=false
# Boolean: Disable Plug and Play
+
+#eeprom_type
# Integer: Chip Type / EEPROM Type. Corresponds to
ftdi_chip_type in ftdi.h
+#high_current=false
# Boolean: High Current Drive (FT232BM/FT245BM)
+
+###########################
+# CBUS Pin Configuration #
+###########################
+
+## FT232R / FT245R (cbus0-cbus4)
+# Possible values (enum ftdi_cbus_func in ftdi.h):
+# "TXDEN", "PWREN", "RXLED", "TXLED", "TXRXLED", "SLEEP",
+# "CLK48", "CLK24", "CLK12", "CLK6", "IOMODE", "BB_WR", "BB_RD"
+cbus0=TXLED
# String: FT245R factory default TXLED
+cbus1=RXLED
# String: FT245R factory default RXLED
+cbus2=TXDEN
# String: FT245R factory default TXDEN
+cbus3=PWREN
# String: FT245R factory default PWREN
+cbus4=SLEEP
# String: FT245R factory default SLEEP
+
+## FT232H (cbush0-cbush9)
+# Possible values (enum ftdi_cbush_func in ftdi.h):
+# "TRISTATE", "TXLED", "RXLED", "TXRXLED", "PWREN", "SLEEP",
+# "DRIVE_0", "DRIVE1", "IOMODE", "TXDEN", "CLK30", "CLK15", "CLK7_5"
+#cbush0=TRISTATE
# String: ACBUS0 function
+#cbush1=TRISTATE
# String: ACBUS1 function
+#cbush2=TRISTATE
# String: ACBUS2 function
+#cbush3=TRISTATE
# String: ACBUS3 function
+#cbush4=TRISTATE
# String: ACBUS4 function
+#cbush5=TRISTATE
# String: ACBUS5 function
+#cbush6=TRISTATE
# String: ACBUS6 function
+#cbush7=TRISTATE
# String: ACBUS7 function
+#cbush8=TRISTATE
# String: ACBUS8 function
+#cbush9=TRISTATE
# String: ACBUS9 function
+
+## FT230X (cbusx0-cbusx3)
+# Possible values (enum ftdi_cbusx_func in ftdi.h):
+# "TRISTATE", "TXLED", "RXLED", "TXRXLED", "PWREN", "SLEEP",
+# "DRIVE_0", "DRIVE1", "IOMODE", "TXDEN", "CLK24", "CLK12", "CLK6",
+# "BAT_DETECT", "BAT_DETECT_NEG", "I2C_TXE", "I2C_RXF", "VBUS_SENSE",
+# "BB_WR", "BB_RD", "TIME_STAMP", "AWAKE"
+#cbusx0=TXDEN
# String: CBUS0 function
+#cbusx1=RXLED
# String: CBUS1 function
+#cbusx2=TXLED
# String: CBUS2 function
+#cbusx3=SLEEP
# String: CBUS3 function
+
+##########################
+# I/O Drive Settings #
+##########################
+# Per-group pin drive strength, Schmitt trigger input, and output slew rate.
+# Stored in EEPROM bytes 0x0C-0x0D. Number of groups depends on chip type:
+#
+# FT232H: 2 groups -- group0 = ACBUS (byte 0x0C[3:0])
+# group1 = ADBUS (byte 0x0D[3:0])
+# FT2232H: 4 groups -- group0 = ADBUS low (byte 0x0C[3:0])
+# group1 = ADBUS high (byte 0x0C[7:4])
+# group2 = BDBUS low (byte 0x0D[3:0])
+# group3 = BDBUS high (byte 0x0D[7:4])
+# FT4232H: 4 groups -- group0 = channel A (byte 0x0C[3:0])
+# group1 = channel B (byte 0x0C[7:4])
+# group2 = channel C (byte 0x0D[3:0])
+# group3 = channel D (byte 0x0D[7:4])
+# FT230X: 2 groups -- group0 = DBUS (byte 0x0C[3:0])
+# group1 = CBUS (byte 0x0C[7:4])
+#
+# Nibble encoding: bits[1:0] = drive, bit[2] = slow_slew, bit[3] = schmitt
+#
+# Drive strength: "4MA", "8MA", "12MA", "16MA"
+# Slew rate: "slow", "fast"
+
+#group0_drive=4MA
# String: Pin drive strength
+#group0_schmitt=false
# Boolean: Schmitt trigger input
+#group0_slew=fast
# String: Output slew rate
+#group1_drive=4MA
# String: Pin drive strength
+#group1_schmitt=false
# Boolean: Schmitt trigger input
+#group1_slew=fast
# String: Output slew rate
+## Groups 2-3: only used on FT2232H and FT4232H (4-group chips)
+#group2_drive=4MA
# String: Pin drive strength
+#group2_schmitt=false
# Boolean: Schmitt trigger input
+#group2_slew=fast
# String: Output slew rate
+#group3_drive=4MA
# String: Pin drive strength
+#group3_schmitt=false
# Boolean: Schmitt trigger input
+#group3_slew=fast
# String: Output slew rate
+
+## Example: I2C on FT232H (8mA + slow slew + Schmitt on ADBUS)
+# group1_drive=8MA
+# group1_schmitt=true
+# group1_slew=slow
+
+#############################
+# Chip-Specific Options #
+#############################
+
+## FT2232H
+#high_current_a=false
# Boolean: High current drive on channel A
+#high_current_b=false
# Boolean: High current drive on channel B
+#suspend_dbus7=false
# Boolean: Use DBUS7 as USB suspend indicator
+
+## FT2232H / FT4232H
+#external_oscillator=false
# Boolean: Use external 12MHz oscillator
+
+## FT232H (FT1284 interface mode settings)
+#power_save=false
# Boolean: Power save mode
+#clock_polarity=false
# Boolean: FT1284 clock idle state (true = idle high)
+#data_order=false
# Boolean: FT1284 data order (true = LSB first)
+#flow_control=false
# Boolean: FT1284 flow control enable
+
+######################
+# Pin Inversion #
+######################
+#invert_txd=false
# Boolean: Invert TXD signal
+#invert_rxd=false
# Boolean: Invert RXD signal
+#invert_rts=false
# Boolean: Invert RTS signal
+#invert_cts=false
# Boolean: Invert CTS signal
+#invert_dtr=false
# Boolean: Invert DTR signal
+#invert_dsr=false
# Boolean: Invert DSR signal
+#invert_dcd=false
# Boolean: Invert DCD signal
+#invert_ri=false
# Boolean: Invert RI signal
+##############################
+# Channel Types and Drivers #
+##############################
+# Channel type -- only used on FT2232H and FT232H (multi-mode chips)
+# Possible values: "UART", "FIFO", "OPTO", "CPU", "FT1284"
+cha_type=FIFO
# String: Channel A type
+#chb_type=UART
# String: Channel B type (FT2232H only)
+
+# VCP driver -- selects between D2XX and VCP driver in Windows
+cha_vcp=false
# Boolean: Channel A uses VCP driver
+#chb_vcp=true
# Boolean: Channel B uses VCP driver
+#chc_vcp=true
# Boolean: Channel C uses VCP driver (FT4232H only)
+#chd_vcp=true
# Boolean: Channel D uses VCP driver (FT4232H only)
+
+# RS485 mode -- only used on FT4232H
+#cha_rs485=false
# Boolean: Channel A RS485 mode
+#chb_rs485=false
# Boolean: Channel B RS485 mode
+#chc_rs485=false
# Boolean: Channel C RS485 mode
+#chd_rs485=false
# Boolean: Channel D RS485 mode
+
+#######################
+# User Data Area #
+#######################
+# Embed arbitrary binary data into the EEPROM at a given address.
+# Ensure user_data_addr does not overlap with string descriptors.
+#user_data_addr=0x18
# Integer: Start address for user data
+#user_data_file="userdata.bin"
# String: Filename of the binary data to embed
--
2.51.0
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx
|