From 8967d8a85ef488337f0e9467a44e996f065a8d5b Mon Sep 17 00:00:00 2001 From: Mariano Alvira Date: Sun, 16 Jan 2011 09:32:57 -0500 Subject: [PATCH 1/4] notes about acking --- TODO | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/TODO b/TODO index 1512c2e19..8a68f8400 100644 --- a/TODO +++ b/TODO @@ -14,3 +14,11 @@ - beacon sync - CCA and ED. + +- auto-acking and ack managment + keep a set of bit fields, one bit per sequence number (DSN), so 32 bytes + total. + Set them all to 1 initially. When a DSN is sent, clear the bit. Set + the bit when the ack is received. + Do anything special with sent but unacked packets? Maybe, so you can + retransmit them. \ No newline at end of file From fc7c0ad3c160986576f4b60cb5371a33ca0df8b6 Mon Sep 17 00:00:00 2001 From: Mariano Alvira Date: Sun, 16 Jan 2011 12:01:13 -0500 Subject: [PATCH 2/4] note about how contiki isn't using 802.15.4 acks so there isn't much point to implement them --- TODO | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 8a68f8400..ccb5adf72 100644 --- a/TODO +++ b/TODO @@ -21,4 +21,10 @@ Set them all to 1 initially. When a DSN is sent, clear the bit. Set the bit when the ack is received. Do anything special with sent but unacked packets? Maybe, so you can - retransmit them. \ No newline at end of file + retransmit them. + + Dosen't look like contiki ever uses 802.15.4 acking: grep ACKFRAME + + not much point to implement it here unless you also plan to use in + in contiki (pretty substantial change to core Contiki). + From 92164e7eff8903cf9d996f02fe100aa61bc3ca34 Mon Sep 17 00:00:00 2001 From: Mariano Alvira Date: Sun, 16 Jan 2011 12:38:34 -0500 Subject: [PATCH 3/4] more note about autoack --- requires proper hardware addressing --- TODO | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TODO b/TODO index ccb5adf72..bd074f9ad 100644 --- a/TODO +++ b/TODO @@ -28,3 +28,6 @@ not much point to implement it here unless you also plan to use in in contiki (pretty substantial change to core Contiki). + also you ack the data after checking it's for you. so autoack relies + on setting up the hardware addressing. + From e4f644f7b18b3f2e9a98c752d645a529f5cb9daf Mon Sep 17 00:00:00 2001 From: Mariano Alvira Date: Mon, 17 Jan 2011 07:41:44 -0500 Subject: [PATCH 4/4] fix a race condition regarding advancement of the softclock. Without this, the advancment would fail to trigger a tx cycle occasionally. This would cause the packet to get deferred until the next expiration of the softclock. --- lib/maca.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maca.c b/lib/maca.c index 43fc4a264..0936eb3b0 100644 --- a/lib/maca.c +++ b/lib/maca.c @@ -461,7 +461,7 @@ void tx_packet(volatile packet_t *p) { if(bit_is_set(*NIPEND, INT_NUM_MACA)) { *INTFRC = (1 << INT_NUM_MACA); } if(last_post == NO_POST) { *INTFRC = (1<