[Tinyos-help] sendDone getting lost
srangwal at usc.edu
Fri Sep 9 15:11:49 PDT 2005
At 9:06am on Sep 9, electrons from Philip Levis conveyed:
> On Thu, 2005-09-08 at 22:38 -0700, Sumit Rangwala wrote:
> > Hi
> > I found that under heavy traffic sometime I don't receive
> > a sendDone after a SendMsg.send(). As I am using QueuedSend
> > the code breaks as the queue eventually gets full.
> > The only case when this can occur is if a high priority
> > interrupt occurs exactly at the same time when the interrupt
> > for sendDone is generated.
> > I observed this long ago with mica2 and now I observe the
> > same on tmote. I was wondering if this has been solved or if
> > there are smart work-arounds for it.
> It sounds like a bug.
> Can you be more specific? Terms like "high priority interrupt" are a bit
> confusing, as the atm128 (mica2) doesn't have interrupt priority levels.
Currently I am working on Tmote so the controller is msp430
> 1) What version of TinyOS are you using?
CVS version checked out during the last week of July 2005.
> 2) What communication stack are you using (GenericComm vs Promiscuous)?
> 3) What interrupt sources seem to cause this problem?
I don't know what causes it. But I verified that a sendDone
isn't getting called after send. Again this occurs once in
50,000 send and when the traffic is high enough to saturate
the network capacity and there is fair amount of traffic on
the uart/usb too.
> I know there have been reports of the CC2420 stack issuing *two*
> sendDone events (for which there have been fixes committed), but
> *missing* sendDone events is something else entirely.
My version of the code includes the fixes for the two
sendDone events problem.
What we hope ever to do with ease, we must
learn first to do with diligence.
More information about the Tinyos-help