Hi Jon & @sol:
I’m looking for help to get the zmq networking function to work properly with pupil-labs eye trackers. I think network.remoteeventsubscriber and network.eventpublisher modules do not load in iohub currently. (Using Windows 10, standalone v 3.1.5 Psychopy). The pupil-labs eye tracker communication is through the zmq pub/sub method just like the network.removeeventsubscriber method appears to support. However the network module output doesn’t appear to appear in the HDF file. I’ve used nearly the default templates from default_eventpublisher.yaml (the publisher module is required for subscriber according to Sol’s header document) and default default_remoteeventsubscriber.yaml template and put them into my own ioconfig.yaml file.
In the resulting HDF file from my behavioral paradigm, the data event store listeners don’t appear to save network events (the class_id’s in the class_table_mapping do not include ID’s 60,61 which are the network module IDs).
The .yaml file I pass to ioHubConnection provides the following dictionary which I confirmed through ioHubConnection.getHubServerConfig():
{‘network.EventPublisher’: {‘name’: ‘evt_pub’, ‘monitor_event_types’: [], ‘publishing_protocal’: ‘tcp://*:5555’, ‘enable’: True, ‘save_events’: True, ‘stream_events’: True, ‘auto_report_events’: True, ‘event_buffer_length’: 128, ‘manufacturer_name’: ‘N/A’, ‘device_number’: ‘N/A’, ‘serial_number’: ‘N/A’, ‘manufacture_date’: ‘DD-MM-YYYY’, ‘model_name’: ‘N/A’, ‘model_number’: ‘N/A’, ‘software_version’: ‘N/A’, ‘hardware_version’: ‘N/A’, ‘firmware_version’: ‘N/A’}, ‘network.RemoteEventSubscriber’: {‘name’: ‘pupil_sub’, ‘monitor_event_types’: [‘gaze.’], ‘subscription_protocal’: ‘tcp://127.0.0.1:50020’, ‘remote_iohub_address’: [‘127.0.0.1’, 50020], ‘enable’: True, ‘save_events’: True, ‘stream_events’: True, ‘auto_report_events’: True, ‘event_buffer_length’: 128, ‘manufacturer_name’: ‘pupil_labs’, ‘device_number’: ‘N/A’, ‘serial_number’: ‘N/A’, ‘manufacture_date’: ‘08-01-2019’, ‘model_name’: ‘Core’, ‘model_number’: 1, ‘software_version’: ‘pupil_capture’, ‘hardware_version’: ‘N/A’, ‘firmware_version’: ‘N/A’}, ‘monitor_devices’: [{‘Display’: {‘name’: ‘display’, ‘reporting_unit_type’: ‘deg’, ‘device_number’: 0, ‘physical_dimensions’: {‘width’: 286, ‘height’: 179, ‘unit_type’: ‘mm’}, ‘default_eye_distance’: {‘surface_center’: 480, ‘unit_type’: ‘mm’}, ‘psychopy_monitor_name’: ‘default’}}, {‘Keyboard’: {‘name’: ‘keyboard’}}, {‘Mouse’: {‘name’: ‘mouse’, ‘enable’: True, ‘monitor_event_types’: [‘MouseMoveEvent’, ‘MouseDragEvent’, ‘MouseScrollEvent’, ‘MouseButtonPressEvent’, ‘MouseButtonReleaseEvent’, ‘MouseMultiClickEvent’], ‘save_events’: True, ‘stream_events’: True, ‘auto_report_events’: True, ‘event_buffer_length’: 256, ‘device_number’: 0, ‘serial_number’: ‘N/A’, ‘manufacture_date’: ‘DD-MM-YYYY’, ‘manufacturer_name’: ‘N/A’, ‘model_name’: ‘N/A’, ‘model_number’: ‘N/A’, ‘software_version’: ‘N/A’, ‘hardware_version’: ‘N/A’, ‘firmware_version’: ‘N/A’}}, {‘Experiment’: {‘name’: ‘experimentRuntime’}}], ‘data_store’: {‘enable’: True, ‘experiment_info’: {‘code’: ‘ystart’, ‘experiment_id’: 1, ‘title’: ‘’, ‘description’: ‘’, ‘version’: ‘’, ‘total_sessions_to_run’: 0}, ‘session_info’: {‘code’: ‘S_2019_Aug_11_1328’, ‘name’: ‘’, ‘comments’: ‘’, ‘user_variables’: {}, ‘session_id’: 1}, ‘filename’: ‘data\S_2019_Aug_11_1328’, ‘multiple_experiments’: False, ‘flush_interval’: 32}, ‘global_event_buffer’: 2048, ‘udp_port’: 9034, ‘windows_msgpump_interval’: 0.001, ‘log_raw_kb_mouse_events’: False, ‘coverage_env_var’: ‘None’}
So I know the .yaml file is providing the correct information, but there doesn’t appear to be any network events, is there a simple fix to get the iodatastore to save the network events?
Thanks!
Linus