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); } }
//--------------------------------------------------------------------------- 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++; } }