34#define MAX_LEN_SERIAL_OUTPUT_BUF 255
42typedef void (injectCommand_t) (
SensorFusionGlobals *sfg, uint8_t input_buffer[], uint16_t nbytes);
54 volatile uint8_t AngularVelocityPacketOn;
55 volatile uint8_t DebugPacketOn;
56 volatile uint8_t RPCPacketOn;
57 volatile uint8_t AltPacketOn;
58 volatile int8_t AccelCalPacketOn;
59 uint8_t *serial_out_buf;
60 uint16_t bytes_to_send;
61 const void *serial_port;
62 const void *tcp_client;
65 readCommand_t *readCommands;
66 injectCommand_t *injectCommand;
72 const void *tcp_client);
92void OutputBufAppendItem(uint8_t *pDest, uint16_t *pIndex, uint8_t *pSource, uint16_t iBytesToCopy);
bool initializeIOSubsystem(ControlSubsystem *pComm, const void *serial_port, const void *tcp_client)
Initialize the control subsystem and all related hardware.
void CreateOutgoingPackets(SensorFusionGlobals *sfg)
void OutputBufAppendItem(uint8_t *pDest, uint16_t *pIndex, uint8_t *pSource, uint16_t iBytesToCopy)
Utility function used to place data in output buffer about to be transmitted via UART.
void DecodeCommandBytes(SensorFusionGlobals *sfg, uint8_t input_buffer[], uint16_t nbytes)
enum quaternion quaternion_type
the quaternion type to be transmitted
The ControlSubsystem encapsulates command and data streaming functions.
The top level fusion structure.