Quadcopter/User/module/xm_quadctrl.h

68 lines
1.8 KiB
C

#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