basically....

        call send() for message 1
        this will call sendDone() when it completes
            in sendDone() post a task to send message 2
            in the next sendDone() post a task to send message 3
        lather rinse and repeat.

MS


Matthew S. Nassr wrote:
I'm having the same issue. I think you either need to make a blocking
send operation or put the sends in a circular queue like in
tos/lib/Queue. I already started working on the former before I found
out about the latter. Making a blocking send amounts to making sendDone
asynchronous, signalling it from a module other than CC1000RadioIntM
(mica2) like from a receive event in your code, and some kind of
txPending flag...I think. I just started working with tinyOS, but this
seems like it should be a common problem.

-Matt

We currently have a command in our main module that makes multiple
calls
to
the SendMsg.send() command via another module.  These calls are on
consecutive lines like so:

call RadioOut.output(value, 0x0002);
call RadioOut.output(value, 0x0003);

..where RadioOut is the interface that connects us to the module that
calls
SendMsg.Send().

When we do this, the first message sends successfully and the second
does
not.  Does anyone know why this is happening?  Do we need to wait for
a
period of time between send calls?  Is there something we need to
reset so
that the second call can happen?  What is the recommended way for
sending
multiple messages in succession?


Thanks,
Gina Upperman

_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to