| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #ifndef __FLIGHT_MODE_H
- #define __FLIGHT_MODE_H
- #include "common.h"
- #include "stdbool.h"
- enum
- {
- // 遥控器控制
- CONTROL_REMOTE = 1,
- // 地面站控制
- CONTROL_GCS = 2
- };
- enum
- {
- //===================================遥控器控制下的模式===============================================
- // 初始化模式,此模式下无任何控制
- MODE_DEFAULT = 0,
- // 手动速率模式,油门手动,陀螺控制
- MANUAL_RATE = 1,
- // 手动姿态模式,油门手动,角度控制
- MANUAL_ATTITUDE = 2,
- // 姿态模式,油门自动,角度控制
- ATTITUDE = 3,
- // GPS悬停模式,油门自动,定点控制
- GPS_POSHOLD = 4,
- // GPS无机头模式,油门自动,定点控制
- GPS_FREEHEAD = 5,
- // GPS环绕模式,油门自动,定点控制
- GPS_CIRCLE = 6,
- // GPS返航模式,油门自动,定点控制
- GPS_RTH = 7,
- //===================================地面站控制下的模式===============================================
- // 摇杆姿态模式
- ROCK_ATTITUDE = 8,
- // 摇杆定点模式
- ROCK_POSHOLD = 9,
- // 一键起飞
- GCS_LAUNCH = 10,
- // GCS悬停模式
- GCS_LOITER = 11,
- // GCS返航模式
- GCS_RTH = 12,
- // GCS去第一点
- GCS_FIRSTPOINT = 13,
- // GCS断点续飞
- GCS_BREAKPOINT = 14,
- // GCS自动航线
- GCS_AUTO = 15,
- // GCS继续航线模式
- GCS_AUTOCONTINUE = 16,
- // GCS指点引导
- GCS_GUIDETMP = 17,
- // GCS指点模式
- GCS_GUIDE = 18,
- // GPS降落模式
- GPS_LAND = 19,
- // 紧急降落
- FORCE_LAND = 20,
- // GCS 跟随模式
- GCS_FOLLOW = 21,
- // GCS 低空抛物悬停
- GCS_LOWLOITER = 22,
- // gcs 航点环绕
- GCS_WPCIRCLE = 23,
- // 车载跟车起飞
- GCS_VEHICLE_LAUNCH = 24,
- // 车载跟车降落
- GCS_VEHICLE_LAND = 25,
- // 自主避障模式
- GCS_OBAVOID = 26,
- // afc 控制模式
- GCS_AFC_CONTROL = 50,
- };
- extern unsigned char control_mode;
- extern unsigned char flight_mode;
- extern unsigned char flight_mode_flag;
- extern comp_status rock_isenable;
- extern bool battary_volt_islow;
- void flight_mode_switch(void);
- bool set_flight_mode(unsigned char new_mode);
- void update_flight_mode(void);
- #endif
|