X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Ftda5250%2Fmac%2FDuplicateP.nc;fp=tos%2Fchips%2Ftda5250%2Fmac%2FDuplicateP.nc;h=7027d257462ff5947b10a7f0bc10c65e02c5aa8f;hb=e3afaa47613429e2cf3a65361cd2c20e01a5c2c8;hp=f1e8598ee991e5b3d5e127c28d9407ef2e6fdc0f;hpb=83aea03cb5781e0594fa6586d644f5cb90c3073d;p=tinyos-2.x.git diff --git a/tos/chips/tda5250/mac/DuplicateP.nc b/tos/chips/tda5250/mac/DuplicateP.nc index f1e8598e..7027d257 100644 --- a/tos/chips/tda5250/mac/DuplicateP.nc +++ b/tos/chips/tda5250/mac/DuplicateP.nc @@ -56,10 +56,12 @@ implementation { task void dump() { sdDebug(3000 + last); sdDebug(dupOldest.src); + sdDebug(dupOldest.dest); sdDebug(dupOldest.seqno); sdDebug(dupOldest.age); sdDebug(4000); sdDebug(knownTable[last].src); + sdDebug(knownTable[last].dest); sdDebug(knownTable[last].seqno); sdDebug(knownTable[last].age); sdDebug(5000); @@ -92,12 +94,13 @@ implementation { } /*** duplicate interface */ - async command bool Duplicate.isNew(am_addr_t src, uint8_t seqno) { + async command bool Duplicate.isNew(am_addr_t src, am_addr_t dest, uint8_t seqno) { bool rVal = TRUE; unsigned i; for(i=0; i < TABLE_ENTRIES; i++) { if((knownTable[i].age < MAX_AGE) && (src == knownTable[i].src) && + (dest == knownTable[i].dest) && (seqno == knownTable[i].seqno)) { knownTable[i].age = 0; rVal = FALSE; @@ -109,7 +112,7 @@ implementation { return rVal; } - async command void Duplicate.remember(am_addr_t src, uint8_t seqno) { + async command void Duplicate.remember(am_addr_t src, am_addr_t dest, uint8_t seqno) { unsigned oldest = findOldest(); #ifdef DUPLICATE_DEBUG dupOldest = knownTable[oldest]; @@ -117,6 +120,7 @@ implementation { post dump(); #endif knownTable[oldest].src = src; + knownTable[oldest].dest = dest; knownTable[oldest].seqno = seqno; knownTable[oldest].age = 0; post ageMsgsTask();