diff --git a/src/uart/emsuart_esp32.cpp b/src/uart/emsuart_esp32.cpp index b14fef8f7..4ce8b405e 100644 --- a/src/uart/emsuart_esp32.cpp +++ b/src/uart/emsuart_esp32.cpp @@ -39,7 +39,7 @@ uint32_t inverse_mask = 0; // receive task, wait for break and call incoming_telegram void EMSuart::uart_event_task(void * pvParameters) { uart_event_t event; - uint8_t telegram[UART_FIFO_LEN + 1]; // same size as in driver_install + uint8_t telegram[UART_HW_FIFO_LEN(EMSUART_NUM) + 1]; // same size as in driver_install uint8_t length = 0; while (1) { @@ -92,7 +92,12 @@ void EMSuart::start(const uint8_t tx_mode, const uint8_t rx_gpio, const uint8_t uart_param_config(EMSUART_NUM, &uart_config); uart_set_pin(EMSUART_NUM, tx_gpio, rx_gpio, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE); uart_set_line_inverse(EMSUART_NUM, inverse_mask); - uart_driver_install(EMSUART_NUM, UART_FIFO_LEN + 1, 0, UART_FIFO_LEN + 3, &uart_queue, 0); // buffer must be > fifo, queue can hold data+break+overflow message + uart_driver_install(EMSUART_NUM, + UART_HW_FIFO_LEN(EMSUART_NUM) + 1, + 0, + UART_HW_FIFO_LEN(EMSUART_NUM) + 3, + &uart_queue, + 0); // buffer must be > fifo, queue can hold data+break+overflow message uart_set_rx_full_threshold(EMSUART_NUM, 1); uart_set_rx_timeout(EMSUART_NUM, 0); // disable