Page 1 of 1

FTDI Timing Performance Issue with DMX PRO (4.12.1)

Posted: Thu Aug 15, 2019 1:19 pm
by covsh
Hello!

I'm a developer a Enttec DMX PRO clone (STM32 based with RDM).
With in QLC+ 4.12.0 a have a FTDI frame rate (USB to widget) according with Output frame settings.
Testing with QLC+ 4.12.1 I saw a very low FTDI frame rate (10-12 messages per seconds). The Output frame rate setting almost no effect to FTDI performance.

Comparing source of QLC+ 4.12.0 with QLC+ 4.12.1 I found this in plugins\dmxusb\src\

Code: Select all

bool FTD2XXInterface::setLineProperties()
{
    FT_STATUS status = FT_SetDataCharacteristics(m_handle, FT_BITS_8, FT_STOP_BITS_2, FT_PARITY_NONE);
    if (status != FT_OK)
    {
        qWarning() << Q_FUNC_INFO << name() << status;
        return false;
    }
    else
    {
        FT_SetTimeouts(m_handle, 100, 1);
        return true;
    }
}
FT_SetTimeouts(m_handle, 100, 1) looks strange.
1 - is Write Timeout and I think its very small.
I substitute this value on fly with x32dbg and have good frame rate with value 16 and more.
In QLC+ 4.12.0 there is no FT_SetTimeouts functions, so default value is used.

Why do you choose 1 for Write Timeout?

Also, according for official Enttec examples, they choose 120/100 for Read/Write timeouts.

Re: FTDI Timing Performance Issue with DMX PRO (4.12.1)

Posted: Thu Aug 15, 2019 7:23 pm
by mcallegari

Re: FTDI Timing Performance Issue with DMX PRO (4.12.1)

Posted: Fri Aug 16, 2019 10:42 am
by covsh
Hello,

Interesting post, but DXM PRO base on FT245 chip, instead FT232 in link below
I my opinion it does not matter to this problem.
mcallegari wrote: Thu Aug 15, 2019 7:23 pm Please have a look at this:
https://github.com/mcallegari/qlcplus/pull/1182
Configuring as

Code: Select all

FT_SetTimeouts(m_handle, 100, 0); 
alse solve my rate problem.

Can anyone measure DMX PRO message rate (USB to widget) on 4.12.1 version?