marcus-nystrom / Titta

Python and PsychoPy interface to Tobii eye trackers using Tobii Pro SDK
Other
71 stars 27 forks source link

start_recording is non blocking #59

Closed dev-jam closed 1 month ago

dev-jam commented 1 month ago

I noticed start_recording does not wait until recording has actually started.

I have one researcher that created an experiment with a recalibration option between trial blocks. When he starts the recording again after the calibration, there is a latency of 150 ms between the timestamp after sending the start recording command and the actual recording of data. So he has to create a small pause to prevent missing data for the item/stimulus right after that. Maybe the start_recording instance can be made blocking, so it only continues when the recording has actually started?

dcnieho commented 1 month ago

Yeah, thats what the Tobii SDK does. I think the cleanest thing to do is for the user to write a little wrapper if they care that 1. starts recording; 2. in a loop check if the requested data starts arriving. Having that as an option on the side of the compiled code induces a lot of complexity i'd rather not have. I simply do a wait in my code when its important that recording has indeed started.

marcus-nystrom commented 1 month ago

I will take two actions: 1) better document this behavior in the read_me.py file. 2) add a loop to the start_recording() method such that it blocks until new data are available (default to off)