Skip to main content

file AUTELMainControllerDef

describe:This class defines the enumeration used by aircraft main control

struct AUTELAttitude

describe:Define aircraft attitude

typedef struct {
/**
* @brief Aircraft's pitch angle (°)
*
*/
float pitch;
/**
* @brief Aircraft's roll angle (°)
*
*/
float roll;
/**
* @brief Aircraft's yaw angle (°)
*
*/
float yaw;
} AUTELAttitude;

struct AutelVirtualStickFlightControlData

typedef struct {
/**
* Velocity (m/s) along the y-axis or angle value (in degrees) for pitch.
*/
float pitch;
/**
* Velocity (m/s) along the x-axis or angle value (in degrees) for roll.
*/
float roll;
/**
* Angular Velocity (degrees/s) or Angle (degrees) value for yaw.
*/
float yaw;
/**
* Velocity (m/s) or Alititude (m) value for verticalControl.
*/
float verticalThrottle;
} AutelVirtualStickFlightControlData;

enum AUTELAircraftLedState

describe:Define the state of aircraft LED light

typedef NS_ENUM(uint8_t, AUTELAircraftLedState) {
/**
* @brief all LED lights are turned off
*/
AUTELAircraftLedStateAllOff = 0,
/**
* @brief The Front LED light is off,The rear LED light is on
*/
AUTELAircraftLedStateHeadOffTailOn = 1,
/**
* @brief The Front LED light is on,The rear LED light is off
*/
AUTELAircraftLedStateHeadOnTailOff = 2,
/**
* @brief all LED lights are turned on
*/
AUTELAircraftLedStateAllOn = 3,
/**
* @brief Photo light flashing
*/
AUTELAircraftLedStatePhotographFlashing = 4,
/**
* @brief video light flashing
*/
AUTELAircraftLedStateRecordFlashing = 8,
};

enum AUTELDroneBindUserState

describe:Define the binding state between the aircraft and the user.

typedef NS_ENUM(uint8_t, AUTELDroneBindUserState) {
/**
* @brief This aircraft has been bound to a user already.
*
*/
AUTELDroneBindStateBound,

/**
* @brief This aircraft has not been bound to any user.
*
*/
AUTELDroneBindStateNoBound,

/**
* Firmware update is needed to enable binding of the aircraft
*
*/
AUTELDroneBindStateNoSupport,

/**
* Unknow binding state between this aircraft and users.
*
*/
AUTELDroneBindStateUnknown = -1,
};

enum AUTELBatteryTemperatureWarning

describe:Define battery temperature warning

typedef NS_ENUM(uint8_t, AUTELBatteryTemperatureWarning) {
/**
* @brief normal
*/
AUTELBatteryTemperatureWarningNormal = 0,

/**
* @brief warning high
*/
AUTELBatteryTemperatureWarningHigh,

/**
* @brief over heated
*/
AUTELBatteryTemperatureWarningOverheated,

/**
* @brief warning low
*/
AUTELBatteryTemperatureWarningLow,

/**
* @brief critically low
*/
AUTELBatteryTemperatureWarningCriticallyLow,

/**
* @brief unknown
*/
AUTELBatteryTemperatureWarningUnknown = -1,
}

enum AUTELDroneLowPowerWarning

describe:Define a low power alarm

typedef NS_ENUM(uint8_t, AUTELDroneLowPowerWarning) {
/**
* @brief No low battery warning.
*
*/
DroneHeightPower,

/**
* @brief Low battery.
*
*/
DroneLowPower,

/**
* @brief Critical low battery.
*
*/
DroneVeryLowPower,

/**
* @brief Unknown
*
*/
DroneLowPowerUnknow = 0xFF
};

enum AUTELCompassInterferenceLevel

describe:Defines the level of magnetometer interference

typedef NS_ENUM(uint8_t, AUTELCompassInterferenceLevel) {
/**
* @brief Interference not detected.
*
*/
AUTELCompassInterferenceLevel0,

/**
* @brief The compass can keep the right course despite of slight interference.
*
*/
AUTELCompassInterferenceLevel1,

/**
* @brief The compass cannot keep its right course due to continuous interference.
*
*/
AUTELCompassInterferenceLevel2,

/**
* @brief The compass cannot keep its right course due to continuous interference. ATTI mode will be activated soon.
*
*/
AUTELCompassInterferenceLevel3,

/**
* @brief ATTI mode activated due to abnormal compass.
*
*/
AUTELCompassInterferenceLevel4,
};

enum AUTELCompassCalibrationStatus

describe:Define the magnetometer calibration status

typedef NS_ENUM(uint8_t, AUTELCompassCalibrationStatus) {
/**
* @brief Compass is not calibrating.
*
*/
AUTELCompassCalibrationNone,

/**
* @brief Compass calibration step 1: Hold the aircraft horizontally by its arms and turn around until the 4 LEDs on the aircraft flash green light.
*
*/
AUTELCompassCalibrationStep1,

/**
* @brief Compass calibration step 2: Hold the aircraft vertically by its arms with its nose facing downwards and turn around until the 4 LEDs on the aircraft turn solid green.
*
*/
AUTELCompassCalibrationStep2,

/**
* @brief Compass calibration step 3: Rotate the aircraft sideways until the green light comes on..
*
*/
AUTELCompassCalibrationStep3,

/**
* @brief Compass calibration step 3: calculate and save parameters.
*
*/
AUTELCompassCalibrationCalculating,

/**
* @brief Compass calibration succeeded.
*
*/
AUTELCompassCalibrationSucceeded,

/**
* @brief Compass calibration failed.
*
*/
AUTELCompassCalibrationFailed,

/**
* @brief No GPS signal.Cannot calibrate now.
*
*/
AUTELCompassCalibrationFailedNoGPS,

/**
* @brief Timeout
*
*/
AUTELCompassCalibrationTimeout,

/**
* @brief Compass calibration status unknown.
*
*/
AUTELCompassCalibrationUnknown,
};

enum AUTELIMUCalibrationStatus

describe:Define the IMU calibration status

typedef NS_ENUM(uint8_t, AUTELIMUCalibrationStatus) {
/**
* @brief IMU is not calibrating.
*
*/
AUTELIMUCalibrationStatusNone,
/**
* @brief IMU calibration step 1: Level up.
*
*/
AUTELIMUCalibrationStatusStep1,
/**
* @brief IMU calibration step 2: Level down.
*
*/
AUTELIMUCalibrationStatusStep2,
/**
* @brief IMU calibration step 3: Right side up.
*
*/
AUTELIMUCalibrationStatusStep3,
/**
* @brief IMU calibration step 4: Left side up.
*
*/
AUTELIMUCalibrationStatusStep4,

/**
* @brief IMU calibration step 5: Upright and up.
*
*/
AUTELIMUCalibrationStatusStep5,

/**
* @brief IMU calibration step 6: Straight down.
*
*/
AUTELIMUCalibrationStatusStep6,
/**
* @brief IMU calibration succeeded.
*
*/
AUTELIMUCalibrationStatusSucceeded,
/**
* @brief IMU calibration failed.
*
*/
AUTELIMUCalibrationStatusFailed,
/**
* @brief IMU calibration status unknown.
*
*/
AUTELIMUCalibrationStatusUnknown,
}

enum AUTELIMUCalibrationWarn

describe:Define IMU calibration alarms

typedef NS_ENUM(uint8_t, AUTELIMUCalibrationWarn) {
/**
* @brief No warn.
*
*/
AUTELIMUCalibrationWarnNone,
/**
* @brief IMU calibration step 1: Level up.
*
*/
AUTELIMUCalibrationWarnBeginCalculating,
/**
* @brief IMU calibration step 2: Level down.
*
*/
AUTELIMUCalibrationWarnCalculating,
/**
* @brief Drone shaking.
*
*/
AUTELIMUCalibrationWarnShaking,
/**
* @brief Wrong direction.
*
*/
AUTELIMUCalibrationWarnWrongDirection,
};

enum AUTELAccessoryWorkMode

describe:Defines optional accessory types

typedef NS_ENUM(uint8_t, AUTELAccessoryWorkMode) {
AUTELAccessoryWorkModeNightLight = 0,//Night lights
AUTELAccessoryWorkModeSearchlight = 1,//The searchlight
AUTELAccessoryWorkModeMegaphone = 2,//Propaganda apparatus
AUTELAccessoryWorkModeUnknow = 255,
};

enum AUTELStickSensitivityType

describe:Define the type of sensitivity

typedef NS_ENUM(uint8_t, AUTELStickSensitivityType) {
/**
* @brief Yaw
*/
AUTELStickSensitivityTypeYaw = 0,
/**
* @brief PitchAndRoll
*/
AUTELStickSensitivityTypePitchAndRoll = 1,
/**
* @brief Thrust
*/
AUTELStickSensitivityTypeThrust = 2,
/**
* @brief Attitude
*/
AUTELStickSensitivityTypeAtti = 3,
/**
* @brief Brake
*/
AUTELStickSensitivityTypeBrake = 4,
/**
* @brief Yaw Sch
*/
AUTELStickSensitivityTypeYawSch = 5,
/**
* @brief Pitch
*/
AUTELStickSensitivityTypePitch = 6,
/**
* @brief Roll
*/
AUTELStickSensitivityTypeRoll = 7,
/**
* @brief Unknown
*/
AUTELStickSensitivityTypeUnknown = -1,
};

enum AUTELOADirection

describe:Define the obstacle avoidance switch direction

typedef NS_ENUM(uint8_t, AUTELOADirection) {
/**
* @brief front & rear
*/
AUTELOADirectionFrontRear = 0,
/**
* @brief left & right
*/
AUTELOADirectionLeftRight = 1,
/**
* @brief top
*/
AUTELOADirectionTop = 2,

/**
* @brief Unknown
*/
AUTELOADirectionUnknown = -1,
};

enum AUTELTransferFileType

describe:Define the upload file type

typedef NS_ENUM(uint8_t, AUTELTransferFileType) {
/**
* @brief Program data/upgrade files
*/
AUTELTransferFileTypeUpgrade = 0,
/**
* @brief Elevation data file
*/
AUTELTransferFileTypeElevationData = 1,
/**
* @brief The no-fly zone file
*/
AUTELTransferFileTypeNoFlyZone = 2,
/**
* @brief Reserve
*/
AUTELTransferFileTypereserve1 = 3,
/**
* @brief Reserve
*/
AUTELTransferFileTypereserve2 = 4,
/**
* @brief Mission data file
*/
AUTELTransferFileTypeMissionData = 5,
/**
* @brief Loudspeaker data file
*/
AUTELTransferFileTypeAudioData = 6,
/**
* @brief License area data file
*/
AUTELTransferFileTypeAuthFlyZone = 7,

/**
* @brief New mission data file
*/
AUTELTransferFileTypeMisssionFileData = 8,

/**
* @brief Unknown
*/
AUTELTransferFileTypeUnknown = -1,
};

enum AUTELAirLinkType

describe:airLink type

typedef NS_ENUM(NSInteger, AUTELAirLinkType){
///zte
AUTELAirLinkTypeZte = 0x00,
///Wimax
AUTELAirLinkTypeWimax = 0x01,
};