Heart Rate and Cognitive Load sensor data and time stamps
Hello, I'm working with the HP Reverb G2 Omnicept HMD and I have some questions after testing the sensors using the GliaBehaviour.cs script in Unity;
Omnicept SDK installed: 1.10.0
1. Heart rate and cognitive load sensor data are pushed from the device, rather than pulled. Is it possible to pull this data on demand?
2. Regarding Timestamp.SystemTimeMicroSeconds, the timestamp for CognitiveLoad data is stuck at 12:00 AM. Should we assume that this data is near enough real time?
3. Likewise, the timestamp for HeartRate data lags real time significantly. eg: When first heart rate data point is at 12:03 AM, the real time is 12:30 pm. How do we correct the HMD's system clock?
4. Additionally, the timestamps of subsequent HeartRate data points do not align with the time elapsed between the points. eg: The first data point had a timestamp of 12:03:09 AM, then the second data point had a timestamp of 12:03:10 AM even though 4-5 seconds had elapsed between points. Are the HeartRate data messages being delayed or are the timestamps incorrect?
-
Hi Aaron,
Thanks for great questions!
1. Polling versus Pushing: See polling implementation here
2. Cognitive Load just got a fix for timestamps in 1.11 - let us know if you any issues upgrading from 1.10.
3. Can you share a screenshot of this (after you upgrade to 1.11)? You are seeing HR lag SystemTime, and/or HardwareTime?
4. Heart Rate is reported every 5 seconds.
I know I haven't yet answered all your questions, looking forward to your reply.
Thank you!
0 -
Edit: Sorry, this was incorrect - I switched to a branch that was using my host machine's time.
The heart rate time stamps are still lagging real time, irrespective of the timestamp used (SystemTimeMicroSeconds, HardwareTimeMicroSeconds or OmniceptTimeMicroSeconds).
Neither of them align with the actual time elapsed between samples recieved. ie: while 5 s have passed, the next time stamp is either the same as the previous or 1 second later.
Thanks Laurex ;)
Using Omnicept 1.11.0 and HeartRate.TimeStamp.OmniceptTimeMicroSeconds from the latest Unity Glia package below, the times are now moving forward in real time.
C:\Program Files\HP\HP Omnicept SDK\1.11.0\Unity
0 -
I apologize, I may be missing what you are seeing so feel free to share some screen shots.
I implemented simple code to invoke every second, see attached images.
The code prints out the (Unity) System Time, and print outs the HeartRate message time stamp System time. Heart rate messages are sent every 5 seconds, so your HR message's timestamp can be up to 5 seconds “behind” the current system time.
You will see that in one of my logs the HR message timestamp == Unity system time, but in another example the HR updated message appears to be a 1 second lag behind. I believe this is rounding error. I will check with the software team on this, but is this your concern? I just want to make sure I understand.
0
Please sign in to leave a comment.
Comments
3 comments