Hello,
I have downloaded Shimmer Android driver and run ShimmerGraph application
with a GSR sensor (Boilerplate firmware) configured to stream data at 512
Hz. I have noticed that after some time (1-2 minutes) the application stops
updating the plot. No new data points are being added to the plot. The LED
light on the connected Shimmer sensor keeps flashing meaning the sensor
still streams data. The GUI of the app does not freeze and responds to
touches.
I have decided to do some research and imported the code of Shimmer driver
(shimmer.jar) to Eclipse and added two log outputs into the code to trace
where the app gets stuck with the updating of the plot. I added these two
log outputs to the method 'run' of the class 'ConnectedThread'. The first
output is before the line 'mmInStream.read(tb,0,1);', the second output is
after this line. So, it looks like this:
Log.i("Shimmer", "BEFORE_READ");
mmInStream.read(tb,0,1);
Log.i("Shimmer", "AFTER_READ");
I repeated my test with the modified Shimmer driver and learnt that the app
stops updating the plot because the function 'read' of the input stream
'mmInStream' does not return anything and blocks the thread. Does anybody
have an idea why does it happen? The sensor keeps blinking so I suppose it
continues streaming data. Also no exception is triggered by the 'read'
function. I ran the app on Nexus 7 tablet.
If if the sensor is set to lower sampling frequencies (e.g., 128Hz or
256Hz) then the problem I described does not occur (or I just did not wait
long enough?). Why is that?
If you have any ideas I would really appreciate if you could share them.
Thanks,
Leo
_______________________________________________
Shimmer-users mailing list
[email protected]
https://lists.eecs.harvard.edu/mailman/listinfo/shimmer-users