[Tinyos-2-commits] CVS: tinyos-2.x/doc/txt tep119.txt, 1.1.2.4, 1.1.2.5

Omprakash Gnawali gnawali at users.sourceforge.net
Wed Nov 1 13:19:22 PST 2006


Update of /cvsroot/tinyos/tinyos-2.x/doc/txt
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18150

Modified Files:
      Tag: tinyos-2_0_devel-BRANCH
	tep119.txt 
Log Message:
updated LinkEstimatorP section

Index: tep119.txt
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/doc/txt/tep119.txt,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -C2 -d -r1.1.2.4 -r1.1.2.5
*** tep119.txt	27 Jun 2006 20:18:30 -0000	1.1.2.4
--- tep119.txt	1 Nov 2006 21:19:20 -0000	1.1.2.5
***************
*** 229,262 ****
  neighbor. Link estimation can be done in a variety of ways, and we do
  not impose one here. It is decoupled from the establishment of
! routes. There is a narrow interface (LinkEstimator) between the link
! estimator and the routing engine. The one requirement is that the
! quality returned is standardized. A larger return value from
! LinkEstimator.getQuality(), LinkEstimator.getforwardQuality(),
! LinkEstimator.getreserveQuality() MUST imply that the link to the
! neighbor is estimated to be of a higher quality than the one that
! results in a smaller return value. The range of value SHOULD be
! [0,255] and the variation in link quality in that range SHOULD be
! linear. Radio provided values such as LQI or RSI, beacon based link
! estimation to compute ETX, or their combination are some possible
! approaches to estimating link qualities. LinkEstimatorP MAY have its
! own control messages to compute bi-directional link qualities::
  
!   typedef uint16_t neighbor_t
  
    LinkEstimatorP {
      provides {
        interface LinkEstimator;
!       interface NeighborTable;
      }
    }
  
    interface LinkEstimator {
!     command uint8_t getLinkQuality(neighbot_t neighbor);
!     command uint8_t getReverseQuality(neighbot_t neighbor);
!     command uint8_t getForwardQuality(neighbot_t neighbor);
    }
  
!   interface NeighborTable {
!     event void evicted(neighbot_t neighbor)
    }
  
--- 229,280 ----
  neighbor. Link estimation can be done in a variety of ways, and we do
  not impose one here. It is decoupled from the establishment of
! routes. There is a narrow interface (LinkEstimator and
! NeighborTableEviction) between the link estimator and the routing
! engine. The one requirement is that the quality returned is
! standardized. A smaller return value from LinkEstimator.getQuality(),
! LinkEstimator.getforwardQuality(), LinkEstimator.getreserveQuality()
! MUST imply that the link to the neighbor is estimated to be of a
! higher quality than the one that results in a smaller return
! value. The range of value SHOULD be [0,255] and the variation in link
! quality in that range SHOULD be linear. Radio provided values such as
! LQI or RSI, beacon based link estimation to compute ETX, or their
! combination are some possible approaches to estimating link
! qualities. LinkEstimatorP MAY have its own control messages to compute
! bi-directional link qualities. LinkEstimatorP provides calls (txAck(),
! txNoAck(), and clearDLQ()) to update the link estimates based on
! successful or unsuccessful data transmission to the neighbors. The
! user of LinkEstimatorP can call insertNeighbor() to manually insert a
! node in the neighbor table, pinNeighbor() to prevent a neighbor from
! being evicted, and unpinNeighbor() to restore eviction policy::
  
!   typedef uint16_t neighbor_table_entry_t
  
    LinkEstimatorP {
      provides {
+       interface StdControl;
+       interface AMSend as Send;
+       interface Receive;
        interface LinkEstimator;
!       interface Init;
!       interface Packet;
!       interface LinkSrcPacket;
      }
    }
  
    interface LinkEstimator {
!     command uint8_t getLinkQuality(uint16_t neighbor);
!     command uint8_t getReverseQuality(uint16_t neighbor);
!     command uint8_t getForwardQuality(uint16_t neighbor);
!     command error_t insertNeighbor(am_addr_t neighbor);
!     command error_t pinNeighbor(am_addr_t neighbor);
!     command error_t unpinNeighbor(am_addr_t neighbor);
!     command error_t txAck(am_addr_t neighbor);
!     command error_t txNoAck(am_addr_t neighbor);
!     command error_t clearDLQ(am_addr_t neighbor);
!     event void evicted(am_addr_t neighbor);
    }
  
!   interface NeighborTableEviction {
!     event void evicted(uint16_t neighbor)
    }
  



More information about the Tinyos-2-commits mailing list