On Thu, Dec 3, 2009 at 8:43 AM, Faisal Aslam <[email protected]> wrote: > Dear Gnawali and all, > > I really need a good Link Estimation that works on many different > platforms (e.g. Telosb, mica2, micaz etc). It will be good to have a 4-bit > link estimation that is reliable. > I have tried to use the LinkEstimation interface however, it always return > same 255 value. Can someone please guide me that what I am doing wrong? I > really appreciate your help. > > Here is the code. > > +++++++++++++ LinkEstTestC.nc ++++++++++++ > #include <Timer.h> > #include "printf.h" > > module LinkEstTestC { > uses interface Boot; > uses interface SplitControl as RadioControl; > uses interface StdControl as LEStart; > uses interface Leds; > uses interface LinkEstimator; > uses interface Timer<TMilli>; > } > > implementation { > > event void Boot.booted() { > call RadioControl.start(); > } > > event void RadioControl.startDone(error_t err) { > if (err != SUCCESS) { > call RadioControl.start(); > } else { > call LEStart.start(); > call Timer.startPeriodic(2000); > } > } > > event void RadioControl.stopDone(error_t err) {} > > event void Timer.fired() { > uint16_t linkQuality = call LinkEstimator.getLinkQuality(5); > printf("LinkQ = %u \n", linkQuality); > call Leds.led2Toggle(); > printfflush(); > } > > event void LinkEstimator.evicted(am_addr_t neighbor) {} > } > > +++++++++++++++++ LinkEstTestAppC.nc ++++++++++++ > configuration LinkEstTestAppC {} > implementation { > components LinkEstTestC, MainC, LedsC, ActiveMessageC; > components new TimerMilliC(), LinkEstimatorP; > > LinkEstTestC.Boot -> MainC; > LinkEstTestC.RadioControl -> ActiveMessageC; > LinkEstTestC.Leds -> LedsC; > LinkEstTestC.Timer -> TimerMilliC; > LinkEstTestC.LEStart -> LinkEstimatorP; > LinkEstTestC.LinkEstimator -> LinkEstimatorP; > } > > +++++++++++++++++++++ Makefile ++++++++++++++++++++ > COMPONENT=LinkEstTestAppC > CFLAGS += -I$(TOSDIR)/lib/printf \ > -I$(TOSDIR)/lib/net \ > -I$(TOSDIR)/lib/net/le \ > -I$(TOSDIR)/lib/net/ctp > include $(MAKERULES)
The estimator does not generate traffic of its own. You should send packets through the estimator to broadcast address. You should look at CtpRoutingEngineP.nc for an example on how to send a packet through the link estimator. - om_p _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
