/* * NbusCommunicator.h * * Created on: Mar 7, 2025 * Author: juraj */ #ifndef SRC_NBUSCOMMUNICATOR_H_ #define SRC_NBUSCOMMUNICATOR_H_ #include "inttypes.h" #include "dataframe.h" #include "nbus_structs.h" #include "stm32l4xx_hal.h" #define NBUS_MAX_FRAME_SIZE 32 class NbusCommunicator { private: uint8_t _data_packet_tx[NBUS_MAX_FRAME_SIZE]; uint8_t _data_packet_comm[NBUS_MAX_FRAME_SIZE]; uint8_t _data_packet_rx[NBUS_MAX_FRAME_SIZE]; DataFrame *_packet_tx; DataFrame *_packet_rx; UART_HandleTypeDef *_uart_nbus; void _receive(); public: NbusCommunicator(UART_HandleTypeDef*); void transmit(uint8_t *, uint8_t); virtual ~NbusCommunicator(); DataFrame* send(Nbus_pdu *pdu, uint8_t *data, uint8_t data_len); }; #endif /* SRC_NBUSCOMMUNICATOR_H_ */