File syn_blackbox.h¶
File List > log > syn_blackbox.h
Go to the documentation of this file
#ifndef SYN_BLACKBOX_H
#define SYN_BLACKBOX_H
#ifdef __cplusplus
extern "C" {
#endif
#include "syntropic/common/syn_defs.h"
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#define SYN_BLACKBOX_FRAME_INTRA 'I'
#define SYN_BLACKBOX_FRAME_DELTA 'P'
#define SYN_BLACKBOX_FRAME_SLOW 'S'
typedef struct {
uint32_t iteration;
uint32_t time_us;
int16_t gyro[3];
int16_t accel[3];
int16_t setpoint[4];
uint16_t motor[4];
} SYN_Blackbox_Record;
typedef struct {
SYN_Blackbox_Record last_record;
uint32_t frame_count;
uint32_t bytes_written;
} SYN_Blackbox;
SYN_Status syn_blackbox_init(SYN_Blackbox *bb);
SYN_Status syn_blackbox_encode_intra(SYN_Blackbox *bb, const SYN_Blackbox_Record *record,
uint8_t *buf_out, size_t *out_len);
SYN_Status syn_blackbox_encode_delta(SYN_Blackbox *bb, const SYN_Blackbox_Record *record,
uint8_t *buf_out, size_t *out_len);
size_t syn_blackbox_encode_varint(int32_t val, uint8_t *buf_out);
#ifdef __cplusplus
}
#endif
#endif /* SYN_BLACKBOX_H */