From 60a868099484110f34ec3fd14c2baa659d26050e Mon Sep 17 00:00:00 2001 From: scipio Date: Thu, 8 Feb 2007 00:56:35 +0000 Subject: [PATCH] Correctly handle both snooped and received packets. --- apps/BaseStationCC2420/BaseStationC.nc | 2 +- apps/BaseStationCC2420/BaseStationP.nc | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/apps/BaseStationCC2420/BaseStationC.nc b/apps/BaseStationCC2420/BaseStationC.nc index 2411a37c..e0727e8f 100644 --- a/apps/BaseStationCC2420/BaseStationC.nc +++ b/apps/BaseStationCC2420/BaseStationC.nc @@ -82,7 +82,7 @@ implementation { BaseStationP.RadioSend -> Radio; BaseStationP.RadioReceive -> Radio.Receive; - BaseStationP.RadioReceive -> Radio.Snoop; + BaseStationP.RadioSnoop -> Radio.Snoop; BaseStationP.RadioPacket -> Radio; BaseStationP.RadioAMPacket -> Radio; diff --git a/apps/BaseStationCC2420/BaseStationP.nc b/apps/BaseStationCC2420/BaseStationP.nc index 7fad5ea4..5e261a28 100644 --- a/apps/BaseStationCC2420/BaseStationP.nc +++ b/apps/BaseStationCC2420/BaseStationP.nc @@ -59,6 +59,7 @@ module BaseStationP { interface AMSend as RadioSend[am_id_t id]; interface Receive as RadioReceive[am_id_t id]; + interface Receive as RadioSnoop[am_id_t id]; interface Packet as RadioPacket; interface AMPacket as RadioAMPacket; @@ -128,10 +129,22 @@ implementation event void SerialControl.stopDone(error_t error) {} event void RadioControl.stopDone(error_t error) {} + message_t* receive(message_t* msg, void* payload, uint8_t len); + uint8_t count = 0; - event message_t *RadioReceive.receive[am_id_t id](message_t *msg, + event message_t* RadioReceive.receive[am_id_t id](message_t *msg, void *payload, uint8_t len) { + return receive(msg, payload, len); + } + + event message_t* RadioSnoop.receive[am_id_t id](message_t* msg, + void* payload, + uint8_t len) { + return receive(msg, payload, len); + } + + message_t* receive(message_t* msg, void* payload, uint8_t len) { message_t *ret = msg; atomic { -- 2.39.2