eyetracker.EyeTrackerDevice:
    enable: IOHUB_BOOL
    name:
        IOHUB_STRING:
            min_length: 1
            max_length: 32
            first_char_alpha: True    
    save_events: IOHUB_BOOL
    stream_events: IOHUB_BOOL
    auto_report_events: IOHUB_BOOL    
    device_timer:
        interval:
            IOHUB_FLOAT:
                min: 0.001
                max: 0.020
    event_buffer_length:
        IOHUB_INT:
            min: 1
            max: 2048    
    # The ioHub Common Eye Tracker Interface supports the
    # following event types. If you would like to exclude certain events from being
    # saved or streamed during runtime, remove them from the list below.
    # If a device implementation of the interface does not support some of the event types,
    # remove them from the default_[deviceclass].yaml and the supported_config_settings.yaml file
    # copies in the device implementation folder with the ioHub Device class definition.
    monitor_event_types: [ EyeSampleEvent, MonocularEyeSampleEvent, BinocularEyeSampleEvent, FixationStartEvent, FixationEndEvent, SaccadeStartEvent, SaccadeEndEvent, BlinkStartEvent, BlinkEndEvent]
    runtime_settings:
        sampling_rate:
            IOHUB_INT:
                min: 0
                max: 2000       
    model_name:
        IOHUB_STRING:
            min_length: 1
            max_length: 32
    device_number: 0
    model_number:
        IOHUB_STRING:
            min_length: 1
            max_length: 16
    manufacturer_name:
        IOHUB_STRING:
            min_length: 1
            max_length: 64    
    serial_number:
        IOHUB_STRING:
            min_length: 1
            max_length: 32
    manufacture_date: IOHUB_DATE
    software_version:
        IOHUB_STRING:
            min_length: 1
            max_length: 8    
    hardware_version: 
        IOHUB_STRING:
            min_length: 1
            max_length: 8
    firmware_version: 
        IOHUB_STRING:
            min_length: 1
            max_length: 8