void ahrs_infrared_init(void) { heading = 0.; AbiBindMsgIMU_GYRO_INT32(AHRS_INFRARED_GYRO_ID, &gyro_ev, gyro_cb); AbiBindMsgGPS(AHRS_INFRARED_GPS_ID, &gps_ev, &gps_cb); #if PERIODIC_TELEMETRY register_periodic_telemetry(DefaultPeriodic, "IR_SENSORS", send_infrared); register_periodic_telemetry(DefaultPeriodic, "STATE_FILTER_STATUS", send_status); #endif }
static inline void main_init(void) { mcu_init(); sys_time_register_timer((1. / PERIODIC_FREQUENCY), NULL); imu_init(); mcu_int_enable(); downlink_init(); AbiBindMsgIMU_GYRO_INT32(ABI_BROADCAST, &gyro_ev, gyro_cb); AbiBindMsgIMU_ACCEL_INT32(ABI_BROADCAST, &accel_ev, accel_cb); AbiBindMsgIMU_MAG_INT32(ABI_BROADCAST, &mag_ev, mag_cb); }