PyzeDrone

@interface PyzeDrone : PyzeCustomEvent

PyzeDrone

Subclass of PyzeCustomEvent class used post details of the events related to management of Drones, Quadcopters and other iOS controlled devices over bluetooth, and or adhoc WiFi. - Since: v3.0.5

  • Post Preflight health check Before begining a flight it is a good idea to do a quick health check of both the drone and transmitter / controller (i.e. the device and app). A Preflight health check could include the storage (usually a micro SD card) presence and status if the drone is equipped with a camera, battery status of drone and device, calibration status and satellite lock status for GPS equipped drones.

    Since

    v3.0.5

    Declaration

    Objective-C

    + (void)postPreflightCheckCompleted:(nonnull NSString *)overallStatus
                      withStorageStatus:(nonnull NSString *)storageStatus
                       withDroneBattery:(NSInteger)droneBatteryChargePercent
                 withTransmitterBattery:(NSInteger)deviceBatteryChargePercent
                  withCalibrationStatus:(nonnull NSString *)calibrationStatus
                          withGPSStatus:(nonnull NSString *)gpsStatus
                         withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postPreflightCheckCompleted(_ overallStatus: String, withStorageStatus storageStatus: String, withDroneBattery droneBatteryChargePercent: Int, withTransmitterBattery deviceBatteryChargePercent: Int, withCalibrationStatus calibrationStatus: String, withGPSStatus gpsStatus: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    overallStatus

    summary of overall status

    storageStatus

    storage (usually a micro SD card) presence and status if the drone is equipped with a camera

    droneBatteryChargePercent

    drone battery status[range should be within 0 to 100].

    deviceBatteryChargePercent

    controller device status [range should be within 0 to 100].

    calibrationStatus

    calibration status

    gpsStatus

    gps Status if drone is GPS equipped

    attributes

    Additional custom attributes - Since: v3.0.5

  • Inflight health check - parameter: overallStatus summary of overall status - parameter: rollStatus accomplished by controlling the Aileron (moving right stick to the left or right) which maneuvers the drone / quadcopter left or right. - parameter: pitchStatus accomplished by controlling the Elevator (moving right stick forwards or backwards) which maneuvers the drone / quadcopter forwards or backwards. - parameter: yawStatus accomplished by controlling Rudder (moving the left stick to the left or to the right) Rotates the drone / quadcopter left or right. Points the front of the drone / quadcopter different directions and helps with changing directions while flying.

    Since

    v3.0.5

    Declaration

    Objective-C

    + (void)postInflightCheckCompleted:(nonnull NSString *)overallStatus
                              withRoll:(nonnull NSString *)rollStatus
                             withPitch:(nonnull NSString *)pitchStatus
                               withYaw:(nonnull NSString *)yawStatus
                          withThrottle:(nonnull NSString *)throttleStatus
                              withTrim:(nonnull NSString *)trimmingSettings
                        withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postInflightCheckCompleted(_ overallStatus: String, withRoll rollStatus: String, withPitch pitchStatus: String, withYaw yawStatus: String, withThrottle throttleStatus: String, withTrim trimmingSettings: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    overallStatus

    summary of overall status

    rollStatus

    accomplished by controlling the Aileron (moving right stick to the left or right) which maneuvers the drone / quadcopter left or right.

    pitchStatus

    accomplished by controlling the Elevator (moving right stick forwards or backwards) which maneuvers the drone / quadcopter forwards or backwards.

    yawStatus

    accomplished by controlling Rudder (moving the left stick to the left or to the right) Rotates the drone / quadcopter left or right. Points the front of the drone / quadcopter different directions and helps with changing directions while flying.

    throttleStatus

    accomplished by controlling Throttle. Engaged by pushing the left stick forwards. Disengaged by pulling the left stick backwards. This adjusts the altitude, or height, of the quadcopter.

    trimmingSettings

    Adjust roll, pitch, yaw, and throttle if they are off balance. e.g. +20-20+4+0 would mean adjustments in percent of 20%, -20%, +4% and 0% for roll, pitch, yaw, and throttle respectively.

    attributes
     Additional custom attributes
    

    Since

    v3.0.5
  • Drone is connected to controlling device. Time to connect depends on surroundings and interference. Post this after successfully connecting

    Declaration

    Objective-C

    + (void)postConnected:(nonnull NSDictionary *)attributes;

    Swift

    class func postConnected(_ attributes: [AnyHashable : Any])

    Parameters

    attributes

    Additional custom attributes

  • Drone is disconnected from controlling device either explicitly or because of environment or distance

    Declaration

    Objective-C

    + (void)postDisconnected:(nonnull NSString *)code
              withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postDisconnected(_ code: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    code

    disconnection code indicating how disconnected from the controller’s point of view

    attributes

    Additional custom attributes

  • Drone is Airborne

    Declaration

    Objective-C

    + (void)postAirborne:(nonnull NSString *)status
          withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postAirborne(_ status: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    status

    Drone status if any

    attributes

    Additional custom attributes

  • Drone Landed

    Declaration

    Objective-C

    + (void)postLanded:(nonnull NSString *)status
        withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postLanded(_ status: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    status

    Drone status if any

    attributes

    Additional custom attributes

  • New Flight path created

    Declaration

    Objective-C

    + (void)postFlightPathCreated:(nonnull NSString *)uniqueFlightPathId
                   withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postFlightPathCreated(_ uniqueFlightPathId: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    uniqueFlightPathId

    Every Flight Path should be associated with a unique identifier or name

    attributes

    Additional custom attributes

  • Flight path uploaded to drone

    Declaration

    Objective-C

    + (void)postFlightPathUploaded:(nonnull NSString *)uniqueFlightPathId
                    withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postFlightPathUploaded(_ uniqueFlightPathId: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    uniqueFlightPathId

    Every Flight Path should be associated with a unique identifier or name

    attributes

    Additional custom attributes

  • Flight path created edited on controller and should be re-uplooaded

    Declaration

    Objective-C

    + (void)postFlightPathEdited:(nonnull NSString *)uniqueFlightPathId
                  withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postFlightPathEdited(_ uniqueFlightPathId: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    uniqueFlightPathId

    Every Flight Path should be associated with a unique identifier or name

    attributes

    Additional custom attributes

  • Flight path deleted

    Declaration

    Objective-C

    + (void)postFlightPathDeleted:(nonnull NSString *)uniqueFlightPathId
                   withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postFlightPathDeleted(_ uniqueFlightPathId: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    uniqueFlightPathId

    Every Flight Path should be associated with a unique identifier or name

    attributes

    Additional custom attributes

  • Flight path flown

    Declaration

    Objective-C

    + (void)postFlightPathCompleted:(nonnull NSString *)uniqueFlightPathId
                     withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postFlightPathCompleted(_ uniqueFlightPathId: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    uniqueFlightPathId

    Every Flight Path should be associated with a unique identifier or name

    attributes

    Additional custom attributes

  • First Person View Enabled. this allows a lower quality video to be transmitted to controller in near realtime with an acceptable lag

    Declaration

    Objective-C

    + (void)postFirstPersonViewEnabled:(nonnull NSString *)status
                        withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postFirstPersonViewEnabled(_ status: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    status

    status on FPV

    attributes

    Additional custom attributes

  • First Person View Disabled.

    Declaration

    Objective-C

    + (void)postFirstPersonViewDisabled:(nonnull NSString *)status
                         withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postFirstPersonViewDisabled(_ status: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    status

    status on FPV

    attributes

    Additional custom attributes

  • Started taking aerial video identifed by video identifier

    Declaration

    Objective-C

    + (void)postStartedAerialVideo:(nonnull NSString *)status
                    withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postStartedAerialVideo(_ status: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    status

    status

    attributes

    Additional custom attributes

  • Started taking aerial video identifed by video identifier

    Declaration

    Objective-C

    + (void)postStartedAerialVideo:(nonnull NSString *)status
                    videoIdentifer:(nonnull NSString *)videoIdentifer
                    withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postStartedAerialVideo(_ status: String, videoIdentifer: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    status

    status

    videoIdentifer

    Video Identifier

    attributes

    Additional custom attributes

  • Stopped taking aerial video

    Declaration

    Objective-C

    + (void)postStoppedAerialVideo:(nonnull NSString *)videoIdentifer
                        withLength:(nonnull NSString *)secondsLength
                    withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postStoppedAerialVideo(_ videoIdentifer: String, withLength secondsLength: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    videoIdentifer

    Video Identifier

    attributes

    Additional custom attributes

  • Took Aerial Picture

    Declaration

    Objective-C

    + (void)postTookAerialPicture:(nonnull NSString *)status
                   withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postTookAerialPicture(_ status: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    status

    status

    attributes

    Additional custom attributes

  • Started taking Aerial Timelapse - In Time-lapse drone photography the frequency at which frames are captured (the frame rate) is much lower than that used to view the sequence. When played at normal speed, time appears to be moving faster and thus lapsing. For example, an image of a scene may be captured once every second, then played back at 30 frames per second; the result is an apparent 30 times speed increase. Specify total shots and seconds between shots. The playback time would be approximately be the product of total shots and seconds betwwen shots

    Declaration

    Objective-C

    + (void)postStartedAerialTimelapse:(nonnull NSString *)status
                            totalShots:(NSInteger)totalshots
                     delayBetweenShots:(NSInteger)secondsBetweenShots
                        withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postStartedAerialTimelapse(_ status: String, totalShots totalshots: Int, delayBetweenShots secondsBetweenShots: Int, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    status

    status

    totalshots

    Total Number of shots

    secondsBetweenShots

    delay between shots

    attributes

    Additional custom attributes

  • Stopped Aerial Timelapse

    Declaration

    Objective-C

    + (void)postStoppedAerialTimelapse:(nonnull NSString *)status
                        withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postStoppedAerialTimelapse(_ status: String, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    status

    status (interupted / completed)

    attributes

    Additional custom attributes

  • Requested Drone to return to base

    Declaration

    Objective-C

    + (void)postRequestedReturnToBase:(nonnull NSDictionary *)attributes;

    Swift

    class func postRequestedReturn(toBase attributes: [AnyHashable : Any])

    Parameters

    attributes

    Additional custom attributes

  • Switched to Helicopter flying mode. Similar to flying a helicopter, once you tilt the quadcopter (roll) it will not auto-level itself back to its original position. Even if you let go of the stick and it returns to the middle, the drone will stay tilted. Not all drones support this Manual mode.

    Declaration

    Objective-C

    + (void)postSwitchedToHelicopterFlyingMode:(nonnull NSDictionary *)attributes;

    Swift

    class func postSwitched(toHelicopterFlyingMode attributes: [AnyHashable : Any])

    Parameters

    attributes

    Additional custom attributes

  • Switched to Attitude or Auto-level flying mode. Once the sticks are centered, the drone will level itself out

    Declaration

    Objective-C

    + (void)postSwitchedToAttitudeFlyingMode:(nonnull NSDictionary *)attributes;

    Swift

    class func postSwitched(toAttitudeFlyingMode attributes: [AnyHashable : Any])

    Parameters

    attributes

    Additional custom attributes

  • Switched to GPS Hold flying mode – Returns the drone’s position once the sticks have been centered. The same as attitude mode (auto-level) but using an on-board GPS. Drones that support GPS usually have this mode.

    Declaration

    Objective-C

    + (void)postSwitchedToGPSHoldFlyingMode:(nonnull NSDictionary *)attributes;

    Swift

    class func postSwitched(toGPSHoldFlyingMode attributes: [AnyHashable : Any])

    Parameters

    attributes

    Additional custom attributes

  • Switched to Custom Device Mode identified by a numeric mode. Some drones have numbered modes 1, 2, 3.

    Declaration

    Objective-C

    + (void)postSwitchedToCustomFlyingMode:(NSInteger)mode
                            withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postSwitched(toCustomFlyingMode mode: Int, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    mode

    Numeric custom mode

    attributes

    Additional custom attributes

  • Drones that support GPS can limit the altitude to avoid flying into restricted airspace

    Declaration

    Objective-C

    + (void)postSetMaxAltitude:(NSInteger)altitudeInMeters
                withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postSetMaxAltitude(_ altitudeInMeters: Int, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    altitudeInMeters

    altitude in meters. One foot is 0.3048 meters.

    attributes

    Additional custom attributes

  • This feature is avilable on drones that are used for surveying. If the drone has to survey 4 jobs you can specify the time in seconds for a job to ensure enough battery is available for subsequent jobs. The math is performed by app

    Declaration

    Objective-C

    + (void)postSetAutoReturnInSeconds:(NSInteger)seconds
                        withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postSetAutoReturn(inSeconds seconds: Int, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    seconds

    seconds to return in

    attributes

    Additional custom attributes

  • The drone can be requested to return when storage memory reaches a low threshold.

    Declaration

    Objective-C

    + (void)postSetAutoReturnWhenLowMemory:(NSInteger)memoryLeftInKilobytes
                            withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postSetAutoReturn(whenLowMemory memoryLeftInKilobytes: Int, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    memoryLeftInKilobytes

    return when storage is below memoryLeftInKilobytes

    attributes

    Additional custom attributes

  • The drone can be requested to return when battery reaches a low threshold.

    Declaration

    Objective-C

    + (void)postSetAutoReturnWhenLowBattery:(NSInteger)batterylevelPercent
                             withAttributes:(nonnull NSDictionary *)attributes;

    Swift

    class func postSetAutoReturn(whenLowBattery batterylevelPercent: Int, withAttributes attributes: [AnyHashable : Any] = [:])

    Parameters

    batterylevelPercent

    return when battery is below batterylevelPercent

    attributes

    Additional custom attributes