WMEWMAMultiHopRouter.nc.~1.4.~
上传用户:joranyuan
上传日期:2022-06-23
资源大小:3306k
文件大小:2k
源码类别:

网络

开发平台:

Others

  1. includes MultiHop;
  2. configuration WMEWMAMultiHopRouter {
  3.   
  4.   provides {
  5.     interface StdControl;
  6.     // The interface are as parameterised by the active message id
  7. // only the 10 active message ids defined MultiHop.h are supported.
  8.     interface Receive[uint8_t id];
  9.     interface Intercept[uint8_t id];
  10.     interface Intercept as Snoop[uint8_t id];
  11.     interface Send[uint8_t id];
  12.     interface RouteControl;
  13.   }
  14.   uses {
  15.     interface ReceiveMsg[uint8_t id];
  16.   }
  17. }
  18. implementation {
  19.   
  20.   // Uncomment for use with mh6
  21.   components MultiHopEngineM, MultiHopWMEWMA, GenericCommPromiscuous as Comm, 
  22.     QueuedSend, TimerC, 
  23. #ifdef USE_WATCHDOG
  24. WDTC,
  25. #endif
  26. NoLeds as LedsC;
  27.   StdControl = MultiHopEngineM;
  28.   Receive = MultiHopEngineM;
  29.   Send = MultiHopEngineM;
  30.   Intercept = MultiHopEngineM.Intercept;
  31.   Snoop = MultiHopEngineM.Snoop;
  32.   RouteControl = MultiHopEngineM;
  33.   ReceiveMsg = MultiHopEngineM;
  34.   MultiHopEngineM.SubControl -> QueuedSend.StdControl;
  35.   MultiHopEngineM.SubControl -> MultiHopWMEWMA.StdControl;
  36.   MultiHopEngineM.CommStdControl -> Comm;
  37.   MultiHopEngineM.CommControl -> Comm;
  38.   MultiHopEngineM.RouteSelectCntl -> MultiHopWMEWMA.RouteControl;
  39.   MultiHopEngineM.RouteSelect -> MultiHopWMEWMA;
  40.   MultiHopEngineM.SendMsg -> QueuedSend.SendMsg;
  41.   
  42.   MultiHopWMEWMA.Timer -> TimerC.Timer[unique("Timer")];  
  43.   MultiHopWMEWMA.ATimer -> TimerC.Timer[unique("Timer")];  
  44.   MultiHopWMEWMA.ReceiveMsg -> Comm.ReceiveMsg[AM_MULTIHOPMSG];
  45.   MultiHopWMEWMA.Snoop -> MultiHopEngineM.Snoop;
  46.   MultiHopWMEWMA.SendMsg -> QueuedSend.SendMsg[AM_MULTIHOPMSG];
  47.   MultiHopWMEWMA.DebugSendMsg -> MultiHopEngineM.Send[3];
  48.   MultiHopEngineM.ReceiveMsg[3] -> Comm.ReceiveMsg[3];
  49.   MultiHopWMEWMA.Leds -> LedsC;
  50. #ifdef USE_WATCHDOG
  51.   MultiHopWMEWMA.PoochHandler -> WDTC.StdControl;
  52.   MultiHopWMEWMA.WDT -> WDTC.WDT;
  53. #endif
  54. }