ET

public class ET : ObservableObject

Main class of the SDK, which takes care of the connection to Skyle and exposes all parts of the API.

  • Undocumented

    Declaration

    Swift

    public func resolution(version: Int = 3) -> CGSize
  • Defenition of States that are used by all members of the SDK, indicating the connection and lifecycle of gRPC calls

    See more

    Declaration

    Swift

    public enum States : Equatable
  • The client is generated by the proto files

    Declaration

    Swift

    private(set) public var client: Skyle_SkyleNIOClient? { get }
  • The channel builder holds the configuration of the connection

    Declaration

    Swift

    private(set) public var channelBuilder: ClientConnection.Builder { get }
  • Reference to the current calibration. After each calibration please call makeCalibration().

    Declaration

    Swift

    private(set) public var calibration: ET.Calibration { get }
  • Creates a new calibration and sets calibration to the new instance.

    Declaration

    Swift

    public func makeCalibration() -> Calibration
  • Reference to the current control instance. You can create a new instance by calling makeControl().

    Declaration

    Swift

    private(set) public var control: Control { get }
  • Creates a new control instance and sets control to the new instance.

    Declaration

    Swift

    public func makeControl() -> Control
  • Reference to the current gaze instance. You can create a new instance by calling makeGaze().

    Declaration

    Swift

    private(set) public var gaze: Gaze { get }
  • Creates a new gaze instance and sets gaze to the new instance.

    Declaration

    Swift

    public func makeGaze() -> Gaze
  • Reference to the current positioning instance. You can create a new instance by calling makePositioning().

    Declaration

    Swift

    private(set) public var positioning: Positioning { get }
  • Creates a new positioning instance and sets positioning to the new instance.

    Declaration

    Swift

    public func makePositioning() -> Positioning
  • Reference to the current profiles instance. You can create a new instance by calling makeProfiles().

    Declaration

    Swift

    private(set) public var profiles: Profiles { get }
  • Creates a new profiles instance and sets profiles to the new instance.

    Declaration

    Swift

    public func makeProfiles() -> Profiles
  • Reference to the current reset instance. You can create a new instance by calling makeReset().

    Declaration

    Swift

    private(set) public var reset: Reset { get }
  • Creates a new reset instance and sets reset to the new instance.

    Declaration

    Swift

    public func makeReset() -> Reset
  • Reference to the current version instance. You can create a new instance by calling makeVersion().

    Declaration

    Swift

    private(set) public var version: Version { get }
  • Creates a new version instance and sets version to the new instance.

    Declaration

    Swift

    public func makeVersion() -> Version
  • Reference to the current stream instance.

    Declaration

    Swift

    private(set) public var stream: MjpegStream { get }
  • Reference to the current video instance. You can create a new instance by calling makeVideo().

    Declaration

    Swift

    private(set) public var video: Video { get }
  • Creates a new video instance and sets video to the new instance.

    Declaration

    Swift

    public func makeVideo() -> Video
  • The connectivity property exposes a Publisher which indicates the ConnectivityState of the API of Skyle. This is normaly updated by the gRPC library but will also be updated when a Legacy eyetracker is connected.

    Declaration

    Swift

    @Published
    private(set) public var connectivity: ConnectivityState { get set }
  • The hardConnectivity property exposes a Publisher which indicates the connection state of the interface of Skyle. This is true when the ethernet interface with Skyle is available. It is normaly available before the API is available.

    Declaration

    Swift

    @Published
    private(set) public var hardConnectivity: Bool { get set }
  • The legacyConnectivity property exposes a Publisher which indicates the connection state of the http API of Skyle. This is only used to detect Legacy devices and will be removed when all devices are updated to a firmware version >= 3.0

    Declaration

    Swift

    @Published
    private(set) public var legacyConnectivity: Bool { get set }
  • The grpcError property exposes a Publisher which provides all errors coming from the grpc library.

    Declaration

    Swift

    @Published
    private(set) public var grpcError: GRPCErrorProvider? { get set }
  • Initializes a new ET with the provided host and port to connect to.

    • host: The host to connect to. Defaults to skyle.local
    • port: The port to connect to. Defaults to 50052

    Declaration

    Swift

    public init(host: String = "192.168.137.2", port: Int = 50052, test: Bool = false)

    Return Value

    A brand new ET which is setup to be connected to.

  • Simple cleanup cancels the gRPC calls, invalidates timer and shuts down the EventLoopGroup.

    Declaration

    Swift

    deinit
  • The calibration class provides Publisher and functions to perform a calibration of Skyle.

    See more

    Declaration

    Swift

    public class Calibration : ObservableObject
  • Control exposes Publisher which hold information about Skyles settings. These are partially user specific and should be pulled after a user is selected via Profile.select, Profiles.set or Profiles.delete.

    See more

    Declaration

    Swift

    public class Control : ObservableObject
  • A simple struct to provide error information thrown by the gRPC library.

    See more

    Declaration

    Swift

    public struct GRPCErrorProvider
  • Undocumented

    See more

    Declaration

    Swift

    internal class Delegate : ConnectivityStateDelegate, ClientErrorDelegate
  • Legacy connectivity provider via the http API.

    Warning

    This is not to be used since the API is deprecated.
    See more

    Declaration

    Swift

    internal class Legacy
  • The Gaze class provides a stream of gaze data directly from Skyle.

    See more

    Declaration

    Swift

    public class Gaze : ObservableObject
  • MjpegStream serves the video stream of Skyle.

    See more

    Declaration

    Swift

    @available(*, deprecated, message: "This does not work on Skyle 3")
    public class MjpegStream : NSObject, URLSessionDelegate, URLSessionDataDelegate, ObservableObject
  • Positioning exposes Publisher which stream the current position of the users eyes, quality indicators and if the user is present.

    See more

    Declaration

    Swift

    public class Positioning : ObservableObject
  • Profile exposes Publisher which hold information about a profile.

    See more

    Declaration

    Swift

    @available(*, deprecated, message: "This does not work on Skyle 3")
    public class Profile : ObservableObject
  • Profiles exposes Skyles User Profiles API which makes it possible to create, update, select and delete profiles. It also provides Publisher which hold the currently selected profile and a list of all profiles.

    See more

    Declaration

    Swift

    @available(*, deprecated, message: "This does not work on Skyle 3")
    public class Profiles : ObservableObject
  • Reset provides the following maintenance functions:

    • Restart Skyles internal services including eyetracking, calibration and API
    • Restart Skyle itself
    • Reset all user data
    See more

    Declaration

    Swift

    @available(*, deprecated, message: "This does not work on Skyle 3")
    public class Reset : ObservableObject
  • Version provides Publisher with information about the software versions of Skyle.

    See more

    Declaration

    Swift

    public class Version : ObservableObject
  • The Video class provides a stream of raw image data directly from Skyle.

    See more

    Declaration

    Swift

    public class Video : ObservableObject