mirror of
https://github.com/wjwwood/serial.git
synced 2026-01-23 04:04:54 +08:00
Merge 2143e8d4751e522bc32ebcf4cecf249949325c28 into a0a586cf5b75e4ca39c5a49d229c9f4b46403d7f
This commit is contained in:
commit
0920ebb2e5
@ -240,6 +240,17 @@ Serial::SerialImpl::reconfigurePort ()
|
|||||||
if(!SetCommState(fd_, &dcbSerialParams)){
|
if(!SetCommState(fd_, &dcbSerialParams)){
|
||||||
THROW (IOException, "Error setting serial port settings.");
|
THROW (IOException, "Error setting serial port settings.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Setup timeouts
|
||||||
|
COMMTIMEOUTS timeouts = {0};
|
||||||
|
timeouts.ReadIntervalTimeout = timeout_.inter_byte_timeout;
|
||||||
|
timeouts.ReadTotalTimeoutConstant = timeout_.read_timeout_constant;
|
||||||
|
timeouts.ReadTotalTimeoutMultiplier = timeout_.read_timeout_multiplier;
|
||||||
|
timeouts.WriteTotalTimeoutConstant = timeout_.write_timeout_constant;
|
||||||
|
timeouts.WriteTotalTimeoutMultiplier = timeout_.write_timeout_multiplier;
|
||||||
|
if (!SetCommTimeouts(fd_, &timeouts)) {
|
||||||
|
THROW (IOException, "Error setting timeouts.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -312,14 +323,8 @@ void
|
|||||||
Serial::SerialImpl::setTimeout (serial::Timeout &timeout)
|
Serial::SerialImpl::setTimeout (serial::Timeout &timeout)
|
||||||
{
|
{
|
||||||
timeout_ = timeout;
|
timeout_ = timeout;
|
||||||
COMMTIMEOUTS timeouts = {0};
|
if (is_open_) {
|
||||||
timeouts.ReadIntervalTimeout = timeout_.inter_byte_timeout;
|
reconfigurePort ();
|
||||||
timeouts.ReadTotalTimeoutConstant = timeout_.read_timeout_constant;
|
|
||||||
timeouts.ReadTotalTimeoutMultiplier = timeout_.read_timeout_multiplier;
|
|
||||||
timeouts.WriteTotalTimeoutConstant = timeout_.write_timeout_constant;
|
|
||||||
timeouts.WriteTotalTimeoutMultiplier = timeout_.write_timeout_multiplier;
|
|
||||||
if(!SetCommTimeouts(fd_, &timeouts)){
|
|
||||||
THROW (IOException, "Error setting timeouts.");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user