31 lines
787 B
C
31 lines
787 B
C
#ifndef UART_HANDLER_H
|
|
#define UART_HANDLER_H
|
|
|
|
#include "freertos/idf_additions.h"
|
|
#include "message_parser.h"
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#define MASTER_UART UART_NUM_1
|
|
#define TXD_PIN (GPIO_NUM_1)
|
|
#define RXD_PIN (GPIO_NUM_2)
|
|
|
|
#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
|