Files
QuadMeUp_Crossbow/crossbow/sbus.h
Pawel Spychalski 5ff36034b8 platform node
2018-05-17 14:13:41 +02:00

34 lines
683 B
C++

#ifndef SBUS_INPUT
#define SBUS_INPUT
#include "Arduino.h"
#include "tx_input.h"
enum sbusProtocolStates {
SBUS_DECODING_STATE_IDLE,
SBUS_DECODING_STATE_IN_PROGRESS
};
class SbusInput : public TxInput
{
public:
SbusInput(HardwareSerial &serial);
void start(void);
void restart(void);
void loop(void);
bool isReceiving(void);
void recoverStuckFrames(void);
private:
HardwareSerial &_serial;
uint32_t _frameDecodingStartedAt = 0;
uint32_t _frameDecodingEndedAt = 0 ;
uint8_t _protocolState = SBUS_DECODING_STATE_IDLE;
void sbusRead(void);
};
void sbusPreparePacket(uint8_t packet[], bool isSignalLoss, bool isFailsafe);
#endif