]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
get rid of +5 for rounding, change arg name in functions in CtpInfo to match the...
authorgnawali <gnawali>
Thu, 4 Feb 2010 07:31:46 +0000 (07:31 +0000)
committergnawali <gnawali>
Thu, 4 Feb 2010 07:31:46 +0000 (07:31 +0000)
tos/lib/net/4bitle/LinkEstimatorP.nc
tos/lib/net/ctp/CtpInfo.nc

index c82c24fac6a518cef530587d4c5f5a31f7ecc51d..d1cb1af8c22fd2b6207d1400f4fe4864b53aae71 100644 (file)
@@ -67,7 +67,7 @@ implementation {
     INVALID_NEIGHBOR_ADDR = 0xff,
     // if we don't know the link quality, we need to return a value so
     // large that it will not be used to form paths
     INVALID_NEIGHBOR_ADDR = 0xff,
     // if we don't know the link quality, we need to return a value so
     // large that it will not be used to form paths
-    VERY_LARGE_ETX_VALUE = 0xff,
+    VERY_LARGE_ETX_VALUE = 0xffff,
     // decay the link estimate using this alpha
     // we use a denominator of 10, so this corresponds to 0.2
     ALPHA = 9,
     // decay the link estimate using this alpha
     // we use a denominator of 10, so this corresponds to 0.2
     ALPHA = 9,
@@ -273,7 +273,7 @@ implementation {
   // called when new beacon estimate is done
   // also called when new DEETX estimate is done
   void updateETX(neighbor_table_entry_t *ne, uint16_t newEst) {
   // called when new beacon estimate is done
   // also called when new DEETX estimate is done
   void updateETX(neighbor_table_entry_t *ne, uint16_t newEst) {
-    ne->etx = (ALPHA * ne->etx + (10 - ALPHA) * newEst + 5)/10;
+    ne->etx = (ALPHA * ne->etx + (10 - ALPHA) * newEst)/10;
   }
 
 
   }
 
 
@@ -287,7 +287,7 @@ implementation {
       // transmissions
       estETX = ne->data_total * 10;
     } else {
       // transmissions
       estETX = ne->data_total * 10;
     } else {
-      estETX = (10 * ne->data_total + 5) / ne->data_success;
+      estETX = (10 * ne->data_total) / ne->data_success;
       ne->data_success = 0;
       ne->data_total = 0;
     }
       ne->data_success = 0;
       ne->data_total = 0;
     }
@@ -295,9 +295,9 @@ implementation {
   }
 
 
   }
 
 
-  // ETX (Extra Expected number of Transmission)
+  // ETX (Expected number of Transmission)
   // computeETX returns ETX*10
   // computeETX returns ETX*10
-  uint8_t computeETX(uint8_t q1) {
+  uint16_t computeETX(uint8_t q1) {
     uint16_t q;
     if (q1 > 0) {
       q =  2500 / q1;
     uint16_t q;
     if (q1 > 0) {
       q =  2500 / q1;
@@ -332,11 +332,11 @@ implementation {
            totalPkt = minPkt;
          }
          if (totalPkt == 0) {
            totalPkt = minPkt;
          }
          if (totalPkt == 0) {
-           ne->inquality = (ALPHA * ne->inquality + 5) / 10;
+           ne->inquality = (ALPHA * ne->inquality) / 10;
          } else {
          } else {
-           newEst = (250UL * ne->rcvcnt + 5) / totalPkt;
-           dbg("LI,LITest", "  %hu: %hhu -> %hhu", ne->ll_addr, ne->inquality, (ALPHA * ne->inquality + (10-ALPHA) * newEst + 5)/10);
-           ne->inquality = (ALPHA * ne->inquality + (10-ALPHA) * newEst + 5)/10;
+           newEst = (250UL * ne->rcvcnt) / totalPkt;
+           dbg("LI,LITest", "  %hu: %hhu -> %hhu", ne->ll_addr, ne->inquality, (ALPHA * ne->inquality + (10-ALPHA) * newEst)/10);
+           ne->inquality = (ALPHA * ne->inquality + (10-ALPHA) * newEst)/10;
          }
          ne->rcvcnt = 0;
          ne->failcnt = 0;
          }
          ne->rcvcnt = 0;
          ne->failcnt = 0;
index ad0687e267ed1badaaaae0341bb9bfcaffee684b..7e8654951f7779ada76a4aacfcf74eb841f7011d 100644 (file)
@@ -81,7 +81,7 @@ interface CtpInfo {
   command bool isNeighborCongested(am_addr_t n);
 
   command uint8_t numNeighbors();
   command bool isNeighborCongested(am_addr_t n);
 
   command uint8_t numNeighbors();
-  command uint16_t getNeighborLinkQuality(uint8_t neighbor);
-  command uint16_t getNeighborRouteQuality(uint8_t neighbor);
-  command am_addr_t getNeighborAddr(uint8_t neighbor);
+  command uint16_t getNeighborLinkQuality(uint8_t n);
+  command uint16_t getNeighborRouteQuality(uint8_t n);
+  command am_addr_t getNeighborAddr(uint8_t n);
 }
 }