Skip to content

Support for multiple FTDI devices connected to the same computer.

Karol Krizka requested to merge kk_multiftdi into devel

Adds ability to identify an FTDI device in case multiple ones with same vendor:product ID's are connected.

Selecting FTDI Device

The MPSSEChip class now takes two extra string arguments in the constructor: description and serial. If not empty, they are passed to libmpsse's Open to determine which device to use.

Setting Serial Number

The serial number (and product/manufacturer description) can be written using the new ftdi_setidentity with the following syntax:

[kkrizka@triplerock build]$ ./bin/ftdi_setidentity 
[ERROR]   : Extra positional arguments.
Usage: ./bin/ftdi_setidentity vendor:product manufacturer/product/serial value

List of options:
 -d, --debug       Enable more verbose printout, use multiple for increased debug level

Only a single device with the given vendor:product can be connected at the time of this command. Otherwise the first device will be used.

Example usage:

[kkrizka@triplerock build]$ ./bin/ftdi_setidentity 0403:6014 serial d34d
FIXME: Build FT232H specific EEPROM settings
[kkrizka@triplerock build]$ lsusb -v -d 0403:6014

Bus 003 Device 002: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
<<<snip>>>
  iSerial                 3 d34d
<<<snip>>>

Tool Organization

All tools inside the src/tools directory are now explicitely defines in the CMakeLists.txt. This is to be more precise in listing dependencies and flexibility in enabling tools themselves. For example, the ftdi_setidentify program is only added if libftdi1 is present.

Edited by Karol Krizka

Merge request reports