Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 44 additions & 1 deletion pygaze/_eyetracker/opengaze.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ def __init__(self, ip='127.0.0.1', port=4242, logfile='default.tsv', \
'LEYEX', 'LEYEY', 'LEYEZ', 'LPUPILD', 'LPUPILV', \
'REYEX', 'REYEY', 'REYEZ', 'RPUPILD', 'RPUPILV', \
'CX', 'CY', 'CS', \
'USER']
'LPMM','LPMMV','RPMM','RPMMV','BKID','BKDUR','BKPMIN','USER']

self._n_logvars = len(self._logheader)
self._logfile.write('\t'.join(self._logheader) + '\n')
# The log is consolidated (written to the disk) every N samples.
Expand Down Expand Up @@ -192,6 +193,8 @@ def __init__(self, ip='127.0.0.1', port=4242, logfile='default.tsv', \
self.enable_send_time(True)
self.enable_send_time_tick(True)
self.enable_send_user_data(True)
self.enable_send_blink(True)
self.enable_send_pupilmm(True)


def calibrate(self):
Expand Down Expand Up @@ -838,6 +841,46 @@ def enable_send_user_data(self, state):

# Return a success Boolean.
return acknowledged and (timeout==False)

def enable_send_pupilmm(self, state):

"""Enable (state=True) or disable (state=False) the inclusion of
the left and right eye pupil diameter in millimeters in the data
record string. This data consists of the following:
LPMM: The diameter of the left eye pupil in millimeters
LPMMV: The valid flag with value of 1 if the data is valid, and 0 if it is not.
RPMM: The diameter of the right eye pupil in millimeters
RPMMV: The valid flag with value of 1 if the data is valid, and 0 if it is not.
"""

# Send the message (returns after the Server acknowledges receipt).
acknowledged, timeout = self._send_message('SET', \
'ENABLE_SEND_PUPILMM', \
values=[('STATE', int(state))], \
wait_for_acknowledgement=True)

# Return a success Boolean.
return acknowledged and (timeout==False)

def enable_send_blink(self, state):

"""Enable (state=True) or disable (state=False) the inclusion of
the rolling user blink rate (blinks / minute), blink duration and blink ID.
This data consists of the following:
BKID: Each blink is assigned an ID value and incremented by one. The BKID value
equals 0 for every record where no blink has been detected.
BKDUR: The duration of the preceding blink in seconds.
BKPMIN: The number of blinks in the previous 60 second period of time.
"""

# Send the message (returns after the Server acknowledges receipt).
acknowledged, timeout = self._send_message('SET', \
'ENABLE_SEND_BLINK', \
values=[('STATE', int(state))], \
wait_for_acknowledgement=True)

# Return a success Boolean.
return acknowledged and (timeout==False)

def calibrate_start(self, state):

Expand Down