#ifndef ATTITUDE_H #define ATTITUDE_H #include "quaternion.h" #include "vector.h" #include "pid.h" #include "radio_receiver.h" typedef struct { Vector3 gyro; } attitude_t; static uint8_t imu_update_flag = 0; static uint8_t pid_update_flag = 0; void attitude_init(attitude_t* att); void attitude_controller_update(control_channels_t* control, const rc_channels* rx, const Quaternion* current_q, const Vector3* gyro); Quaternion rx_to_quaternion(const rc_channels* rx); float constrain(float x, float min, float max); void TIM6_DAC_IRQHandler(); #endif