Skip to content

Commit 108ec44

Browse files
author
Veijo Pesonen
committed
ESP8266: fixes UART HW flow control enabling sequence
1 parent 71e5321 commit 108ec44

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

components/wifi/esp8266-driver/ESP8266/ESP8266.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,13 +188,15 @@ bool ESP8266::start_uart_hw_flow_ctrl(void)
188188

189189
#if DEVICE_SERIAL_FC
190190
if (_serial_rts != NC && _serial_cts != NC) {
191-
// Start board's flow control
192-
_serial.set_flow_control(SerialBase::RTSCTS, _serial_rts, _serial_cts);
193-
194191
// Start ESP8266's flow control
195192
done = _parser.send("AT+UART_CUR=%u,8,1,0,3", ESP8266_DEFAULT_BAUD_RATE)
196193
&& _parser.recv("OK\n");
197194

195+
if (done) {
196+
// Start board's flow control
197+
_serial.set_flow_control(SerialBase::RTSCTS, _serial_rts, _serial_cts);
198+
}
199+
198200
} else if (_serial_rts != NC) {
199201
_serial.set_flow_control(SerialBase::RTS, _serial_rts, NC);
200202

@@ -207,7 +209,9 @@ bool ESP8266::start_uart_hw_flow_ctrl(void)
207209
done = _parser.send("AT+UART_CUR=%u,8,1,0,1", ESP8266_DEFAULT_BAUD_RATE)
208210
&& _parser.recv("OK\n");
209211

210-
_serial.set_flow_control(SerialBase::CTS, NC, _serial_cts);
212+
if (done) {
213+
_serial.set_flow_control(SerialBase::CTS, NC, _serial_cts);
214+
}
211215
}
212216
#else
213217
if (_serial_rts != NC || _serial_cts != NC) {

0 commit comments

Comments
 (0)