#ifndef UART_HANDLER_H #define UART_HANDLER_H #include "freertos/idf_additions.h" #include "message_parser.h" #include #include #define MASTER_UART UART_NUM_1 #define TXD_PIN (GPIO_NUM_2) #define RXD_PIN (GPIO_NUM_3) #define BUF_SIZE (256) typedef struct { uint8_t msgid; size_t payload_len; uint8_t data[MAX_MESSAGE_PAYLOAD_LENGTH]; } ParsedMessage_t; void init_uart(QueueHandle_t msg_queue_handle); void uart_read_task(void *param); void uart_send_task(void *param); void HandleMessageReceivedCallback(uint8_t msgid, const uint8_t *payload, size_t payload_len); void HandleMessageFailCallback(uint8_t msgid, const uint8_t *payload, size_t payload_len, enum ParserError error); #endif