Piloting Interfaces

  • Base protocol for all Piloting interfaces components.

    Declaration

    Swift

    @objc(GSPilotingItf)
    public protocol PilotingItf : Component
  • Defines all known Piloting Interfaces descriptors.

    See more

    Declaration

    Swift

    @objcMembers
    @objc(GSPilotingItfs)
    public class PilotingItfs : NSObject
  • Protocol that provides functions to get piloting interfaces.

    See more

    Declaration

    Swift

    public protocol PilotingItfProvider
  • Base protocol for the piloting interfaces components that can be activated or deactivated.

    See more

    Declaration

    Swift

    @objc(GSActivablePilotingItf)
    public protocol ActivablePilotingItf : AnyObject
  • Activable piloting interface state. There is only one piloting interface active at a time on a drone.

    See more

    Declaration

    Swift

    @objc(GSActivablePilotingItfState)
    public enum ActivablePilotingItfState : Int, CustomStringConvertible
  • Animation piloting interface.

    This piloting interface cannot be activated or deactivated. It is present as soon as a drone supporting animations is connected. It is removed as soon as the drone is disconnected.

    According to different parameters, the list of available animations can change. These parameters can be (not exhaustive):

    • Current activated piloting interface
    • Information about the controller (such as location)
    • Internal state of the drone (such as battery level, gps fix…)

    This piloting interface can be retrieved by:

    drone.getPilotingItf(animation)
    
    See more

    Declaration

    Swift

    public protocol AnimationPilotingItf : PilotingItf
  • Flight Plan piloting interface for drones.

    Allows to make the drone execute predefined flight plans. A flight plan is defined using a file in Mavlink format. For further information, please refer to Parrot FlightPlan Mavlink documentation.

    This piloting interface remains .unavailable until all FlightPlanUnavailabilityReason have been cleared:

    • A Flight Plan file (i.e. a mavlink file) has been uploaded to the drone (see uploadFlightPlan(filepath:))
    • The drone GPS location has been acquired
    • The drone is properly calibrated
    • The drone is in a state that allows it to take off

    Then, when all those conditions hold, the interface becomes .idle and can be activated to begin or resume Flight Plan execution, which can be paused by deactivating this piloting interface.

    This piloting interface can be retrieved by:

    drone.getPilotingItf(flightPlan)
    
    See more

    Declaration

    Swift

    public protocol FlightPlanPilotingItf : ActivablePilotingItf, PilotingItf
  • FollowMe piloting interface.

    During an activated FollowMe, the drone will always look at the target but can be piloted normally. However, yaw value is not settable. Camera tilt and pan command is ignored by the drone.

    This piloting interface can be retrieved by:

    drone.getPilotingItf(PilotingItfs.followMe)
    
    See more

    Declaration

    Swift

    public protocol FollowMePilotingItf : ActivablePilotingItf, PilotingItf
  • Guided piloting interface.

    This interface used is to request a relative (move ‘by’) or absolute (move ‘to’) displacement of the drone.

    This piloting interface can be retrieved by:

    drone.getPilotingItf(PilotingItfs.guided)
    
    See more

    Declaration

    Swift

    public protocol GuidedPilotingItf : ActivablePilotingItf, PilotingItf
  • LookAt piloting interface.

    During an activated LookAt, the drone will always look at the target but can be piloted normally. However, yaw value is not settable. Camera tilt and pan command is ignored by the drone.

    This piloting interface can be retrieved by:

    drone.getPilotingItf(PilotingItfs.lookAt)
    
    See more

    Declaration

    Swift

    public protocol LookAtPilotingItf : ActivablePilotingItf, PilotingItf
  • Manual copter piloting interface. Used to pilot manually a copter.

    This piloting interface is the default one. This means that if you explicitly deactivate another piloting interface, this one will be automatically activated. It also means that you can’t explicitly deactivate this piloting interface. To deactivate it, you have to activate another piloting interface.

    This piloting interface can be retrieved by:

    drone.getPilotingItf(PilotingItfs.manualCopter)
    
    See more

    Declaration

    Swift

    @objc(GSManualCopterPilotingItf)
    public protocol ManualCopterPilotingItf : ActivablePilotingItf, PilotingItf
  • Point Of Interest piloting interface.

    During a piloted Point Of Interest, the drone always points towards the given Point Of Interest but can be piloted normally. However, yaw value is not settable.

    There are two variants of piloted Point Of Interest:

    • In .lockedGimbal mode, the gimbal always looks at the Point Of Interest. Gimbal control command is ignored by the drone.
    • In .freeGimbal mode, the gimbal initially looks at the Point Of Interest, and is then freely controllable by the gimbal command.

    This piloting interface can be retrieved by:

    drone.getPilotingItf(PilotingItfs.poi)
    
    See more

    Declaration

    Swift

    @objc(GSPointOfInterestPilotingItf)
    public protocol PointOfInterestPilotingItf : ActivablePilotingItf, PilotingItf
  • Piloting interface used to make the drone return to home.

    This piloting interface can be retrieved by:

    drone.getPilotingItf(PilotingItfs.returnHome)
    
    See more

    Declaration

    Swift

    @objc(GSReturnHomePilotingItf)
    public protocol ReturnHomePilotingItf : ActivablePilotingItf, PilotingItf