Hi Brian,

The red LED does toggle when I send. But neither the yellow (when
senddone is signalled with success) or green(when senddone is
signalled with failure) is toggled.

Bhavish

On Fri, Apr 11, 2008 at 10:03 PM, Brian Mulanda
<[EMAIL PROTECTED]> wrote:
>
> 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

Reply via email to