161 float read_accel[3], read_gyro[3];
162 imu_.
read(read_accel, read_gyro, temperature, time_us);
164 accel[0] = -read_accel[1];
165 accel[1] = -read_accel[0];
166 accel[2] = -read_accel[2];
168 gyro[0] = -read_gyro[1];
169 gyro[1] = -read_gyro[0];
170 gyro[2] = -read_gyro[2];
226 (void) diff_pressure;
302 raw.
year = pvt.time.year;
303 raw.
month = pvt.time.month;
304 raw.
day = pvt.time.day;
305 raw.
hour = pvt.time.hour;
306 raw.
min = pvt.time.min;
307 raw.
sec = pvt.time.sec;
308 raw.
valid = pvt.time.valid;
309 raw.
t_acc = pvt.time.tAcc;
310 raw.
nano = pvt.time.nano;
317 raw.
h_acc = pvt.hAcc;
318 raw.
v_acc = pvt.vAcc;
319 raw.
vel_n = pvt.velN;
320 raw.
vel_e = pvt.velE;
321 raw.
vel_d = pvt.velD;
324 raw.
s_acc = pvt.sAcc;
326 raw.
p_dop = pvt.pDOP;
void serial_flush() override
float sonar_read() override
SerialDevice secondary_serial_device_
void pwm_disable() override
void sensors_init() override
void init(const uart_hardware_struct_t *conf, uint32_t baudrate_, uart_mode_t mode=MODE_8N1)
void led0_toggle() override
void diff_pressure_update() override
static volatile int16_t gyro[3]
uint64_t get_last_pvt_timestamp()
uint16_t num_sensor_errors() override
bool diff_pressure_present() override
void mag_update() override
struct rosflight_firmware::GNSSData::@109 ecef
void init(const pwm_hardware_struct_t *conf)
void baro_read(float *pressure, float *temperature) override
volatile uint32_t millis(void)
bool new_imu_data() override
bool gnss_has_new_data() override
bool memory_write(const void *src, size_t len) override
void sonar_update() override
void init(GPIO_TypeDef *gpio_port, uint16_t pin)
void memory_init() override
bool baro_present() override
void diff_pressure_read(float *diff_pressure, float *temperature) override
bool imu_read(float accel[3], float *temperature, float gyro[3], uint64_t *time_us) override
void init(const i2c_hardware_struct_t *c)
virtual uint8_t read_byte()=0
GNSSRaw gnss_raw_read() override
void clock_delay(uint32_t milliseconds) override
volatile uint64_t micros(void)
uint32_t clock_millis() override
void init_board() override
void init(GPIO_TypeDef *BasePort, uint16_t pin, gpio_mode_t mode)
__STATIC_INLINE void NVIC_SystemReset(void)
System Reset.
PWM_OUT esc_out_[PWM_NUM_OUTPUTS]
bool read_config(uint8_t *data, uint32_t len)
rosflight_firmware::BackupData get_backup_data() override
static volatile int16_t accel[3]
void gnss_update() override
bool write_config(const uint8_t *data, const uint32_t len)
void writeUs(uint16_t value)
rosflight_firmware::BackupData backup_sram_read()
const uart_hardware_struct_t uart_config[NUM_UART]
const pwm_hardware_struct_t pwm_config[PWM_NUM_CHANNELS]
void serial_init(uint32_t baud_rate, uint32_t dev) override
const NAV_PVT_t & read_raw()
uint64_t rosflight_timestamp
virtual float read(uint8_t channel)=0
float rc_read(uint8_t channel) override
bool sonar_present() override
bool gnss_present() override
bool has_backup_data() override
bool check_backup_checksum(const rosflight_firmware::BackupData &)
GNSSData gnss_read() override
bool mag_present() override
GNSSPosECEF read_pos_ecef()
bool memory_read(void *dest, size_t len) override
void init(const pwm_hardware_struct_t *pwm_init, uint16_t frequency, uint32_t max_us, uint32_t min_us)
void init(const spi_hardware_struct_t *conf)
virtual void write(const uint8_t *ch, uint8_t len)=0
void mag_read(float mag[3]) override
uint64_t clock_micros() override
const spi_hardware_struct_t spi_config[NUM_SPI]
bool read(float mag_data[])
void read(float *accel_data, float *gyro_data, float *temp_data, uint64_t *time_us)
void init(GPIO *inv_pin, UART *uart)
void imu_not_responding_error() override
virtual uint32_t rx_bytes_waiting()=0
GNSSVelECEF read_vel_ecef()
void read(float *differential_pressure, float *temp)
void pwm_write(uint8_t channel, float value) override
void pwm_init(uint32_t refresh_rate, uint16_t idle_pwm) override
void serial_write(const uint8_t *src, size_t len) override
void board_reset(bool bootloader) override
const i2c_hardware_struct_t i2c_config[NUM_I2C]
void rc_init(rc_type_t rc_type) override
void read(float *press, float *temp)
void baro_update() override
void led1_toggle() override
uint16_t serial_bytes_available() override
uint8_t serial_read() override