void config_serialport(TS5_SERIALPORT *portptr)
{
#ifdef TS5_WINDOWS
DCB dcb;
if (!GetCommState(*portptr, &dcb)) {
ts5_fatal(
"%s: GetCommState failed with error code %d\n", GetLastError());
}
dcb.BaudRate = 115200;
dcb.ByteSize = (unsigned char) 8;
dcb.Parity = 0;
dcb.StopBits = 0;
dcb.fBinary = 1;
if (!SetCommState(*portptr, &dcb)) {
ts5_fatal(
"%s: SetCommState failed with error code %d\n", GetLastError());
}
COMMTIMEOUTS ct;
ct.ReadIntervalTimeout = MAXDWORD;
ct.ReadTotalTimeoutMultiplier = 0;
ct.ReadTotalTimeoutConstant = 0;
ct.WriteTotalTimeoutMultiplier = 0;
ct.WriteTotalTimeoutConstant = 5000;
if (!SetCommTimeouts(*portptr, &ct)) {
ts5_fatal(
"%s: SetCommTimeouts failed with error code %d\n", GetLastError());
}
if (!SetupComm(*portptr, 2048, 2048)) {
ts5_fatal(
"%s: SetupComm failed with error code %d\n", GetLastError());
}
#else
TS5_SERIALPORT *tmp;
tmp = portptr;
#endif
}