From: scipio Date: Thu, 8 Feb 2007 01:00:25 +0000 (+0000) Subject: Correctly snoop packets. X-Git-Tag: tinyos/2.0.1~186 X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=commitdiff_plain;h=d69d775a421ae907addefb6a3494610c0da2ab39;p=tinyos-2.x.git Correctly snoop packets. --- diff --git a/apps/BaseStation/BaseStationC.nc b/apps/BaseStation/BaseStationC.nc index 016a8b1e..e0727e8f 100644 --- a/apps/BaseStation/BaseStationC.nc +++ b/apps/BaseStation/BaseStationC.nc @@ -82,6 +82,7 @@ implementation { BaseStationP.RadioSend -> Radio; BaseStationP.RadioReceive -> Radio.Receive; + BaseStationP.RadioSnoop -> Radio.Snoop; BaseStationP.RadioPacket -> Radio; BaseStationP.RadioAMPacket -> Radio; diff --git a/apps/BaseStation/BaseStationP.nc b/apps/BaseStation/BaseStationP.nc index ff1c2f56..a918a6db 100644 --- a/apps/BaseStation/BaseStationP.nc +++ b/apps/BaseStation/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; @@ -129,9 +130,22 @@ implementation event void RadioControl.stopDone(error_t error) {} uint8_t count = 0; + + message_t* receive(message_t* msg, void* payload, uint8_t len); + + event message_t *RadioSnoop.receive[am_id_t id](message_t *msg, + void *payload, + uint8_t len) { + return receive(msg, payload, len); + } + event message_t *RadioReceive.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 {