FTDI Timing Performance Issue with DMX PRO (4.12.1)
Posted: Thu Aug 15, 2019 1:19 pm
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\
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.
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;
}
}
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.