void DMXThread::run()
{
    while (m_running == true)
    {
        QThread::msleep(20);

        if(m_dmxConnected == false)
        {
            continue;
        }

        unsigned char startCode = 0;
        ULONG bytesWritten;

        FT_W32_EscapeCommFunction(m_ftHandle, CLRRTS);
        FT_W32_SetCommBreak(m_ftHandle);
        FT_W32_ClearCommBreak(m_ftHandle);
        FT_W32_WriteFile(m_ftHandle, &startCode, 1, &bytesWritten, NULL);
        FT_W32_WriteFile(m_ftHandle, m_dmxBuffer, 512, &bytesWritten, NULL);
    }
}
Example #2
0
//---------------------------------------------------------------------------
void __fastcall TDmxSender::Execute()
{
    int i;
    ULONG bytesWritten;

    // set RS485 for sendin
    FT_W32_EscapeCommFunction(ftHandle,CLRRTS);

    while (!Terminated) {

        FT_W32_SetCommBreak(ftHandle);
        FT_W32_ClearCommBreak(ftHandle);


        FT_W32_WriteFile(ftHandle, &StartCode, 1, &bytesWritten, NULL);
        FT_W32_WriteFile(ftHandle, DMXData, 512, &bytesWritten, NULL);

        Sleep(inter_frame_delay);
        NbFramesSent++;
    }


}