I tried various sample rates between 5Hz and 50Hz. I'm using the accelerometer and gyro, so six channels in total. If I enable the magnetometer channels, I don't get any data; I guess the device is unable to read the sensors.

I have two Shimmer modules at my disposal, and am testing with one at a time for now. In the final application I hope to use two or three simultaneously. I have a WLAN, a couple of wireless mice and a BT-enabled cellphone here as well, and of course my laptop which I'm receiving the data on. However, when I tested rfcomm between the cellphone (N900, running Linux) and the laptop, I was able to transfer large amounts of data without any errors (several kilobytes; I'm lucky if I get 100 sequential error-free bytes from the Shimmer).

This is stock boilerplate firmware, aside from whatever hacks I've put in while testing and might not have reverted fully. I also tried the official firmware from shimmer-research.com (in case my build environment somehow introduced errors), but it has the same problems.

The problem seems to be very data-sensitive; If I turn the Shimmer to its side so that the X axis accelerometer gets a low value, I receive almost no zero bytes at all, and when I do manage to receive a valid packet (i.e. a zero byte followed by 14 non-zero bytes), the contents are badly mangled.

Mikko

On 24.07.2012 18:11, Benjamin Kuris wrote:
What sample rate and how many channels?
How many devices in your piconet?
Any other RF in 2.4GHz band?

Are you using stock boilerplate data packets or are you sending full
ACL packets (~128bytes data) to minimize BT overhead?

Typically you don't need to mess with the baudrate but minimizing BT
overhead will improve results if you can accept a little bit of
latency.

I'm sure others will chime in.

-Ben

On Tue, Jul 24, 2012 at 10:57 AM, Mikko Rasa<[email protected]>  wrote:
I'm trying to use a Shimmer 9DoF sensor with the boilerplate firmware, but
bluetooth transmission is giving me a hard time.  It's dropping a lot of
bytes, making data streaming unreliable and certain commands unusable.  In
particular, I can't get an intact reply from the inquiry command to discover
the order of channels being sent, so I have to hardcode this into my program
based on the boilerplate sources.  With the data packets I could use the
packet identifier to synchronize the stream and throw out any truncated
packets; this might spuriously reject good packets if they contain embedded
zero bytes, but I estimate I could recover around 80% of the packets this
way.

Is there anything I could do to improve the reliability?  I've already tried
different sampling rates, as well as messing with the baud rate used between
the MSP430 and the BT module.  Neither of these seems to have any effect on
the reliability, unless I change the baud rate so far out of spec that all
transmissions stops.

--
Mikko
_______________________________________________
Shimmer-users mailing list
[email protected]
https://lists.eecs.harvard.edu/mailman/listinfo/shimmer-users

_______________________________________________
Shimmer-users mailing list
[email protected]
https://lists.eecs.harvard.edu/mailman/listinfo/shimmer-users

Reply via email to