[Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/tda5250/mac RedMacP.nc, 1.11, 1.12 CsmaMacP.nc, 1.8, 1.9

akoepke andreaskoepke at users.sourceforge.net
Wed Aug 29 07:22:52 PDT 2007


Update of /cvsroot/tinyos/tinyos-2.x/tos/chips/tda5250/mac
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv2746

Modified Files:
	RedMacP.nc CsmaMacP.nc 
Log Message:
improved duplicate suppression


Index: RedMacP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/tda5250/mac/RedMacP.nc,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** RedMacP.nc	13 Jul 2007 16:48:27 -0000	1.11
--- RedMacP.nc	29 Aug 2007 14:22:50 -0000	1.12
***************
*** 137,143 ****
          // DEFAULT_SLEEP_TIME=3250,
          // DEFAULT_SLEEP_TIME=6500,
!         // DEFAULT_SLEEP_TIME=9750,
          DEFAULT_SLEEP_TIME=16384,
          // DEFAULT_SLEEP_TIME=32768U,
          DATA_DETECT_TIME=17,
          RX_SETUP_TIME=102,    // time to set up receiver
--- 137,144 ----
          // DEFAULT_SLEEP_TIME=3250,
          // DEFAULT_SLEEP_TIME=6500,
!         // DEFAULT_SLEEP_TIME=8192,
          DEFAULT_SLEEP_TIME=16384,
          // DEFAULT_SLEEP_TIME=32768U,
+         // DEFAULT_SLEEP_TIME=65535U,
          DATA_DETECT_TIME=17,
          RX_SETUP_TIME=102,    // time to set up receiver
***************
*** 150,155 ****
          MAX_SHORT_RETRY=9,
          MAX_LONG_RETRY=3,
!         MAX_AGE=2*MAX_LONG_RETRY*MAX_SHORT_RETRY,
!         MSG_TABLE_ENTRIES=20,
          TOKEN_ACK_FLAG = 64,
          TOKEN_ACK_MASK = 0x3f,
--- 151,156 ----
          MAX_SHORT_RETRY=9,
          MAX_LONG_RETRY=3,
!         MAX_AGE=0xff,
!         MSG_TABLE_ENTRIES=16,
          TOKEN_ACK_FLAG = 64,
          TOKEN_ACK_MASK = 0x3f,
***************
*** 214,217 ****
--- 215,235 ----
  
      uint16_t MIN_BACKOFF_MASK;
+ 
+ #ifdef REDMAC_DEBUG
+     uint8_t dupOldest;
+     task void dumpLast() {
+         knownMessage_t mem;
+         unsigned i;
+         atomic {
+             i = dupOldest;
+             mem = knownMsgTable[i];
+         }
+         sdDebug(5000);
+         sdDebug(i);
+         sdDebug(mem.src);
+         sdDebug(mem.token);
+         sdDebug(mem.age);
+     }
+ #endif
      
      /****** Secure switching of radio modes ***/
***************
*** 303,306 ****
--- 321,333 ----
  
      /**************** Helper functions ************************/
+     task void ageMsgsTask() {
+         unsigned i;
+         atomic {
+             for(i = 0; i < MSG_TABLE_ENTRIES; i++) {
+                 if(knownMsgTable[i].age < MAX_AGE) ++knownMsgTable[i].age;
+             }
+         }
+     }
+     
      void computeBackoff();
      
***************
*** 565,568 ****
--- 592,599 ----
          knownMsgTable[oldest].token = (getHeader(msg)->token) & TOKEN_ACK_MASK;
          knownMsgTable[oldest].age = 0;
+ #ifdef REDMAC_DEBUG
+         dupOldest = oldest;
+         post dumpLast();
+ #endif
      }
  
***************
*** 877,880 ****
--- 908,912 ----
              // sdDebug(191);
              if(error == SUCCESS) {
+                 post ageMsgsTask();
                  // sdDebug(192);
                  isCnt = isControl(msg);
***************
*** 951,955 ****
              else {
                  // sdDebug(201);
!                 action = RX;
              }
          }
--- 983,987 ----
              else {
                  // sdDebug(201);
!                 action = SLEEP;
              }
          }
***************
*** 983,987 ****
                  }
                  else {
!                     sdDebug(203);
                      updateLongRetryCounters(); // this will eventually schedule the right backoff
                      macState = SLEEP;          // so much traffic is going on -- take a nap
--- 1015,1019 ----
                  }
                  else {
!                     // sdDebug(203);
                      updateLongRetryCounters(); // this will eventually schedule the right backoff
                      macState = SLEEP;          // so much traffic is going on -- take a nap
***************
*** 992,1000 ****
              else {
                  if(call Timer.isRunning()) {
!                     sdDebug(204);
                      action = RX_ACK;
                  }
                  else {
!                     sdDebug(205);
                      updateLongRetryCounters();
                      action = RX;
--- 1024,1032 ----
              else {
                  if(call Timer.isRunning()) {
!                     // sdDebug(204);
                      action = RX_ACK;
                  }
                  else {
!                     // sdDebug(205);
                      updateLongRetryCounters();
                      action = RX;
***************
*** 1252,1264 ****
      /****** SampleTimer ******************************/
  
-     task void ageMsgsTask() {
-         unsigned i;
-         atomic {
-             for(i = 0; i < MSG_TABLE_ENTRIES; i++) {
-                 if(knownMsgTable[i].age <= MAX_AGE) ++knownMsgTable[i].age;
-             }
-         }
-     }
-     
      async event void SampleTimer.fired() {
          call SampleTimer.start(localSleeptime);
--- 1284,1287 ----

Index: CsmaMacP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/tda5250/mac/CsmaMacP.nc,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** CsmaMacP.nc	5 Apr 2007 06:38:45 -0000	1.8
--- CsmaMacP.nc	29 Aug 2007 14:22:50 -0000	1.9
***************
*** 108,113 ****
          TOKEN_ACK_MASK = 0x3f,
          INVALID_SNR = 0xffff,
!         MSG_TABLE_ENTRIES=20,
!         MAX_AGE=2*MAX_LONG_RETRY*MAX_SHORT_RETRY,
      };
      
--- 108,113 ----
          TOKEN_ACK_MASK = 0x3f,
          INVALID_SNR = 0xffff,
!         MSG_TABLE_ENTRIES=16,
!         MAX_AGE=0xff;
      };
      
***************
*** 168,172 ****
          atomic {
              for(i = 0; i < MSG_TABLE_ENTRIES; i++) {
!                 if(knownMsgTable[i].age <= MAX_AGE) ++knownMsgTable[i].age;
              }
          }
--- 168,172 ----
          atomic {
              for(i = 0; i < MSG_TABLE_ENTRIES; i++) {
!                 if(knownMsgTable[i].age < MAX_AGE) ++knownMsgTable[i].age;
              }
          }



More information about the Tinyos-2-commits mailing list