class AUTELMCSystemState
@interface AUTELMCSystemState : NSObject<NSCopying>
describe:This class includes the states of main controller. The real-time state of main controller is updated by AUTELDroneMainControllerDelegate mainController:didUpdateSystemState
property satelliteCount
@property(nonatomic, assign) int satelliteCount;
describe:Number of visible satellites of aircraft
property homeLocation
@property(nonatomic, assign) CLLocationCoordinate2D homeLocation;
describe:Home location of the aircraft as a coordinate.
This is the location where the aircraft fly to when go home is triggered. Call AUTELDroneMainController. setHomePointAtCurrentGPSPositionWithComletion and setHomePoint:withCompletion to set home point.
The main controller sets current location as home point when motors started. If the home point is invalid, property isHomeInvalid will turn to YES.
property droneLocation
@property(nonatomic, assign) CLLocationCoordinate2D droneLocation;
describe:Current location of the aircraft as a coordinate.
If property isGPSWeakWarning is Yes, then current location of drone is invalid.
property velocityX
@property(nonatomic, assign) float velocityX;
describe:Current speed of the aircraft in the x direction in meters per second using the N-E-D (North-East-Down) coordinate system.
property velocityY
@property(nonatomic, assign) float velocityY;
describe:Current speed of the aircraft in the y direction in meters per second using the N-E-D (North-East-Down) coordinate system.
property velocityZ
@property(nonatomic, assign) float velocityZ;
describe:Current speed of the aircraft in the z direction in meters per second using the N-E-D (North-East-Down) coordinate system.
property altitude
@property(nonatomic, assign) float altitude;
describe:Relative altitude of the aircraft relative to take off location, in meters.
property altitudeMSL
@property(nonatomic, assign) float altitudeMSL;
describe:The absolute height of the aircraft relative to sea level (m), measured by barometer.
property distance
@property(nonatomic, assign) float distance;
describe:Distance between the aircraft and the Home point
property attitude
@property(nonatomic) AUTELAttitude attitude;
describe:The attidue of aircraft.
The range of attitude. pitch is from - π/2 to π/2. Sets to -π/2 so that the head of aircraft vertically faces down. Sets to π/2 so that the head of aircraft vertically faces up. Sets to 0 so that the front and back wing stays in horizon.
The range of attitude. roll is –π to π. Sets to 0 so that the left and right ailerons stays in horizon. Sets to -π/2 so that the right aileron is higher than left aileron and stays vertically to the ground. Sets to π/2 so that the left aileron is high then the right aileron and stays vertically to the ground. Sets to π or –π so that the aircraft horizontal inverse.
The range of attitude. yaw is from –π to π. Sets 0 for attitude.yaw to face north, sets -π/2 to face west, sets π/2 to face east and sets π or –π to face south.
property powerPercentage
@property(nonatomic, assign) float powerPercentage;
describe:Remain power percentage of the battery.
property remainingFlightTime
remainingFlightTime@property(nonatomic, assign) float remainingFlightTime;
describe:Remaining flight time
property currentElectricity
@property(nonatomic, assign) float currentElectricity;
describe:The current electricity volume of battery (mAh).
property powerWarning
@property(nonatomic, assign) AUTELDroneLowPowerWarning powerWarning;
describe:Lower battery warning , AUTELDroneLowPowerWarning。
When powerWarning is DroneLowPower, the aircraft will start to go home. When powerWarning is DroneVeryLowPower, the aircraft will start to land on the ground.
property isUnknowBattery
@property(nonatomic, assign) BOOL isUnknowBattery;
describe:This property describes whether the battery is an unknown battery.
property isFlying
@property(nonatomic, assign) BOOL isFlying;
describe:Return whether the drone is flying.
property isAutoFlyingToHomePoint
@property(nonatomic, assign) BOOL isAutoFlyingToHomePoint;
describe:Return whether the drone is auto flying to home point.
property flightMode
@property(nonatomic, assign) AUTELMainControllerFlightMode flightMode;
describe:Return flight mode. AUTELMainControllerFlightMode。
property mainMode
@property(nonatomic, assign) AUTELMainControllerMainMode mainMode;
describe:Main mode. AUTELMainControllerMainMode。
property noFlyStatus
@property(nonatomic, assign) AUTELMainControllerNoFlyStatus noFlyStatus;
describe:Restricted / no fly status of aircraft. AUTELMainControllerNoFlyStatus。
property gpsSignalLevel
@property(nonatomic, assign) AUTELGpsSignalLevel gpsSignalLevel;
describe:GPS signal level. AUTELGpsSignalLevel。
property isFailsafe
@property(nonatomic, assign) BOOL isFailsafe;
describe:This property describes whether RC singal is lost, if lost then execute failsafe program.
property isIMUPreheating
@property(nonatomic, assign) BOOL isIMUPreheating;
describe:This property describes whether IMU is pre-heating.
property isCompassError
@property(nonatomic, assign) BOOL isCompassError;
describe:This property describes whether compass is abnomal.
property compassInterferenceLevel
@property(nonatomic, assign) AUTELCompassInterferenceLevel compassInterferenceLevel;
describe:The level of compass interference. AUTELCompassInterferenceLevel
property isUltrasonicWorking
@property(nonatomic, assign) BOOL isUltrasonicWorking;
describe:This property describes whether ultrasonic is working.
property ultrasonicHeight
@property(nonatomic, assign) float ultrasonicHeight;
describe:Height of aircraft measured by the ultrasonic, data is valid while property isUltrasonicWorking is YES.
property isMotorWorking
@property(nonatomic, assign) BOOL isMotorWorking;
describe:This property describes whether motors are on.
property mcWarningFlage
@property(nonatomic, assign) uint32_t mcWarningFlage;
describe:Main controller warning flag.
property isReachMaxRange
@property(nonatomic, assign) BOOL isReachMaxRange;
describe:This property describes whether the aircraft reaches maximum distance.
property isNearMaxRange
@property(nonatomic, assign) BOOL isNearMaxRange;
describe:This property describes whether the aircraft is close to the farthest flight distance.
property isReachMaxHeight
@property(nonatomic, assign) BOOL isReachMaxHeight;
describe:This property describes whether the aircraft reaches maximum height.
property isGPSWeakWarning
@property(nonatomic, assign) BOOL isGPSWeakWarning;
describe:This property describes whether there is a GPS weak warning. If Yes, then the value of droneLocation is invalid.
property isPushThrottleWhileGoHome
@property(nonatomic, assign) BOOL isPushThrottleWhileGoHome;
describe:If user presses go home button while pushing throttle. isPushThrottleWhileGoHome turns to Yes, else stays in no value.
property isTakeOffBeforArm
@property(nonatomic, assign) BOOL isTakeOffBeforArm;
describe:This property describes whether user is pressing auto take-off button while motors are off.
property isFrontLEDTurnOn
@property(nonatomic, assign) BOOL isFrontLEDTurnOn;
describe:This property describes whether front LED is on.
property compassCalibrationStatus
@property(nonatomic, assign) AUTELCompassCalibrationStatus compassCalibrationStatus;
describe:This property describes the status of compass calibration. AUTELCompassCalibrationStatus
property turnOnMotorError
@property(nonatomic, assign) uint8_t turnOnMotorError;
describe:The reason why motors can not be fire up.
If motors can be fired up for some reasons, the value of turnOnMotoeError will ne assigned. Each bit of the value presents one error message, please check the detail error message in AUTELControlMotorError. Calculate the values of turnOnMotorError and AUTELControlMotorError to get the error message.
property batteryTemperatureWarning
@property(nonatomic, assign) AUTELBatteryTemperatureWarning batteryTemperatureWarning;
describe:Battery temperature alarm. AUTELBatteryTemperatureWarning
property isBatteryOverheated
@property(nonatomic, assign) BOOL isBatteryOverheated;
describe:This property describes whether the battery is overheated.
property isBatteryLowTemperature
@property(nonatomic, assign) BOOL isBatteryLowTemperature;
describe:This property describes whether the battery has too low temperature.
property isBatteryVoltageDiff
@property(nonatomic, assign) BOOL isBatteryVoltageDiff;
describe:This property describes whether Battery cell voltage imbalance
property isIMUOverheated
@property(nonatomic, assign) BOOL isIMUOverheated;
describe:This property describes whether IMU is overheated.
property isHomeInvalid
@property(nonatomic, assign) BOOL isHomeInvalid;
describe:This property describes whether home point is valid.
property isAircraftRequestingToGoHome
@property(nonatomic, assign) BOOL isAircraftRequestingToGoHome;
describe:The flight control requests to return, if the user does not respond, the aircraft will return after 10s.
property isStickLimited
@property(nonatomic, assign) BOOL isStickLimited;
describe:is stick limited
property isHomePointNotAccurate
@property(nonatomic, assign) BOOL isHomePointNotAccurate;
describe:is Return point may not be accurate
property mainModeString
@property(nonatomic, copy) NSString* mainModeString;
describe:Main mode string. ex. "GPS", "Atti", "IOC", "Starpoint".
property virtualMode
@property(nonatomic, assign) AUTELVirtualStickMode virtualMode;
describe:Virtual joystick mode,AUTELVirtualStickMode
property versionID
@property(nonatomic, assign) NSUInteger versionID;
describe:Version ID
property supportRTK
@property(nonatomic, assign) BOOL supportRTK;
describe:Support RTK
property aircraftGPSSignalRadius
@property(nonatomic, assign) double aircraftGPSSignalRadius;
describe:Aircraft GPS signal radius
property imuCalibrationStatus
@property(nonatomic, assign) AUTELIMUCalibrationStatus imuCalibrationStatus;
describe: This property describes the status of IMU calibration. AUTELIMUCalibrationStatus。
property imuCalibrationWarn
@property(nonatomic, assign) AUTELIMUCalibrationWarn imuCalibrationWarn;
describe:IMU calibration warn. AUTELIMUCalibrationWarn。
property accessoryWorkMode
@property(nonatomic) AUTELAccessoryWorkMode accessoryWorkMode;
describe:Accessory working mode. AUTELAccessoryWorkMode.
property accessoryAdjustValue
@property(nonatomic) NSInteger accessoryAdjustValue;
describe:Accessory adjustment value, in range [0-100]. If accessoryWorkMode is 0 or 1, adjustment value indicates brightness If accessoryWorkMode is 2, adjustment value indicates volume
enum AUTELMainControllerFlightMode
describe:Define main cotroller flight mode.
typedef NS_ENUM(uint8_t, AUTELMainControllerFlightMode) {
/**
* @brief Motors stopped.
*
*/
AutelMCFlightModeDisarm = 0,
/**
* @brief Motors rotating with aircraft on the ground.
*
*/
AutelMCFlightModeLanded = 1,
/**
* @brief The aircraft is landing.
*
*/
AutelMCFlightModeLanding = 2,
/**
* @brief The airrcraft is taking off (with the use of the Takeoff/landing button or left command stick).
*
*/
AutelMCFlightModeTakeoff = 3,
/**
* @brief The aircraft is flying in ATTI mode.
*
*/
AutelMCFlightModeAttitude = 4,
/**
* @brief The aircraft is flying in GPS mode or Starpoint mode.
*
*/
AutelMCFlightModeGPS = 5,
/**
* @brief The aircraft is flying in IOC mode.
*
*/
AutelMCFlightModeIOC = 6,
/**
* @brief The aircraft is returing to the home point according to Go Home orders sent through remote controller or app.
*
*/
AutelMCFlightModeManualGoHome = 7,
/**
* @brief The aircraft is returning to the home point because low battery warning (25%) is activated.
*
*/
AutelMCFlightModeLowBattreyGoHome = 8,
/**
* @brief The aircraft is returning to the home point because minimum battery level needed for Go Home is reached.
*
*/
AutelMCFlightModeSmartLowBatteryGoHome = 9,
/**
* @brief The aircraft is returning to the home point because Failsafe is treggered by signal loss between the remote controller and the aircraft.
*
*/
AutelMCFlightModeFailSaveGoHome = 10,
/**
* @brief Auto hovering due to signal loss with the remote controller.
*
*/
AutelMCFlightModeFailSaveHover = 11,
/**
* @brief The aircraft is performing the Waypoint task.
*
*/
AutelMCFlightModeWaypoint = 12,
/**
* @brief Waypoint task paused. Aircraft hovering.
*
*/
AutelMCFlightModeWaypointPause = 13,
/**
* @brief The aircraft exited from the Aotopilot mode and is returning to the home point automatically.
*
*/
AutelMCFlightModeWaypointGoHome = 14,
/**
* @brief The aircraft is performing the Follow task.
*
*/
AutelMCFlightModeFollowMe = 15,
/**
* @brief The aircraft is performing the Orbit task.
*
*/
AutelMCFlightModeHotpoint = 16,
/**
* @brief Follow task paused. Aircraft hovering.
*
*/
AutelMCFlightModeFollowMePause = 17,
/**
* @brief Orbit task paused. Aircraft hovering.
*
*/
AutelMCFlightModeHotpointPause = 18,
/**
* @see AutelMCFlightModeHotpointPause
*/
AutelMCFlightModeEnd = AutelMCFlightModeHotpointPause,
/**
* @brief The aircraft is performing the 360° Shoot task.
*
*/
AutelMCFlightMode360Shoot = 19,
/**
* @brief The aircraft is performing the Epic task.
*
*/
AutelMCFlightModeEpic = 20,
/**
* @brief The aircraft is performing the Rise task.
*
*/
AutelMCFlightModeRise = 21,
/**
* @brief The aircraft is performing the FadeAway task.
*
*/
AutelMCFlightModeFadeAway = 22,
/**
* @brief The aircraft is performing the Intosky task.
*
*/
AutelMCFlightModeIntosky = 23,
/**
* @brief The aircraft is performing the Boomerang task.
*
*/
AutelMCFlightModeBoomerang = 24,
/**
* @brief The aircraft is performing the Screw task.
*
*/
AutelMCFlightModeScrew = 25,
/**
* @brief The aircraft is performing the Parabola task.
*
*/
AutelMCFlightModeParabola = 26,
/**
* @brief The aircraft is performing the Asteroid task.
*
*/
AutelMCFlightModeAsteroid = 27,
/**
* @brief The aircraft is performing the Circle Round task.
*
*/
AutelMCFlightModeCircleRound= 28,
/**
* @brief The aircraft is performing the DollyZoom task.
*
*/
AutelMCFlightModeDollyZoom = 29,
/**
* @brief The aircraft is performing the Tripod task.
*
*/
AutelMCFlightModeTripod = 30,
/**
* @brief The aircraft is performing the Photographer task.
*
*/
AutelMCFlightModePhotographer = 31,
/**
* @brief The aircraft is performing the Rectangle task.
*
*/
AutelMCFlightModeRectangle = 32,
/**
* @brief Rectangle task paused. Aircraft hovering.
*
*/
AutelMCFlightModeRectanglePause = 33,
/**
* @brief The aircraft is performing the Polygon task.
*
*/
AutelMCFlightModePolygon = 34,
/**
* @brief Polygon task paused. Aircraft hovering.
*
*/
AutelMCFlightModePolygonPause = 35,
/**
* @brief The aircraft is performing the DelayShot task.
*
*/
AutelMCFlightModeDelayShot = 36,
/**
* @brief DelayShot task paused. Aircraft hovering.
*
*/
AutelMCFlightModeDelayShotPause = 37,
/**
* @brief The aircraft is performing the Oblique photography task.
*
*/
AutelMCFlightModeObliquePhoto = 38,
/**
* @brief Oblique photography task paused. Aircraft hovering.
*
*/
AutelMCFlightModeObliquePhotoPause = 39,
/**
* @brief The aircraft is performing the Panoramic photo task.
*
*/
AutelMCFlightModePanoramicPhoto = 40,
/**
* @brief Panoramic photo task paused. Aircraft hovering.
*
*/
AutelMCFlightModePanoramicPhotoPause = 41,
/**
* The Dynamic Track mode is common.__deprecated
*/
AutelMCFlightModeTrackCommonMode = 19 + 181,
/**
* The Dynamic Track mode is parallel.__deprecated
*/
AutelMCFlightModeTrackParallelMode = 20 + 181,
/**
* The Dynamic Track mode is tripod.__deprecated
*/
AutelMCFlightModeTrackLockedMode = 21 + 181,
/**
* @brief Indoor view point.__deprecated
*
*/
AutelMCFlightModePointFlyInside = 22 + 181,
/**
* @brief Outdoor view point.__deprecated
*
*/
AutelMCFlightModePointFlyOutside = 23 + 181,
/**
* @brief Unknown flight mode
*
*/
AutelMCFlightModeUnknow = 0xFF,
};
enum AUTELDroneLowPowerWarning
describe:Define low battery warning.
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 AUTELMainControllerMainMode
describe:Main mode.
typedef NS_ENUM(uint8_t, AUTELMainControllerMainMode) {
/**
* @brief Unknown main mode
*
*/
AUTELMCMainModeUnknown = 0,
/**
* @brief attitude (ATTI)
*
*/
AUTELMCMainModeAttitude,
/**
* @brief GPS
*
* GPS
*/
AUTELMCMainModeGPS,
/**
* @brief IOC
*
* IOC
*/
AUTELMCMainModeIOC,
/**
* @brief Indoor positioning
*
*/
AUTELMCMainModeStarpoint,
};
enum AUTELMainControllerNoFlyStatus
describe:Define No-fly state of the aircraft.
typedef NS_ENUM(uint8_t, AUTELMainControllerNoFlyStatus){
/**
* @brief Flying normal
*
*/
DroneNormalFlying = 0,
/**
* @brief Approaching Flight-Restricted Zone.
*
*/
DroneApproachingNoFlyZone = 1,
/**
* @brief Arrived at Flight-Restricted zone.
*
*/
DroneUnderLimitFlyZone = 2,
/**
* @brief Max altitude reached in Flight-Restricted Zone.
*
*/
DroneReachMaxFlyingHeightInLimitFlyZone = 3,
/**
* @brief Entering No-Fly zone.
*
*/
DroneInNoFlyZone = 4,
/**
* @brief Entering No-Fly zone.
*
*/
DroneInENNoFlyZone = 5,
/**
* @brief Unknown No-Fly state of the aircraft.
*
*/
UnknownStatus,
};
enum AUTELGpsSignalLevel
describe:Define GPS signal strength level.
typedef NS_ENUM(uint8_t, AUTELGpsSignalLevel){
/**
* @brief GPS signal critical weak
*
*/
GpsSignalLevel0,
/**
* @brief Gps signal very weak
*
*/
GpsSignalLevel1,
/**
* @brief Gps signal weak
*
*/
GpsSignalLevel2,
/**
* @brief Gps signal good
*
*/
GpsSignalLevel3,
/**
* @brief Gps signal very good
*
*/
GpsSignalLevel4,
/**
* @brief Gps signal very strong
*
*/
GpsSignalLevel5,
/**
* @brief No GPS signal or GPS signal unavailable.
*
*/
GpsSignalLevelNone,
};
enum AUTELControlMotorError
describe:Define the causes for failure of starting motors.
typedef NS_ENUM(uint8_t, AUTELControlMotorError) {
/**
* @brief Motor work normal
*
*/
AUTELControlMotorErrorNormal = 0,
/**
* @brief IMU abnormal
*
*/
AUTELControlMotorErrorIMUError = 1,
/**
* @brief critical low power
*
*/
AUTELControlMotorErrorCriticalLowPower = 2,
/**
* @brief Barometer abnormal
*
*/
AUTELControlMotorErrorBarometerError = 3,
/**
* @brief In NoFly zone
*
*/
AUTELControlMotorErrorInNoFlyZone = 4,
/**
* @brief IOC abnormal
*
*/
AUTELControlMotorErrorIOCError = 5,
/**
* @brief GPS signal not found in Beginner mode.
*
*/
AUTELControlMotorErrorNoviceModeEnableAndNoGPSSignal = 6,
/**
* @brief Aircraft tilting, turning off the motor
*
*/
AUTELControlMotorErrorDisamrAircraftTilt = 7,
/**
* @brief IMU abnormal, turn off the motor
*
*/
AUTELControlMotorErrorDisamrIMUError = 8,
/**
* @brief IMU preheating
*
*/
AUTELControlMotorErrorIMUPreheating = 9,
/**
* @brief Compass is calibrating
*
*/
AUTELControlMotorErrorIsCalibratingCompress = 10,
/**
* @brief Multiple sensor anomalies
*
*/
AUTELControlMotorErrorMultipleSensorsError = 11,
/**
* @brief Gimbal is not ready
*
*/
AUTELControlMotorErrorGimbalNotReady = 12,
/**
* @brief Firmware upgrade is in progress
*
*/
AUTELControlMotorErrorIsUpgradingFirmware = 13,
/**
* @brief Initializing attitude
*
*/
AUTELControlMotorErrorIsInitializingAttitude = 15,
/**
* @brief RTK is not ready
*
*/
AUTELControlMotorErrorIsRTKNotReady = 16,
/**
* @brief Aircraft is not activated
*
*/
AUTELControlMotorErrorIsAircraftNotActivated = 17,
};
enum AUTELVirtualStickMode
describe:App-controlled stick mode
typedef NS_ENUM(uint8_t, AUTELVirtualStickMode) {
/**
* @brief The aircraft is not in app-controlled stick mode.
*
*/
AUTELVirtualStickModeNone,
/**
* @brief App-controlled stick mode (control all axes)
*
*/
AUTELVirtualStickModeAll,
/**
* @brief App-controlled stick mde (control yaw axis only)
*
*/
AUTELVirtualStickModeYaw,
};