hi nick,

the writeDone event indicates that all bytes fed to bluetooth.write have been delivered to the bluetooth module; it does not imply anything about the state of the module.

two comments, if i may:

1) four nodes transmitting at 10 hz isn't exactly what i'd call a "heavy load." the difference between results running at 1hz and 10 is probably just a demonstration of how long it takes for a bug to take its cumulative toll. i won't get analytical on you, but at this pace you shouldn't even have to wait for the writeDone event to fire off a new packet...

2) this sounds like you have a bug in your app's state machine (please see above).

have fun,

steve

On 05/20/2011 02:30 AM, Nicholas Hosein wrote:
So i am sending 102 bytes of data at 10 Hz from each of 4 motes to a
host over bluetooth.

On the mote I only send a new packet once the previous one was sent via
checking for "event void Bluetooth.writeDone()" from the previous
packet. What ive noticed is that under stress the mote stops sending
packets altogether (but still receives fine). Even though no packets are
being sent from the mote the Bluetooth.writeDone event is still
triggered after a write command. Once the connection is reset the mote
can send packets again.

This only seems to occur under stress. If i were to configure 1 mote to
send 102 bytes at 1Hz it would work fine for hours. Under any stress it
works for a matter of minuets or seconds.

Does the writeDone event necessarily mean that the packet was sent or
that it is buffered to be sent?

Thanks guys,

Nick




_______________________________________________
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