[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