NbusCommunicator.h 781 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * NbusCommunicator.h
  3. *
  4. * Created on: Mar 7, 2025
  5. * Author: juraj
  6. */
  7. #ifndef SRC_NBUSCOMMUNICATOR_H_
  8. #define SRC_NBUSCOMMUNICATOR_H_
  9. #include "inttypes.h"
  10. #include "dataframe.h"
  11. #include "nbus_structs.h"
  12. #include "stm32l4xx_hal.h"
  13. #define NBUS_MAX_FRAME_SIZE 32
  14. class NbusCommunicator {
  15. private:
  16. uint8_t _data_packet_tx[NBUS_MAX_FRAME_SIZE];
  17. uint8_t _data_packet_comm[NBUS_MAX_FRAME_SIZE];
  18. uint8_t _data_packet_rx[NBUS_MAX_FRAME_SIZE];
  19. DataFrame *_packet_tx;
  20. DataFrame *_packet_rx;
  21. UART_HandleTypeDef *_uart_nbus;
  22. void _receive();
  23. public:
  24. NbusCommunicator(UART_HandleTypeDef*);
  25. void transmit(uint8_t *, uint8_t);
  26. virtual ~NbusCommunicator();
  27. DataFrame* send(Nbus_pdu *pdu, uint8_t *data, uint8_t data_len);
  28. };
  29. #endif /* SRC_NBUSCOMMUNICATOR_H_ */