[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