24#ifndef TAPROOT_DJI_SERIAL_HPP_
25#define TAPROOT_DJI_SERIAL_HPP_
96 template <
int DATA_SIZE>
110 reinterpret_cast<uint8_t *
>(&
header),
121 reinterpret_cast<uint8_t *
>(
this),
179 SERIAL_HEADER_SEARCH,
180 PROCESS_FRAME_HEADER,
188 SerialRxState djiSerialRxState;
201 uint16_t frameCurrReadByte;
213 inline bool verifyCRC8(uint8_t *message, uint32_t messageLength, uint8_t expectedCRC8)
Definition drivers.hpp:70
Definition dji_serial.hpp:80
Drivers * drivers
Definition dji_serial.hpp:219
static const uint16_t SERIAL_RX_BUFF_SIZE
Definition dji_serial.hpp:131
mockable void updateSerial()
Definition dji_serial.cpp:71
virtual void messageReceiveCallback(const ReceivedSerialMessage &completeMessage)=0
struct tap::communication::serial::DJISerial::FrameHeader modm_packed
mockable void initialize()
Definition dji_serial.cpp:53
SerialMessage< SERIAL_RX_BUFF_SIZE > ReceivedSerialMessage
Definition dji_serial.hpp:134
static const uint16_t SERIAL_HEAD_BYTE
Definition dji_serial.hpp:132
UartPort
Definition uart.hpp:51
uint16_t calculateCRC16(const uint8_t *message, uint32_t messageLength, uint16_t initCRC16)
Definition crc.cpp:87
uint8_t calculateCRC8(const uint8_t *message, uint32_t messageLength, uint8_t initCRC8)
Definition crc.cpp:73
Definition dji_serial.cpp:41
Definition ballistics.cpp:29
tap::Drivers Drivers
Definition drivers.hpp:11
Definition dji_serial.hpp:98
void setCRC16()
Definition dji_serial.hpp:118
uint8_t data[DATA_SIZE]
Definition dji_serial.hpp:127
uint16_t messageType
Definition dji_serial.hpp:126
uint16_t CRC16
Definition dji_serial.hpp:128
FrameHeader header
Definition dji_serial.hpp:125
SerialMessage(uint8_t seq=0)
Definition dji_serial.hpp:104
#define mockable
Wrap class functions that are not already virtual in this function if you wish to mock them.
Definition util_macros.hpp:38
#define DISALLOW_COPY_AND_ASSIGN(Typename)
Definition util_macros.hpp:27