mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-21 15:25:36 +03:00
MSP_over_CRSF changed with support of MSVv2 and Jumbo
This commit is contained in:
parent
95589e0fc9
commit
222a607e3c
12 changed files with 316 additions and 239 deletions
|
@ -20,31 +20,14 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "common/streambuf.h"
|
||||
#include "telemetry/crsf.h"
|
||||
#include "telemetry/smartport.h"
|
||||
// type of function to send MSP response chunk over telemetry.
|
||||
typedef void (*mspResponseFnPtr)(uint8_t *payload, const uint8_t payloadSize);
|
||||
|
||||
typedef void (*mspResponseFnPtr)(uint8_t *payload);
|
||||
|
||||
struct mspPacket_s;
|
||||
typedef struct mspPackage_s {
|
||||
sbuf_t requestFrame;
|
||||
uint8_t *requestBuffer;
|
||||
uint8_t *responseBuffer;
|
||||
struct mspPacket_s *requestPacket;
|
||||
struct mspPacket_s *responsePacket;
|
||||
} mspPackage_t;
|
||||
|
||||
typedef union mspRxBuffer_u {
|
||||
uint8_t smartPortMspRxBuffer[SMARTPORT_MSP_RX_BUF_SIZE];
|
||||
uint8_t crsfMspRxBuffer[CRSF_MSP_RX_BUF_SIZE];
|
||||
} mspRxBuffer_t;
|
||||
|
||||
typedef union mspTxBuffer_u {
|
||||
uint8_t smartPortMspTxBuffer[SMARTPORT_MSP_TX_BUF_SIZE];
|
||||
uint8_t crsfMspTxBuffer[CRSF_MSP_TX_BUF_SIZE];
|
||||
} mspTxBuffer_t;
|
||||
|
||||
void initSharedMsp(void);
|
||||
bool handleMspFrame(uint8_t *frameStart, int frameLength, uint8_t *skipsBeforeResponse);
|
||||
bool sendMspReply(uint8_t payloadSize, mspResponseFnPtr responseFn);
|
||||
|
||||
// receives telemetry payload with msp and handles it.
|
||||
bool handleMspFrame(uint8_t *const payload, uint8_t const payloadLength, uint8_t *const skipsBeforeResponse);
|
||||
|
||||
// sends MSP reply from previously handled msp-request over telemetry
|
||||
bool sendMspReply(const uint8_t payloadSize_max, mspResponseFnPtr responseFn);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue