From: deuce Date: Tue, 6 May 2014 18:28:53 +0000 (+0000) Subject: Initialize the COM port defaults before opening to avoid a very short X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=ee35781dc829c90d7c32a1b4c21ec8ee96809d82;p=freetel-svn-tracking.git Initialize the COM port defaults before opening to avoid a very short RTS/DTR transient on open. git-svn-id: https://svn.code.sf.net/p/freetel/code@1592 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2/src/fdmdv2_main.cpp b/fdmdv2/src/fdmdv2_main.cpp index ebb4c646..ba157fd3 100644 --- a/fdmdv2/src/fdmdv2_main.cpp +++ b/fdmdv2/src/fdmdv2_main.cpp @@ -580,9 +580,20 @@ bool MainFrame::openComPort(const char *name) closeComPort(); #ifdef _WIN32 { + COMMCONFIG CC; + DWORD CCsize=sizeof(CC); COMMTIMEOUTS timeouts; DCB dcb; + if(GetDefaultCommConfigA(name, &CC, &CCsize)) { + CC.dcb.fOutxCtsFlow = FALSE; + CC.dcb.fOutxDsrFlow = FALSE; + CC.dcb.fDtrControl = DTR_CONTROL_DISABLE; + CC.dcb.fDsrSensitivity = FALSE; + CC.dcb.fRtsControl = RTS_CONTROL_DISABLE; + SetDefaultCommConfigA(name, &CC, CCsize); + } + if((com_handle=CreateFileA(name ,GENERIC_READ|GENERIC_WRITE /* Access */ ,0 /* Share mode */