It could be because the message doesn't get sent at all, due to
something in the packet.
Does the red led come on or off when you send?
-Brian
event TOS_MsgPtr UARTReceive.receive(TOS_MsgPtr Msg) {
if (call RadioSend.send(&Msg) == SUCCESS) {
call Leds.redToggle();
}
else{
failBlink();
}
return Msg;
}
event TOS_MsgPtr UARTTokenReceive.receive(TOS_MsgPtr Msg, uint8_t Token) {
if (call RadioSend.send(Msg) == SUCCESS) {
call Leds.redToggle();
}
else{
call Leds.redToggle();
// failBlink();
}
On Fri, Apr 11, 2008 at 10:46 AM, renjie huang <[EMAIL PROTECTED]>
wrote:
> Hi
>
> I think the reason may be due to the code of event TOS_MsgPtr
> UARTTokenReceive.receive(TOS_MsgPtr Msg, uint8_t Token) ;
>
> When TokenReceiveMsg.receive event is signaled, you need to send back ack
> by calling
> call TokenReceiveMsg.ReflectToken(gTokenBuf);
>
> You can see the code in FramAckM.nc.
>
> On Fri, Apr 11, 2008 at 1:58 AM, Bhavish Aggarwal <
> [EMAIL PROTECTED]> wrote:
>
> > I am writing an application to bridge packets from UART to radio in
> > tinyos 1. The send command on the radio returns a success but the
> > senddone event is not signalled. Could anyone please help me with this
> > issue. The code is as below.
> >
> > Thanks,
> >
> > Bhavish
> >
> > module UARTToRadioM{
> > provides{
> > interface StdControl;
> > }
> > uses{
> > interface StdControl as UARTControl;
> > interface ReceiveMsg as UARTReceive;
> > interface BareSendMsg as UARTSend;
> > interface TokenReceiveMsg as UARTTokenReceive;
> >
> > interface StdControl as RadioControl;
> > interface BareSendMsg as RadioSend;
> > interface ReceiveMsg as RadioReceive;
> >
> > interface Leds;
> > }
> > }
> >
> > implementation{
> >
> > void failBlink();
> >
> > command result_t StdControl.init() {
> > result_t ok1, ok2, ok3;
> >
> > ok1 = call UARTControl.init();
> > ok2 = call RadioControl.init();
> > ok3 = call Leds.init();
> >
> > return rcombine3(ok1, ok2, ok3);
> > }
> >
> > command result_t StdControl.start() {
> > result_t ok1, ok2;
> >
> > ok1 = call UARTControl.start();
> > ok2 = call RadioControl.start();
> >
> > return rcombine(ok1, ok2);
> > }
> >
> > command result_t StdControl.stop() {
> > result_t ok1, ok2;
> >
> > ok1 = call UARTControl.stop();
> > ok2 = call RadioControl.stop();
> >
> > return rcombine(ok1, ok2);
> > }
> >
> > event result_t UARTSend.sendDone(TOS_MsgPtr msg, result_t success) {
> > if (!success) {
> > failBlink();
> > }
> >
> > return SUCCESS;
> > }
> >
> > event TOS_MsgPtr UARTReceive.receive(TOS_MsgPtr Msg) {
> > if (call RadioSend.send(&Msg) == SUCCESS) {
> > call Leds.redToggle();
> > }
> > else{
> > failBlink();
> > }
> >
> > return Msg;
> > }
> >
> > event TOS_MsgPtr UARTTokenReceive.receive(TOS_MsgPtr Msg, uint8_t
> > Token) {
> > if (call RadioSend.send(Msg) == SUCCESS) {
> > call Leds.redToggle();
> > }
> > else{
> > call Leds.redToggle();
> > // failBlink();
> > }
> >
> > return Msg;
> > }
> >
> > event TOS_MsgPtr RadioReceive.receive(TOS_MsgPtr Msg) {
> > if ((!Msg->crc))
> > return Msg;
> >
> > if (call UARTSend.send(&Msg) == SUCCESS) {
> > call Leds.greenToggle();
> > }
> > else {
> > failBlink();
> > }
> >
> > return Msg;
> > }
> >
> >
> > event result_t RadioSend.sendDone(TOS_MsgPtr msg, result_t success) {
> > if (!success) {
> > call Leds.greenToggle();
> > //failBlink();
> > }
> > call Leds.yellowToggle();
> > return SUCCESS;
> > }
> >
> > void failBlink() {
> > call Leds.yellowToggle();
> > }
> > }
> >
> > configuration UARTToRadioC {
> > }
> > implementation {
> > components Main, UARTToRadioM, RadioCRCPacket as Comm, FramerM, UART,
> > LedsC;
> >
> > Main.StdControl -> UARTToRadioM;
> >
> > UARTToRadioM.UARTControl -> FramerM;
> > UARTToRadioM.UARTReceive -> FramerM;
> > UARTToRadioM.UARTSend -> FramerM;
> > UARTToRadioM.UARTTokenReceive -> FramerM;
> >
> > UARTToRadioM.RadioControl -> Comm;
> > UARTToRadioM.RadioSend -> Comm;
> > UARTToRadioM.RadioReceive -> Comm;
> >
> > UARTToRadioM.Leds -> LedsC;
> >
> > FramerM.ByteControl -> UART;
> > FramerM.ByteComm -> UART;
> > }
> > _______________________________________________
> > Tinyos-help mailing list
> > [email protected]
> > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
> >
>
>
>
> --
> Renjie Huang
> Sensorweb Research Laboratory
> http://sensorweb.vancouver.wsu.edu/
> Washington State University
> _______________________________________________
> Tinyos-help mailing list
> [email protected]
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help