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; | ||||
| } | ||||
| 
 | ||||
| void HardwareSerial::setRxInvert(bool invert) | ||||
| { | ||||
|     uartSetRxInvert(_uart, invert); | ||||
| } | ||||
|  | ||||
| @ -100,6 +100,8 @@ public: | ||||
| 
 | ||||
|     size_t setRxBufferSize(size_t); | ||||
|     void setDebugOutput(bool); | ||||
|      | ||||
|     void setRxInvert(bool); | ||||
| 
 | ||||
| protected: | ||||
|     int _uart_nr; | ||||
|  | ||||
| @ -266,6 +266,17 @@ size_t uartResizeRxBuffer(uart_t * uart, size_t 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) | ||||
| { | ||||
|     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); | ||||
| 
 | ||||
| void uartSetRxInvert(uart_t* uart, bool invert); | ||||
| 
 | ||||
| void uartSetDebug(uart_t* uart); | ||||
| int uartGetDebug(); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user