FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  


Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support

New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Messages - FTDI Community

Pages: [1] 2 3 ... 58
HI Petrov,

We are not sure when the next update for the library will be released, however, as the source code is available on the website, customers can make their own changes and rebuild the library for their own use.

Customers can also develop their own code using D2XX direct driver. You can have a look at Command Processor For MPSSE and MCU Host Bus Emulation Modes this will allow you to not rely on LibMPSSE.

Best Regards
FTDI Community 

Complete our customer survey for your chance to win a Holy Stone HS175D drone worth £190!

Your opinion is extremely important to us, and we rely on customer feedback in order to continuously make improvements and ensure that we are addressing any issues. The responses we receive from our Annual Customer Survey are pivotal as part of this process. Plus, every entrant into the survey is entered into our prize draw, and one lucky winner will be awarded with a Holy Stone HS175D drone worth £190!*

Please follow this link to the Survey:  FTDI Survey

*Holystone and their respective logos are trademarks or registered trademarks of Holy Stone.  Holy Stone is not a participant in or sponsor of this promotion.

The promotion runs until 30th of September 2023.

Best Regards,
FTDI Community

Discussion - Software / Re: FT2232H
« on: August 15, 2023, 04:20:12 PM »

When using LibMPSSE, GPIOL[0:3] can only be used as SPI chip selects.
When using LibMPSSE, there is no way to control GPIOL[0:3] as GPIO.
LibMPSSE demonstrates controlling the higher line bytes (GPIOH) while using SPI on the lower line bytes using the following functions:
If you want to control some of the unused lower line bytes on the same ADBUS as SPI then see AN_411 FTx232H MPSSE I2C Master Example in C which demonstrates GPIO usage with MPSSE using D2xx direct (not using LibMPSSE).
This could be used as a base to understand using both I2C/GPIO in the same code.

Best Regards,
FTDI Community

Discussion - Software / Re: ft2232h spi 30Mhz
« on: August 15, 2023, 04:16:01 PM »

According to LibMPSSE-SPI User Guide when using our MPSSE library it's possible to run at 30Mhz:

uint32 ClockRate
This parameter takes the value of the clock rate of the SPI bus in hertz. Valid range for ClockRate is 0 to 30MHz.

So you can maybe try with our library which has source code provided for reference.

These also may be useful to you:

AN_114 Interfacing FT2232H Hi-Speed Devices To SPI Bus
AN_180 FT232H MPSSE Example – USB Current Meter using the SPI Interface

Other software examples exist:


Also please also note, SPI modes 1 and 3 are not supported with our MPSSE engine.
So please check that your SPI device doesn’t work with these modes.

We also have a support office in Taiwan.

Best Regards,
FTDI Community


When FT_SetTimeouts() is not used, standard d2xx read and write API's would not return as they are blocking calls.

When FT_SetTimeouts() is set to say 5 seconds, that would give plenty time for Read and Write API calls and it would return if there were any issues with the Read or Write.

Best Regards,
FTDI Community


When using our products in electrically noisy environments, you can try in section 5.1 Adjusting the Reset Pipe Retry Count of AN_107 Advanced Driver Options.

You can also edit the registry, opposed from editing the INF files which breaks driver signing.

Note that registry entry may need to be created:
The default value is 50 so you can try increasing to see if it has an effect.
This can stop USB disconnects in electrically noisy environments.

The above might be something additional to try to see if it helps, otherwise modify your hardware to cope in electrically noisy environments might be the best way forward and check if you are using a USB certified and shielded cable.

Best Regards,
FTDI Community


Thanks for the information. I will pass this on to the developers and raise a bug. It will be fixed in the next release of the library. 

Best regards

FTDI Community

Hi Scott,

The only vendor class devices supported by VNC2 are FTDI vendor class devices.

You should have a look at the FT90x series that is made by our sister company Bridgetek. FT90x is a programmable host controller, like VNC2, however it is open source so you can create your own software.

Best Regards
FTDI Community

Discussion - Software / Re: FT2232H
« on: July 25, 2023, 04:34:45 PM »

You can use the MPSSE Engine to control those pins as GPIO.

See AN_108 Command Processor For MPSSE and MCU Host Bus Emulation Modes for more details.

Alternatively you can use bit bang mode but you will be limited to 8 pins on the D bus and 4 pins on the ACBUS (9, 8, 6 and 5).
See the following documents for more information about bit bang mode:

AN232R-01 Bit Bang Modes for the FT232R and FT245R
AN_373 Bit-Bang Modes for the FT-X Series

These are for a different products but same principles apply.

Best Regards,
FTDI Community

Hi Yvonne,

Q: May I ask what's the difference between the PORT_STATE_CONNECTED and PORT_STATE_ENUMERATED?

Before the USB starts to enter the enumeration process.

USB successfully completed the enumeration process.

If the USB enumeration fails, it means that the USB driver cannot operate successfully.

Q:  However, I used the example code "USBHostHID2" to try to get the same function previously.
In this code, I used the same enumeration function "usbhost_connect_state" as mentioned before.
However, I can only scan data at the very first plugin for the HID device. When I remove the HID device and re-plugin another HID device, the enumeration can fail all the time.

 Sorry, this is the restriction of this sample code.

Q: could the state after doing the usbhost_connect_state function always stay in PORT_STATE_CONNECTED or PORT_STATE_DISCONNECTED?
No, it will change according to the actual state of the USB device.

Best Regards

FTDI Community


There are two ftd2xx.lib files for x86 and x64.

The static .lib doesn't rely on a .dll.

Again you can reference the most recent .lib and .dll for D2xx in the driver files.

TN_153 Instructions on Including the D2XX Driver in a Visual Studio Express 2013 Project should help you too.

Best Regards,
FTDI Community


It depends if you are building a static or dynamic application.

.lib is a static library which is linked into an .exe at compile time. Only the .lib is included in the folder.
.dll is a dynamic library that is loaded at runtime. That includes a .lib for the symbols.

Best Regards,
FTDI Community


You can also reference the latest version of ftd2xx.h in the latest driver files.

Best Regards,
FTDI Community

Hi Yvonne,

I did the same experiment, but I could detect the second HID device successfully.
I've checked our source code and there is nowhere that is actively calling the changeInEnumeration function.
At present, I can only suspect that the possible reason is that there is something wrong with the program you are running, which leads to such strange things happening.

Could you provide us more details, so we can clarify the problem?

Best regards

FTDI Community


What version of LibFT4222 are you using?

if you are using an old version of the library, then there are such dependencies. But if you are using the latest version, there should be no dependencies.

Best regards

FTDI Community

Pages: [1] 2 3 ... 58