Skip to content

Commit 8daa3e1

Browse files
authored
setPins() shouldn't detach pin = -1
1 parent c3df481 commit 8daa3e1

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

cores/esp32/HardwareSerial.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -581,10 +581,10 @@ bool HardwareSerial::setPins(int8_t rxPin, int8_t txPin, int8_t ctsPin, int8_t r
581581
bool retCode = uartSetPins(_uart_nr, rxPin, txPin, ctsPin, rtsPin);
582582
if (retCode) {
583583
// detach previous attached UART pins if not set as same as before
584-
if (_rxPin >= 0 && _rxPin != rxPin) uartDetachPins(_uart_nr, _rxPin, -1, -1, -1);
585-
if (_txPin >= 0 && _txPin != txPin) uartDetachPins(_uart_nr, -1, _txPin, -1, -1);
586-
if (_ctsPin >= 0 && _ctsPin != ctsPin) uartDetachPins(_uart_nr, -1, -1, _ctsPin, -1);
587-
if (_rtsPin >= 0 && _rtsPin != rtsPin) uartDetachPins(_uart_nr, -1, -1, -1, _rtsPin);
584+
if (_rxPin >= 0 && rxPin >= 0 &&_rxPin != rxPin) uartDetachPins(_uart_nr, _rxPin, -1, -1, -1);
585+
if (_txPin >= 0 && txPin >= 0 && _txPin != txPin) uartDetachPins(_uart_nr, -1, _txPin, -1, -1);
586+
if (_ctsPin >= 0 && ctsPin >= 0 && _ctsPin != ctsPin) uartDetachPins(_uart_nr, -1, -1, _ctsPin, -1);
587+
if (_rtsPin >= 0 && rtsPin >= 0 &&_rtsPin != rtsPin) uartDetachPins(_uart_nr, -1, -1, -1, _rtsPin);
588588
// set new pins for a future end() or a setPins()
589589
_txPin = txPin >= 0 ? txPin : _txPin;
590590
_rxPin = rxPin >= 0 ? rxPin : _rxPin;

0 commit comments

Comments
 (0)