eyetracker.hw.pupil_labs.pupil_core.EyeTracker:
    # Indicates if the device should actually be loaded at experiment runtime.
    enable: True

    # The variable name of the device that will be used to access the ioHub Device class
    # during experiment run-time, via the devices.[name] attribute of the ioHub
    # connection or experiment runtime class.
    name: tracker

    device_number: 0

    #####

    model_name: Pupil Core

    model_number: "0"

    serial_number: N/A

    manufacturer_name: Pupil Labs

    software_version: N/A

    hardware_version: N/A

    firmware_version: N/A

    #####

    monitor_event_types: [MonocularEyeSampleEvent, BinocularEyeSampleEvent]

    # Should eye tracker events be saved to the ioHub DataStore file when the device
    # is recording data ?
    save_events: True

    # Should eye tracker events be sent to the Experiment process when the device
    # is recording data ?
    stream_events: True

    # How many eye events (including samples) should be saved in the ioHub event buffer before
    # old eye events start being replaced by new events. When the event buffer reaches
    # the maximum event length of the buffer defined here, older events will start to be dropped.
    event_buffer_length: 1024

    # Do not change this value.
    auto_report_events: False

    device_timer:
        interval: 0.005

    #####

    runtime_settings:
        pupil_remote:
            ip_address: 127.0.0.1
            port: 50020
            timeout_ms: 1000
        pupil_capture_recording:
            enabled: True
            location: Null # Use Pupil Capture default recording location
        # Subscribe to pupil data only, does not require calibration or surface setup
        pupillometry_only: False
        confidence_threshold: 0.6
        # Only relevant if pupillometry_only is False
        surface_name: psychopy_iohub_surface
