[Tinyos-devel] ctp vs other radio clients
Philip Levis
pal at cs.stanford.edu
Sat Dec 6 09:11:11 PST 2008
On Dec 6, 2008, at 8:56 AM, Omprakash Gnawali wrote:
>
> Lets say queue is not NULL in the above case, and call goes down to
> the CC2420 stack and somehow the busy state is shared among all the
> clients? Did you get a chance to look at this concern I had:
AMQueueImplP serializes all client calls to AMSend; note the check for
if the queue is empty.
>
>
> "Is it possible that the busy state is stack-wide rather than per type
> in the implementation of tep116? Is there one instance of StateC for
> CC2420 stack (UniqueSendC.nc) ?"
>
> In DefaultLplP.nc:
>
> command error_t Send.send(message_t *msg, uint8_t len) {
> ...
> if(call SendState.requestState(S_LPL_SENDING) == SUCCESS) {
>
> My concern was if there is one SendState, this could happen?
Possibly. But the queue should only have called AMSend on the
underlying AM stack if had no outstanding packet transmissions. This
isn't an issue of multiple clients conflicting (unless there's a bug
in the queue). I think it's about the underlying stack sometimes
returning EBUSY when there isn't an outstanding call to AMSend.
Phil
More information about the Tinyos-devel
mailing list