first commit
This commit is contained in:
31
dev/crsf.hpp
Normal file
31
dev/crsf.hpp
Normal file
@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
#include <cstdint>
|
||||
|
||||
static constexpr uint16_t
|
||||
JOY_MIN = 172,
|
||||
JOY_MID =992,
|
||||
JOY_MAX= 1811;
|
||||
|
||||
static constexpr float JOY_VAL = (JOY_MAX - JOY_MIN) / 1e3;
|
||||
|
||||
#define CRSF_FRAME_SIZE_MAX 30 // the actual maximum length is 64, but we're only interested in RC channels and want to minimize buffer size
|
||||
#define CRSF_PAYLOAD_SIZE_MAX (CRSF_FRAME_SIZE_MAX-4)
|
||||
|
||||
#define CRSF_BAUDRATE 420000
|
||||
|
||||
struct CRSF_Data // FlySky
|
||||
{
|
||||
uint16_t X, Y, Z, W;
|
||||
uint16_t SWA, SWB, SWC, SWD;
|
||||
uint16_t VRA, VRB;
|
||||
uint16_t OTHER[8];
|
||||
|
||||
bool FrameLost;
|
||||
bool FailSafe;
|
||||
};
|
||||
|
||||
void CRSF_Init(void);
|
||||
bool CRSF_Update(CRSF_Data& data, bool& off);
|
||||
|
||||
bool crsf_parse(const uint8_t *frame, unsigned len, uint16_t *values,
|
||||
uint16_t *num_values, uint16_t max_channels);
|
Reference in New Issue
Block a user