1
0
mirror of https://github.com/wjwwood/serial.git synced 2026-01-23 04:04:54 +08:00

Problem: hardware flow control uses RTS_CONTROL_TOGGLE

RTS_CONTROL_HANDSHAKE raises RTS when there is space in the input
buffer; RTS_CONTROL_TOGGLE only raises RTS when bytes are available for
transmission.

Also replace numeric constants with symbolic constants.
This commit is contained in:
Jose Diez 2016-07-01 10:13:14 +01:00
parent 2d416f1560
commit cd3e5ebb62

View File

@ -239,19 +239,19 @@ Serial::SerialImpl::reconfigurePort ()
// setup flowcontrol // setup flowcontrol
if (flowcontrol_ == flowcontrol_none) { if (flowcontrol_ == flowcontrol_none) {
dcbSerialParams.fOutxCtsFlow = false; dcbSerialParams.fOutxCtsFlow = false;
dcbSerialParams.fRtsControl = 0x00; dcbSerialParams.fRtsControl = RTS_CONTROL_DISABLE;
dcbSerialParams.fOutX = false; dcbSerialParams.fOutX = false;
dcbSerialParams.fInX = false; dcbSerialParams.fInX = false;
} }
if (flowcontrol_ == flowcontrol_software) { if (flowcontrol_ == flowcontrol_software) {
dcbSerialParams.fOutxCtsFlow = false; dcbSerialParams.fOutxCtsFlow = false;
dcbSerialParams.fRtsControl = 0x00; dcbSerialParams.fRtsControl = RTS_CONTROL_DISABLE;
dcbSerialParams.fOutX = true; dcbSerialParams.fOutX = true;
dcbSerialParams.fInX = true; dcbSerialParams.fInX = true;
} }
if (flowcontrol_ == flowcontrol_hardware) { if (flowcontrol_ == flowcontrol_hardware) {
dcbSerialParams.fOutxCtsFlow = true; dcbSerialParams.fOutxCtsFlow = true;
dcbSerialParams.fRtsControl = 0x03; dcbSerialParams.fRtsControl = RTS_CONTROL_HANDSHAKE;
dcbSerialParams.fOutX = false; dcbSerialParams.fOutX = false;
dcbSerialParams.fInX = false; dcbSerialParams.fInX = false;
} }