I found one bug which is i haven't start the  RoutingControl. Once i
included the following line in Boot.booted(), then it prints the "start
multihop" line but not anything in Send.sendDone();

call RoutingControl.start()

Sorry for my mistake.

best regards!
Lasanthi


2009/6/30 ලසන්ති <[email protected]>

> hi all,
> I want to send a data to a node which is not in senders transmission range.
> So, i am planning to use multihop trnasmission. (T2 & TOSSIM)
> So, i tried to extract the things that the multihop transmission is needed
> from the MultihopOscilloscope application. that means, i am not interested
> in sending data to the root node via the serial communication.  So i ignored
> that part and re-written an application only for multihop transmission. it
> is very simple and follwing are the list of codes. It reads the data once
> the tin=mer fired and then send the data through multihop transmission
> method.
>
> my problem is: I get the debuging mesaages until ReadDone, but not after.
> It never print the debugging statement in the if block which sends the
> data.  I have included my sourse code and sample out put. if somebody can
> point me out my mistake, i'll really appriciate it. Am i missing something?
> i feel so, but cannot find it.
>
>
>
> MultihopOscilloscopeC.nc
> ===================
> #include "Timer.h"
> #include "MultihopOscilloscopeC.h"
>
> module MultihopOscilloscopeC {
>     uses{
>         interface Boot;
>         interface SplitControl as RadioControl;
>         interface StdControl as RoutingControl;
>
>         interface Send;
>         interface Receive as Snoop;
>         interface CollectionPacket;
>
>         interface Timer<TMilli>;
>         interface Read<uint16_t>;
>     }
> }
>     implementation{
>         message_t sendbuf;
>         oscilloscope_t local;
>
>         bool sendbusy =FALSE;
>
>         event void Boot.booted(){
>             dbg("vsn","Booted\n");
>             call Timer.startOneShot(50);
>         }
>         event void Timer.fired(){
>             dbg("vsn","Timer fired\n");
>             call Read.read();
>         }
>         event void Read.readDone(error_t result, uint16_t data){
>             oscilloscope_t *o = (oscilloscope_t*)call
> Send.getPayload(&sendbuf);
>             dbg("vsn","readDone\n");
>
>              local.senderId=TOS_NODE_ID;
>           local.receiverId= 5;
>
>             memcpy(o,&local,sizeof(local));
>             if(call Send.send(&sendbuf,sizeof(local))==SUCCESS){
>                 sendbusy =TRUE;
>                 dbg("vsn","start multihop\n");
>             }
>         }
>          event void Send.sendDone(message_t *msg, error_t error) {
>             sendbusy = FALSE;
>                 dbg("vsn","sendDone\n");
>        }
>         event message_t* Snoop.receive(message_t* msg,void* payload ,
> uint8_t len){
>             dbg("vsn","Snoop.receive\n");
>             return msg;
>         }
>
>       event void RadioControl.stopDone(error_t error) { }
>        event void RadioControl.startDone(error_t error) { }
>
>     }
>
> MultihopOscilloscopeAppC.nc
> =============================
> configuration MultihopOscilloscopeAppC{}
>
> implementation {
>     components MainC;
>     components MultihopOscilloscopeC;
>     components new TimerMilliC();
>
>     components SensorC;
>
>     components CollectionC as Collector;
>     components ActiveMessageC;
>     components new CollectionSenderC(AM_OSCILLOSCOPE);
>
>     MultihopOscilloscopeC.Boot->MainC;
>     MultihopOscilloscopeC.RadioControl->ActiveMessageC;
>     MultihopOscilloscopeC.RoutingControl->Collector;
>     MultihopOscilloscopeC.Send ->CollectionSenderC;
>     MultihopOscilloscopeC.Snoop->Collector.Snoop[AM_OSCILLOSCOPE];
>     MultihopOscilloscopeC.Timer->TimerMilliC;
>     MultihopOscilloscopeC.Read->SensorC;
> }
>
>
> OUTPUT
> ========
> node  0 is booting up
> node  1 is booting up
> node  2 is booting up
> node  3 is booting up
> node  4 is booting up
> node  5 is booting up
> DEBUG (0): Booted
> DEBUG (1): Booted
> DEBUG (2): Booted
> DEBUG (3): Booted
> DEBUG (4): Booted
> DEBUG (5): Booted
> DEBUG (0): Tiemr fired
> DEBUG (1): Tiemr fired
> DEBUG (2): Tiemr fired
> DEBUG (3): Tiemr fired
> DEBUG (4): Tiemr fired
> DEBUG (5): Tiemr fired
> DEBUG (0): readDone
> DEBUG (1): readDone
> DEBUG (2): readDone
> DEBUG (3): readDone
> DEBUG (4): readDone
> DEBUG (5): readDone
>
>
>
>
> thanks
> lasanthi
>
>
>
>
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to