Skip to content

Commit 1a8c692

Browse files
committed
BF: iohub eyelink sendMessage saving byte array
In Python3 sendMessage() method of the iohub eyelink eyetracker class was sending byte arrays to pylink sendMessage() instead of String, resulting in b'....' being added to message contents in EDF file. Now byte arrays are converted to a string using 'utf-8'.
1 parent c122582 commit 1a8c692

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

psychopy/iohub/devices/eyetracker/hw/sr_research/eyelink/eyetracker.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,18 +371,22 @@ def sendMessage(self, message_contents, time_offset=None):
371371
372372
"""
373373
try:
374+
if isinstance(message_contents, bytes):
375+
message_contents = message_contents.decode('utf-8')
376+
374377
if time_offset:
375378
r = self._eyelink.sendMessage(
376379
'\t%d\t%s' %
377380
(time_offset, message_contents))
378381
else:
379-
r = self._eyelink.sendMessage(message_contents)
382+
r = self._eyelink.sendMessage('%s'%message_contents)
380383

381384
if r == 0:
382385
return EyeTrackerConstants.EYETRACKER_OK
383386
return EyeTrackerConstants.EYETRACKER_ERROR
384387
except Exception as e:
385388
printExceptionDetailsToStdErr()
389+
return EyeTrackerConstants.EYETRACKER_ERROR
386390

387391
def runSetupProcedure(self):
388392
"""Start the EyeLink Camera Setup and Calibration procedure.

0 commit comments

Comments
 (0)