5 #include "crsfmsp_common.h"
6 #include "crsf_protocol.h"
10 /* Takes a MSP frame and converts it to raw CRSF frame
11 adding the CRSF header and checksum. Handles chunking of messages
18 void setNewFrame(uint8_t &data
, bool isNewFrame
);
19 void setSeqNumber(uint8_t &data
, uint8_t seqNumber
);
20 void setVersion(uint8_t &data
, MSPframeType_e version
);
21 uint8_t getHeaderDir(uint8_t headerDir
);
22 void setError(uint8_t &data
, bool isError
);
25 uint32_t getFrameLen(uint32_t payloadLen
, uint8_t mspVersion
);
26 MSPframeType_e
getVersion(const uint8_t *data
);
27 uint32_t getPayloadLen(const uint8_t *data
, MSPframeType_e mspVersion
);
31 FIFO
<MSP_FRAME_MAX_LEN
> FIFOout
;
32 void parse(const uint8_t *data
, uint32_t frameLen
, uint8_t src
= CRSF_ADDRESS_CRSF_RECEIVER
, uint8_t dest
= CRSF_ADDRESS_FLIGHT_CONTROLLER
);
33 bool validate(const uint8_t *data
, uint32_t expectLen
);
36 extern MSP2CROSSFIRE msp2crsf
;