Skip to content

Commit efa35a8

Browse files
committed
Simple i/f to turn on inverted logic on UART0.
1 parent 916eb89 commit efa35a8

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

cores/esp8266/HardwareSerial.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,14 @@ HardwareSerial::HardwareSerial(int uart_nr)
3636
: _uart_nr(uart_nr), _rx_size(256)
3737
{}
3838

39-
void HardwareSerial::begin(unsigned long baud, SerialConfig config, SerialMode mode, uint8_t tx_pin)
39+
void HardwareSerial::begin(unsigned long baud, SerialConfig config, SerialMode mode, uint8_t tx_pin, bool invert)
4040
{
4141
end();
4242
_uart = uart_init(_uart_nr, baud, (int) config, (int) mode, tx_pin, _rx_size);
43+
if (0 == _uart_nr && invert)
44+
{
45+
U0C0 |= BIT(UCDTRI) | BIT(UCRTSI) | BIT(UCTXI) | BIT(UCDSRI) | BIT(UCCTSI) | BIT(UCRXI);
46+
}
4347
#if defined(DEBUG_ESP_PORT) && !defined(NDEBUG)
4448
if (static_cast<void*>(this) == static_cast<void*>(&DEBUG_ESP_PORT))
4549
{

cores/esp8266/HardwareSerial.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class HardwareSerial: public Stream
8484
begin(baud, config, mode, 1);
8585
}
8686

87-
void begin(unsigned long baud, SerialConfig config, SerialMode mode, uint8_t tx_pin);
87+
void begin(unsigned long baud, SerialConfig config, SerialMode mode, uint8_t tx_pin, bool invert=false);
8888

8989
void end();
9090

0 commit comments

Comments
 (0)