Streaming limit
When we use limit method to reduce sampling rate on Sensor Fusion from 100Hz to 50Hz is the down-sampling performed on client or the sensor? I mean is the sensor streaming at 100Hz and then our client resampling or the sensor streams at 50Hz (in that case we have space to stream extra data). I 'm asking this because we have 2 sensors ( where the first streams quaternions with limit at 50Hz and the second acceleration at 50Hz) and we get 25% packet loss (the avg streaming time for our use case is 2.5sec).
Comments
Downsampling is performed on the sensor (in firmware).
Please send more info about your setup.
I use one MetaMotionR+ for streaming quaternions on 50Hz (using limit) and one MetaMotionR+ for streaming acceleration 50Hz. Our avg streaming time is 2.5 seconds and we are getting >15% packet loss (sometimes we have no packet loss). Things we tried for debug:
Is it better with ios? we have the least packet loss on linux machines.
you can also mess with the ble conn settings.
unfortunately, we can't use ios or linux because we have an android based product.
In that case, you should try to experiment with the conn settings.
We changed max connection interval to 11.25 and although things get better we can't have output data rate within +/- 1% error (>5% packet loss). We also tested to stream only acceleration data at 50Hz for both sensors (instead of acceleration and quaternions) with metabase app and the results are perfectly fine. I believe there is a firmware bug when you stream quaternions 50Hz and acceleration 50Hz.
Edit: To reduce sampling rate to 50Hz we use source.limit(11)