#pragma once #ifdef __cplusplus extern "C" { #endif #include "device/at9s_pro.h" //// 传感器数据结构 //typedef struct { // float accel[3]; // m/s² // float gyro[3]; // rad/s // float baro_alt; // 气压计高度 (m) // float speed_z; //z轴速度 //} SensorData; //// 卡尔曼滤波器结构体 //typedef struct { // float Q_angle; // 过程噪声协方差(角度) // float Q_bias; // 过程噪声协方差(陀螺仪偏置) // float R_measure; // 测量噪声协方差 // float angle; // 估计角度 // float bias; // 估计陀螺仪偏置 // float P[2][2]; // 误差协方差矩阵 //} KalmanFilter; //// 控制输出结构体 //typedef struct { // // struct { // float throttle; // 总油门 [0-1] // float roll; // 滚转控制 [-1,1] // float pitch; // 俯仰控制 [-1,1] // float yaw; // 偏航控制 [-1,1] // } ControlOutput; // // struct { // float throttle; // 总油门 [0-1] // float roll; // 滚转控制 [-1,1] // float pitch; // 俯仰控制 [-1,1] // float yaw; // 偏航控制 [-1,1] // } Controltarget; //} Control_t; //// 电机配置结构体 //typedef struct { // float min_output; // 最小输出值 (0.0-1.0) // float max_output; // 最大输出值 (0.0-1.0) //} MotorConfig; //// 混控器配置 //typedef struct { // MotorConfig motors[4]; // 四个电机的配置 // float motor_output[4]; // 当前电机输出值 (0.0-1.0) //} Mixer; //void FlightController_Init(float sample_freq); //void FlightController_Update(SensorData sensors, Control_t* output, float dt, rc); //void MotorMixer_Init(); //void Apply_Motor_Outputs(Control_t ctrl); //void MotorMixer_OutStop(); #ifdef __cplusplus } #endif