high frequency stream for mbl_mw_datasignal_read function

I'm trying to use the I2C connection with an arduino and the metamotionR. To read the I2C signal I used the read_with_parameters function and implemented a timer in UWP to read it every 50 miliseconds. On the arduino I sent a continuous signal and the signal I received is perfectly fine, however I get a lower frequency of about 10 Hz, instead of the expected 20 Hz. In addition, the frequency varies quite a lot from 8 to 16 Hz with an average at 10 Hz. I read that there is a difference between the field sampling functions, such as for the accelerometer or the magnetometer and the datasignal read used for a single data read for the temperature, i2c and gpios. So I presume it has to do with my program that instead of reading the signal continuously it has always to sent the command to read the signal (i.e. mbl_mw_datasignal_read_with_parameters  function) via bluetooth every single time instead of holding track all the time. 

My question is: Is there any possibility to increase the frequency of the datasignal_read functions? Maybe by using the timer described in the c++ api instead of creating a UWP timer?
Or is there any way to use the datasignal_read function analogously to the enable sampling function? I have to subscribe to the signal stream first anyway, so shouldn't there be a possibility to continuously read the signal as with the other sensors?

It would be great if I could reach a read frequency of about 20-30 Hz.

I used the gpio pins as well and encountered the exact problem with the datasignal_read function. To specify it again, the signal is fine, but the frequency is too low.


Sign In or Register to comment.