#ifndef ATTITUDE_H #define ATTITUDE_H /* 姿态解算封装(BMI088 + QuaternionEKF 惯导 + 多圈 Yaw) * 2026-08-31 由 Mahony 更换为 QuaternionEKF(见 attitude.c 文件头) * 注意:本云台的 Pitch 环反馈使用 att_deg_roll(绕 x 轴角,安装方向所致), * 而 att_deg_roll 映射自 QEKF_INS.Pitch(QEKF 命名与航空惯例互换) */ #include extern float att_deg_yaw; // 多圈连续偏航角(°) extern float att_deg_pitch; // 绕 y 轴角(°) extern float att_deg_roll; // 绕 x 轴角(°,本云台 Pitch 环反馈) /* 初始化:配置 IST8310/BMI088(阻塞,有界重试)+ z 轴静止零偏标定(约 1s, * 车体必须静止;QEKF 不估计 z 偏置)+ QuaternionEKF 初值 */ extern void attitude_init(void); /* 姿态更新(1kHz 调用,dt=0.001s) */ extern void attitude_update(void); /* 1-z 轴标定完成且姿态已有效输出(标定期间姿态为 0,控制任务须门控) */ extern uint8_t att_ready; /* IMU 加热器(TIM10 CH1/PF6 PWM):monitor 检测到过温时调用强制关闭 */ extern void imu_heater_off(void); #endif