[Tinyos-help] Problem in using MultiHopRouter
Joe Polastre
joe at polastre.com
Wed Jan 3 09:04:19 PST 2007
You should use MultiHopLQI. See /opt/moteiv/apps/Delta for an example.
-Joe
On 12/29/06, YIP Chi Chung <cs_yccaa at stu.ust.hk> wrote:
> Hi,
>
> I am new to tinyos and I got some problems in using MultiHopRouter.
> I need to implement a testing program which a node will send an integer to
> other nodes, and other nodes will increase the number by 1 and then send
> to other nodes again and again. A node will connect to the PC and display
> the integer, the node address and also the hop count.
>
> However, I don't know how to use MultiHopRouter, I got error during
> compilation. I am using tmote.
>
> My code is like this:
>
> includes IntMsg;
> includes MultiHop;
>
> configuration AddNum2 {
> }
> implementation {
> components Main, AddNum2M, SingleTimer, LedsC, GenericComm as Comm,
> Bcast, MultiHopRouter as multihopM, QueuedSend;
> Main.StdControl -> AddNum2M.StdControl;
> Main.StdControl -> Comm;
> Main.StdControl -> Bcast.StdControl;
> Main.StdControl -> multihopM.StdControl;
> Main.StdControl -> QueuedSend.StdControl;
> Main.StdControl -> SingleTimer.StdControl;
> AddNum2M.Leds -> LedsC;
> AddNum2M.Timer -> SingleTimer.Timer;
> AddNum2M.SendMsg -> Comm.SendMsg[AM_INTMSG];
> AddNum2M.Read -> Comm.ReceiveMsg[AM_INTMSG];
> AddNum2M.Bcast -> Bcast.Receive[AM_INTMSG];
> Bcast.ReceiveMsg[AM_INTMSG] -> Comm.ReceiveMsg[AM_INTMSG];
>
> AddNum2M.RouteControl -> multihopM;
> AddNum2M.Send -> multihopM.Send[AM_INTMSG];
> multihopM.ReceiveMsg[AM_INTMSG] -> Comm.ReceiveMsg[AM_INTMSG];
> }
>
>
>
> And this is the error I have got:
>
> C:/cygwin/opt/moteiv/tos/lib/sp/GenericCommPromiscuous.nc:31:2: warning:
> #warning "GenericCommPromiscuous is deprecated, please use GenericComm
> instead"
> In file included from
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopRouter.nc:93, from
> AddNum2.nc:7:
> In component `MultiHopEngineM':
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopEngineM.nc: In
> function `Send.send':
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopEngineM.nc:136: too
> few arguments to function `RouteSelect.selectRoute'
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopEngineM.nc: In
> function `mForward':
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopEngineM.nc:167: too
> few arguments to function `RouteSelect.selectRoute'
> In file included from
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopRouter.nc:93, from
> AddNum2.nc:7:
> In component `MultiHopLEPSM':
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopLEPSM.nc: In
> function `SendRouteTask.runTask':
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopLEPSM.nc:398:
> implicit declaration of function `qsort'
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopLEPSM.nc: At top level:
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopLEPSM.nc:507:
> conflicting types for `RouteSelect.selectRoute'
> C:/cygwin/opt/moteiv/tos/lib/MultiHopLQI/RouteSelect.nc:71: previous
> declaration of `RouteSelect.selectRoute'
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopLEPSM.nc:56:
> `RouteSelect.isDuplicate' not implemented
> In component `MultiHopRouter':
> C:/cygwin/opt/moteiv/tinyos-1.x/tos/lib/Route/MultiHopRouter.nc:112: no match
> make: *** [exe0] Error 1
>
>
>
> I really have no idea on how to do it. Can anyone give me some hints?
> Thank you very much
>
> Phoenix
>
> _______________________________________________
> Tinyos-help mailing list
> Tinyos-help at Millennium.Berkeley.EDU
> https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
More information about the Tinyos-help
mailing list