FTDI Community

General Category => Test and Review Area => Topic started by: FTDI Community on March 04, 2021, 10:46:48 AM

Title: LibMPSSE Beta
Post by: FTDI Community on March 04, 2021, 10:46:48 AM
Hi Everyone,

We have a beta version of libMPSSE 1.0.2 which includes various improvements as well as a Linux 64-bit version.

This also adds support for our latest Power Delivery ICs (FT23xHP, FT223xHP, FT423xHP).

Please contact support1@ftdichip.com (support1@ftdichip.com) for this version before we release it to our website.

Let us know if you have any feedback please.

Best Regards,
FTDI Community
Title: Re: LibMPSSE Beta
Post by: FTDI Community on August 16, 2022, 10:48:47 AM
LibMPSSE 1.0.3 has now been released to the website:

https://ftdichip.com/software-examples/mpsse-projects/

Note v1.0.3 has a known bug which will be fixed in a future version.

The code is not sending I2C ACK after 1st byte read.

Please check this bit of code in particular:

static FT_STATUS I2C_Read8bitsAndGiveAck(FT_HANDLE handle, uint8 *data, bool ack)
{
    FT_STATUS status = FT_OTHER_ERROR;
    uint8 buffer[20], inBuffer[5];
    uint32 noOfBytes = 0;
    DWORD noOfBytesTransferred;
    FN_ENTER;

    /*set direction*/
    buffer[noOfBytes++] = MPSSE_CMD_SET_DATA_BITS_LOWBYTE;/* MPSSE command */
    buffer[noOfBytes++] = VALUE_SCLLOW_SDALOW; /*Value*/
    buffer[noOfBytes++] = DIRECTION_SCLOUT_SDAIN; /*Direction*/
    /*Command to read 8 bits*/
    buffer[noOfBytes++] = MPSSE_CMD_DATA_IN_BITS_POS_EDGE;
    buffer[noOfBytes++] = DATA_SIZE_8BITS;/*0x00 = 1bit; 0x07 = 8bits*/
    /*Command MPSSE to send data to PC immediately */
    buffer[noOfBytes++] = MPSSE_CMD_SEND_IMMEDIATE;
    /* Fix introduced to solve a glitch issue */
    buffer[noOfBytes++] = MPSSE_CMD_SET_DATA_BITS_LOWBYTE; 
    buffer[noOfBytes++] = VALUE_SCLLOW_SDALOW ;
    buffer[noOfBytes++] = DIRECTION_SCLOUT_SDAIN;                                                                                                     

    /* Burn off one I2C bit time */
    buffer[noOfBytes++] = MPSSE_CMD_DATA_OUT_BITS_NEG_EDGE;
    buffer[noOfBytes++] = 0; /*0x00 = 1bit; 0x07 = 8bits*/ 
    buffer[noOfBytes++] = ack ? SEND_ACK : SEND_NACK;/*Only MSB is sent*/

SDA has been left as input:

    buffer[noOfBytes++] = DIRECTION_SCLOUT_SDAIN;   

But this should actually be output:

    buffer[noOfBytes++] = DIRECTION_SCLOUT_SDAOUT; 

Best Regards,
FTDI Community
Title: Re: LibMPSSE Beta
Post by: alexh on April 25, 2023, 04:52:19 PM
Any updates on when a new version might be out with the fix already in place?

Thanks!
Title: Re: LibMPSSE Beta
Post by: FTDI Community on April 27, 2023, 09:42:15 AM
Hello,

Unfortunately there is no update from our R&D team due to other ongoing projects and priorities.

The source code is provided so should be easy for you to rebuild.

However if you send us an email we can send you a pre-release version that we have build containing this fix.

Thanks,
FTDI Community
Title: Re: LibMPSSE Beta
Post by: bryantsorensen on August 01, 2023, 10:07:36 PM
It appears the change also needs to happen in I2C_FastRead(...)
Title: Re: LibMPSSE Beta
Post by: FTDI Community on December 15, 2023, 11:17:05 AM
Hello All,

We have a beta version of libMPSSE 1.0.4 which fixes all known issues.

Please contact support1@ftdichip.com (support1@ftdichip.com) for this version before we release it to our website.

Let us know if you have any feedback please.

Best Regards,
FTDI Community
Title: Re: LibMPSSE Beta
Post by: FTDI Community on February 29, 2024, 02:13:46 PM
Hello All,

LibMPSSE 1.0.5 fixes all known issues and is available on our website:

https://ftdichip.com/software-examples/mpsse-projects/

Best Regards,
FTDI Community