Added facility to invert the polarity of input UART bits. (#4200)
This commit is contained in:
parent
d03f8f1277
commit
8fcc914853
@ -184,3 +184,8 @@ HardwareSerial::operator bool() const
|
|||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HardwareSerial::setRxInvert(bool invert)
|
||||||
|
{
|
||||||
|
uartSetRxInvert(_uart, invert);
|
||||||
|
}
|
||||||
|
@ -101,6 +101,8 @@ public:
|
|||||||
size_t setRxBufferSize(size_t);
|
size_t setRxBufferSize(size_t);
|
||||||
void setDebugOutput(bool);
|
void setDebugOutput(bool);
|
||||||
|
|
||||||
|
void setRxInvert(bool);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int _uart_nr;
|
int _uart_nr;
|
||||||
uart_t* _uart;
|
uart_t* _uart;
|
||||||
|
@ -266,6 +266,17 @@ size_t uartResizeRxBuffer(uart_t * uart, size_t new_size) {
|
|||||||
return new_size;
|
return new_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uartSetRxInvert(uart_t* uart, bool invert)
|
||||||
|
{
|
||||||
|
if (uart == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (invert)
|
||||||
|
uart->dev->conf0.rxd_inv = 1;
|
||||||
|
else
|
||||||
|
uart->dev->conf0.rxd_inv = 0;
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t uartAvailable(uart_t* uart)
|
uint32_t uartAvailable(uart_t* uart)
|
||||||
{
|
{
|
||||||
if(uart == NULL || uart->queue == NULL) {
|
if(uart == NULL || uart->queue == NULL) {
|
||||||
|
@ -70,6 +70,8 @@ uint32_t uartGetBaudRate(uart_t* uart);
|
|||||||
|
|
||||||
size_t uartResizeRxBuffer(uart_t* uart, size_t new_size);
|
size_t uartResizeRxBuffer(uart_t* uart, size_t new_size);
|
||||||
|
|
||||||
|
void uartSetRxInvert(uart_t* uart, bool invert);
|
||||||
|
|
||||||
void uartSetDebug(uart_t* uart);
|
void uartSetDebug(uart_t* uart);
|
||||||
int uartGetDebug();
|
int uartGetDebug();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user