I need to use FT232H to control an I2C bus, on Windows 10, in a C++ application.
I'm using the AdaFruit FT232H Breakout (Product ID: 2264) on a Windows 10 PC.
Using the latest FTDI DLL.
I've got a Qwiic sensor board connected to the breakout board's Qwiic connector.
The sensor board and cable work fine with a Microchip MCP2221 USB-I2C adapter so they're AOK.
But I can't access the I2C sensor using the FT232H - library goes into an infinite loop.
I understand I should use the FTDI MPSSE library.
On your forum I found you have released LibMPSSE 1.0.3 to your website:
https://ftdichip.com/software-examples/mpsse-projects/I downloaded the following and incorporated it into my project:
https://ftdichip.com/wp-content/uploads/2022/07/LibMPSSE_1.0.3.zipUnfortunately, inside I2C_InitChannel, FTDI's libMPSEE software goes into an infinite loop in FT_InitChannel.
The call stack is attached.
Any idea what is going on???
Is there an updated version of the library with bugfixes?
Thanks in advance for any help,
Best Regards, Dave
PS: Here's the program output:
Hello World!
ftd2xx.dll loaded OK!
Found at least one channel on FT232H
Information on channel number 0:
Flags=0x2
Type=0x8
ID=0x4036014
LocId=0x22
SerialNumber=FTP6SN3W
Description=FT232H
ftHandle=0x0 (0 unless channel is open)
Version Check
libmpsse: 00010001
libftd2xx: 00030216
handle=0xc586c8 status=0
>>> Goes into infinite loop inside I2C_InitChannel...
PS: With an older version of the library, the channel initialized but I could not access
the I2C device (it always reported FT_DEVICE_NOT_FOUND).