Search code examples
pythonxmleye-tracking

Mirametrix S2 gaze tracker: Sending general purpose input (GPI) values always fails


I'm using the Mirametrix S2 gaze tracking device. In the API docs (v1.1), it says that the ENABLE_SEND_GPI command allows a tracking client to insert data into the gaze stream. Copying some of the example code, I tried the following:

sock.send('<SET ID="ENABLE_SEND_GPI" STATE="1" />\r\n')
sock.send('<SET ID="GPI_NUMBER" VALUE="1" />\r\n')
sock.send('<SET ID="GPI1" VALUE="INTERVAL" />\r\n') 

I get the following in response:

<ACK ID="ENABLE_SEND_GPI" STATE="1" />
<ACK ID="GPI_NUMBER" VALUE="1" />
<ACK ID="GPI1" ERR="Invalid GPI ID" />

I've tried many different combinations of ids, but the only ones that get a response are GPI1 through GPI10, and each one is rejected for Invalid GPI ID. What am I doing wrong?


Solution

  • Mirametrix got back to me. It appears it is a bug in their tracker software. They have a patch coming out.