| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #ifndef __AUTO_PILOT_H
- #define __AUTO_PILOT_H
- #include <stdbool.h>
- #include <stdint.h>
- //正常模式
- #define PILOT_NORMAL 1
- //磁校准模式
- #define PILOT_MAG_CLB 2
- //遥控器校准模式
- #define PILOT_RC_CLB 3
- //电调校准模式
- #define PILOT_ESC_CLB 4
- // imu 升级模式
- #define PILOT_IMU_UPDATE 5
- extern char pilot_mode;
- /*
- ===============定义警告类型==========================
- 枚举类型默认是4字节的。
- */
- // typedef enum {
- // WARN_DEF = 0, WARN_NO, WARN_NOIMU, WARN_DMA, WARN_RC, WARN_VOLT, WARN_GS,
- // WARN_FLOW
- //} WARNING;
- //无警告
- #define WARN_NO 1
- //无IMU数据
- #define WARN_NOIMU 2
- // DMA错误
- #define WARN_DMA 3
- //遥控器位置不对警告
- #define WARN_RC 4
- //电压低警告
- #define WARN_VOLT 5
- //电台丢失警告
- #define WARN_GS 6
- //解算失败警告
- #define WARN_AHRS 8
- //加速度警告
- #define WARN_ACC 9
- //速度警告
- #define WARN_VEL 10
- // gps错误
- #define WARN_IMUGPS_ERROR 11
- // gps野值
- #define WARN_IMUGPS_OUTLIERS 12
- #define WARN_IMUGPS_BREAK 14
- #define WARN_IMUBARO_DIFFVEL 15
- #define WARN_IMUBARO_ERROR 16
- #define WARN_IMUBARO_OUTLIERS 17
- #define WARN_IMUAG_ACCERR 18
- #define WARN_IMUAG_GYROERR 19
- #define WARN_IMUMAG_DISTURBANCE 20
- // 高温警告
- #define WARN_OVER_TEMPRATURE 21
- // IMU版本错误
- #define WARN_IMU_VERSION_ERR 22
- //磁断开
- #define WARN_IMUMAG_BREAK 23
- // 在禁飞区中
- #define WARN_IN_NO_FLY_ZONE 24
- // 动力故障
- #define WARN_SERVO_FAIL 25
- // 解锁超时失败
- #define WARN_ULOCK_FAIL 32
- // SD卡故障
- #define WARN_SD_ERROR 33
- // 雷达有障碍物
- #define WARN_OBSTACLE 50
- extern char warn_reason;
- // 家点信息是否记录标志位
- #define HOME_POS_NOT_SET 0
- #define HOME_POS_AUTO_SET 1
- #define HOME_POS_MANUL_SET 2
- extern uint8_t home_pos_isrecord;
- extern const float fast_loop_dt;
- // 400 hz 速率环路控制
- void rate_control(void);
- // 主要循环回路
- void pilot_main_loop(void);
- // 获取飞行时间
- float Get_HaveFlyTime(void);
- // 获取本架次飞行时间
- float Get_HaveFlyTimeThisSort(void);
- #endif
|