]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
trunc->round as suggested out by Andreas Kopke, and one other trunc->round
authorgnawali <gnawali>
Fri, 13 Mar 2009 05:13:29 +0000 (05:13 +0000)
committergnawali <gnawali>
Fri, 13 Mar 2009 05:13:29 +0000 (05:13 +0000)
tos/lib/net/4bitle/LinkEstimatorP.nc
tos/lib/net/le/LinkEstimatorP.nc

index d0f307561959d68849379c391768b9a68b6287c1..5b27083f959bbcde8ee0b160f6d3a8fc36f55308 100644 (file)
@@ -276,7 +276,7 @@ implementation {
   // called when new beacon estimate is done
   // also called when new DEETX estimate is done
   void updateEETX(neighbor_table_entry_t *ne, uint16_t newEst) {
-    ne->eetx = (ALPHA * ne->eetx + (10 - ALPHA) * newEst)/10;
+    ne->eetx = (ALPHA * ne->eetx + (10 - ALPHA) * newEst + 5)/10;
   }
 
 
@@ -346,8 +346,8 @@ implementation {
              ne->inquality = (ALPHA * ne->inquality) / 10;
            } else {
              newEst = (255 * 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;
+             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;
            }
            ne->rcvcnt = 0;
            ne->failcnt = 0;
index c83727bf1ba5f88392708f3c0be2db4e4adbd3b9..5a0f1b62be1a8f338a2f6ea4af873d58d8f8c232 100644 (file)
@@ -252,7 +252,7 @@ implementation {
   // called when new beacon estimate is done
   // also called when new DEETX estimate is done
   void updateEETX(neighbor_table_entry_t *ne, uint16_t newEst) {
-    ne->eetx = (ALPHA * ne->eetx + (10 - ALPHA) * newEst)/10;
+    ne->eetx = (ALPHA * ne->eetx + (10 - ALPHA) * newEst + 5)/10;
   }
 
 
@@ -341,8 +341,8 @@ implementation {
              ne->inquality = (ALPHA * ne->inquality) / 10;
            } else {
              newEst = (255 * 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;
+             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;
            }
            ne->rcvcnt = 0;
            ne->failcnt = 0;