You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
4.5 KiB
143 lines
4.5 KiB
#pragma once |
|
|
|
// Internal defines, don't edit and expect things to work |
|
// ------------------------------------------------------- |
|
|
|
// Just so that it's completely clear... |
|
#define ENABLED 1 |
|
#define DISABLED 0 |
|
|
|
// this avoids a very common config error |
|
#define ENABLE ENABLED |
|
#define DISABLE DISABLED |
|
|
|
#define SERVO_MAX 4500 // This value represents 45 degrees and is just an arbitrary representation of servo max travel. |
|
|
|
// HIL enumerations |
|
#define HIL_MODE_DISABLED 0 |
|
#define HIL_MODE_SENSORS 1 |
|
|
|
// types of failsafe events |
|
#define FAILSAFE_EVENT_THROTTLE (1<<0) |
|
#define FAILSAFE_EVENT_GCS (1<<1) |
|
|
|
// Logging parameters |
|
#define LOG_THR_MSG 0x01 |
|
#define LOG_NTUN_MSG 0x02 |
|
#define LOG_STARTUP_MSG 0x06 |
|
#define LOG_RANGEFINDER_MSG 0x07 |
|
#define LOG_ARM_DISARM_MSG 0x08 |
|
#define LOG_STEERING_MSG 0x0D |
|
#define LOG_GUIDEDTARGET_MSG 0x0E |
|
#define LOG_WHEELENCODER_MSG 0x0F |
|
#define LOG_ERROR_MSG 0x13 |
|
|
|
#define TYPE_AIRSTART_MSG 0x00 |
|
#define TYPE_GROUNDSTART_MSG 0x01 |
|
|
|
#define MASK_LOG_ATTITUDE_FAST (1<<0) |
|
#define MASK_LOG_ATTITUDE_MED (1<<1) |
|
#define MASK_LOG_GPS (1<<2) |
|
#define MASK_LOG_PM (1<<3) |
|
#define MASK_LOG_THR (1<<4) |
|
#define MASK_LOG_NTUN (1<<5) |
|
//#define MASK_LOG_MODE (1<<6) // no longer used |
|
#define MASK_LOG_IMU (1<<7) |
|
#define MASK_LOG_CMD (1<<8) |
|
#define MASK_LOG_CURRENT (1<<9) |
|
#define MASK_LOG_RANGEFINDER (1<<10) |
|
#define MASK_LOG_COMPASS (1<<11) |
|
#define MASK_LOG_CAMERA (1<<12) |
|
#define MASK_LOG_STEERING (1<<13) |
|
#define MASK_LOG_RC (1<<14) |
|
#define MASK_LOG_ARM_DISARM (1<<15) |
|
#define MASK_LOG_IMU_RAW (1UL<<19) |
|
|
|
// for mavlink SET_POSITION_TARGET messages |
|
#define MAVLINK_SET_POS_TYPE_MASK_POS_IGNORE ((1<<0) | (1<<1)) |
|
#define MAVLINK_SET_POS_TYPE_MASK_VEL_IGNORE ((1<<3) | (1<<4)) |
|
#define MAVLINK_SET_POS_TYPE_MASK_ACC_IGNORE ((1<<6) | (1<<7)) |
|
#define MAVLINK_SET_POS_TYPE_MASK_FORCE (1<<9) |
|
#define MAVLINK_SET_POS_TYPE_MASK_YAW_IGNORE (1<<10) |
|
#define MAVLINK_SET_POS_TYPE_MASK_YAW_RATE_IGNORE (1<<11) |
|
|
|
// for mavlink SET_ATTITUDE_TARGET messages |
|
#define MAVLINK_SET_ATT_TYPE_MASK_ROLL_RATE_IGNORE (1<<0) |
|
#define MAVLINK_SET_ATT_TYPE_MASK_PITCH_RATE_IGNORE (1<<1) |
|
#define MAVLINK_SET_ATT_TYPE_MASK_YAW_RATE_IGNORE (1<<2) |
|
#define MAVLINK_SET_ATT_TYPE_MASK_THROTTLE_IGNORE (1<<6) |
|
#define MAVLINK_SET_ATT_TYPE_MASK_ATTITUDE_IGNORE (1<<7) |
|
|
|
// general error codes |
|
#define ERROR_CODE_ERROR_RESOLVED 0 |
|
// Error message sub systems and error codes |
|
#define ERROR_SUBSYSTEM_FAILSAFE_FENCE 9 |
|
#define ERROR_SUBSYSTEM_FLIGHT_MODE 10 |
|
#define ERROR_SUBSYSTEM_CRASH_CHECK 12 |
|
#define ERROR_SUBSYSTEM_EKFCHECK 16 |
|
#define ERROR_SUBSYSTEM_FAILSAFE_EKFINAV 17 |
|
// subsystem specific error codes -- crash checker |
|
#define ERROR_CODE_CRASH_CHECK_CRASH 1 |
|
// EKF check definitions |
|
#define ERROR_CODE_EKFCHECK_BAD_VARIANCE 2 |
|
#define ERROR_CODE_EKFCHECK_VARIANCE_CLEARED 0 |
|
// subsystem specific error codes -- ekf failsafe |
|
#define ERROR_CODE_FAILSAFE_RESOLVED 0 |
|
#define ERROR_CODE_FAILSAFE_OCCURRED 1 |
|
|
|
// radio failsafe enum (FS_THR_ENABLE parameter) |
|
enum fs_thr_enable { |
|
FS_THR_DISABLED = 0, |
|
FS_THR_ENABLED, |
|
FS_THR_ENABLED_CONTINUE_MISSION, |
|
}; |
|
|
|
// gcs failsafe enum (FS_GCS_ENABLE parameter) |
|
enum fs_gcs_enable { |
|
FS_GCS_DISABLED = 0, |
|
FS_GCS_ENABLED, |
|
FS_GCS_ENABLED_CONTINUE_MISSION, |
|
}; |
|
|
|
enum fs_crash_action { |
|
FS_CRASH_DISABLE = 0, |
|
FS_CRASH_HOLD = 1, |
|
FS_CRASH_HOLD_AND_DISARM = 2 |
|
}; |
|
|
|
enum fs_ekf_action { |
|
FS_EKF_DISABLE = 0, |
|
FS_EFK_HOLD = 1 |
|
}; |
|
|
|
#define DISTANCE_HOME_MAX 0.5f // Distance max to home location before changing it when disarm |
|
|
|
enum mode_reason_t { |
|
MODE_REASON_INITIALISED = 0, |
|
MODE_REASON_TX_COMMAND, |
|
MODE_REASON_GCS_COMMAND, |
|
MODE_REASON_FAILSAFE, |
|
MODE_REASON_MISSION_END, |
|
MODE_REASON_CRASH_FAILSAFE, |
|
MODE_REASON_MISSION_COMMAND, |
|
MODE_REASON_FENCE_BREACH, |
|
MODE_REASON_EKF_FAILSAFE, |
|
}; |
|
|
|
enum pilot_steer_type_t { |
|
PILOT_STEER_TYPE_DEFAULT = 0, |
|
PILOT_STEER_TYPE_TWO_PADDLES = 1, |
|
PILOT_STEER_TYPE_DIR_REVERSED_WHEN_REVERSING = 2, |
|
PILOT_STEER_TYPE_DIR_UNCHANGED_WHEN_REVERSING = 3, |
|
}; |
|
|
|
// frame class enum used for FRAME_CLASS parameter |
|
enum frame_class { |
|
FRAME_UNDEFINED = 0, |
|
FRAME_ROVER = 1, |
|
FRAME_BOAT = 2, |
|
FRAME_BALANCEBOT = 3, |
|
}; |
|
|
|
#define AUX_SWITCH_PWM_TRIGGER_HIGH 1800 // pwm value above which the ch7 or ch8 option will be invoked |
|
#define AUX_SWITCH_PWM_TRIGGER_LOW 1200 // pwm value below which the ch7 or ch8 option will be disabled
|
|
|