[Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/rf2xx/layers ActiveMessageConfig.nc, 1.3, 1.4 ActiveMessageLayerC.nc, 1.4, 1.5 ActiveMessageLayerP.nc, 1.3, 1.4 DummyLayerC.nc, 1.3, 1.4 IEEE154MessageLayerC.nc, 1.3, 1.4 IEEE154MessageLayerP.nc, 1.3, 1.4 LowPowerListeningDummyC.nc, 1.2, 1.3 LowPowerListeningLayerC.nc, 1.5, 1.6 LowPowerListeningLayerP.nc, 1.5, 1.6 LowpanNetworkLayerC.nc, 1.2, 1.3 MessageBufferLayerC.nc, 1.1, 1.2 MessageBufferLayerP.nc, 1.1, 1.2 PacketLinkLayerC.nc, 1.3, 1.4 PacketLinkLayerP.nc, 1.3, 1.4 UniqueLayerC.nc, 1.1, 1.2 UniqueLayerP.nc, 1.1, 1.2
Miklos Maroti
mmaroti at users.sourceforge.net
Thu Apr 9 13:48:06 PDT 2009
Update of /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv1826/layers
Modified Files:
ActiveMessageConfig.nc ActiveMessageLayerC.nc
ActiveMessageLayerP.nc DummyLayerC.nc IEEE154MessageLayerC.nc
IEEE154MessageLayerP.nc LowPowerListeningDummyC.nc
LowPowerListeningLayerC.nc LowPowerListeningLayerP.nc
LowpanNetworkLayerC.nc MessageBufferLayerC.nc
MessageBufferLayerP.nc PacketLinkLayerC.nc PacketLinkLayerP.nc
UniqueLayerC.nc UniqueLayerP.nc
Log Message:
Use BareSend/BareReceive instead of Send/Receive to avoid duplication of payload handling code
Index: ActiveMessageConfig.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/ActiveMessageConfig.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ActiveMessageConfig.nc 7 Apr 2009 02:27:43 -0000 1.3
--- ActiveMessageConfig.nc 9 Apr 2009 20:48:02 -0000 1.4
***************
*** 26,36 ****
interface ActiveMessageConfig
{
- /**
- * This command is called when the message first enters the radio stack
- * via the Send.send command. This command should return TRUE if the
- * packet is deffinitely not cleared, FALSE otherwise.
- */
- command bool forgotToClear(message_t* msg);
-
/** Same as AMPacket.destination */
command am_addr_t destination(message_t* msg);
--- 26,29 ----
Index: ActiveMessageLayerC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/ActiveMessageLayerC.nc,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** ActiveMessageLayerC.nc 8 Apr 2009 22:16:16 -0000 1.4
--- ActiveMessageLayerC.nc 9 Apr 2009 20:48:02 -0000 1.5
***************
*** 38,43 ****
{
interface RadioPacket as SubPacket;
! interface Send as SubSend;
! interface Receive as SubReceive;
interface ActiveMessageConfig as Config;
}
--- 38,43 ----
{
interface RadioPacket as SubPacket;
! interface BareSend as SubSend;
! interface BareReceive as SubReceive;
interface ActiveMessageConfig as Config;
}
Index: ActiveMessageLayerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/ActiveMessageLayerP.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ActiveMessageLayerP.nc 8 Apr 2009 22:16:18 -0000 1.3
--- ActiveMessageLayerP.nc 9 Apr 2009 20:48:02 -0000 1.4
***************
*** 40,45 ****
{
interface RadioPacket as SubPacket;
! interface Send as SubSend;
! interface Receive as SubReceive;
interface ActiveMessageConfig as Config;
interface ActiveMessageAddress;
--- 40,45 ----
{
interface RadioPacket as SubPacket;
! interface BareSend as SubSend;
! interface BareReceive as SubReceive;
interface ActiveMessageConfig as Config;
interface ActiveMessageAddress;
***************
*** 49,53 ****
implementation
{
-
activemessage_header_t* getHeader(message_t* msg)
{
--- 49,52 ----
***************
*** 55,68 ****
}
/*----------------- Send -----------------*/
command error_t AMSend.send[am_id_t id](am_addr_t addr, message_t* msg, uint8_t len)
{
! if( call Config.forgotToClear(msg) )
! {
! // return FAIL;
! call Packet.clear(msg);
! }
call AMPacket.setSource(msg, call AMPacket.address());
call AMPacket.setGroup(msg, call AMPacket.localGroup());
--- 54,70 ----
}
+ void* getPayload(message_t* msg)
+ {
+ return ((void*)msg) + call RadioPacket.headerLength(msg);
+ }
+
/*----------------- Send -----------------*/
command error_t AMSend.send[am_id_t id](am_addr_t addr, message_t* msg, uint8_t len)
{
! if( len > call Packet.maxPayloadLength() )
! return EINVAL;
+ call Packet.setPayloadLength(msg, len);
call AMPacket.setSource(msg, call AMPacket.address());
call AMPacket.setGroup(msg, call AMPacket.localGroup());
***************
*** 72,76 ****
signal SendNotifier.aboutToSend[id](addr, msg);
! return call SubSend.send(msg, len);
}
--- 74,78 ----
signal SendNotifier.aboutToSend[id](addr, msg);
! return call SubSend.send(msg);
}
***************
*** 91,100 ****
inline command uint8_t AMSend.maxPayloadLength[am_id_t id]()
{
! return call SubSend.maxPayloadLength();
}
inline command void* AMSend.getPayload[am_id_t id](message_t* msg, uint8_t len)
{
! return call SubSend.getPayload(msg, len);
}
--- 93,102 ----
inline command uint8_t AMSend.maxPayloadLength[am_id_t id]()
{
! return call Packet.maxPayloadLength();
}
inline command void* AMSend.getPayload[am_id_t id](message_t* msg, uint8_t len)
{
! return call Packet.getPayload(msg, len);
}
***************
*** 105,115 ****
/*----------------- Receive -----------------*/
! event message_t* SubReceive.receive(message_t* msg, void* payload, uint8_t len)
{
! am_id_t type = call AMPacket.type(msg);
msg = call AMPacket.isForMe(msg)
! ? signal Receive.receive[type](msg, payload, len)
! : signal Snoop.receive[type](msg, payload, len);
return msg;
--- 107,119 ----
/*----------------- Receive -----------------*/
! event message_t* SubReceive.receive(message_t* msg)
{
! am_id_t id = call AMPacket.type(msg);
! void* payload = getPayload(msg);
! uint8_t len = call Packet.payloadLength(msg);
msg = call AMPacket.isForMe(msg)
! ? signal Receive.receive[id](msg, payload, len)
! : signal Snoop.receive[id](msg, payload, len);
return msg;
***************
*** 220,252 ****
}
-
/*----------------- Packet -----------------*/
command void Packet.clear(message_t* msg)
{
! call RadioPacket.clear(msg);
}
command uint8_t Packet.payloadLength(message_t* msg)
{
! return call RadioPacket.payloadLength(msg);
}
command void Packet.setPayloadLength(message_t* msg, uint8_t len)
{
! call RadioPacket.setPayloadLength(msg, len);
}
command uint8_t Packet.maxPayloadLength()
{
! return call RadioPacket.maxPayloadLength();
}
command void* Packet.getPayload(message_t* msg, uint8_t len)
{
! if( len > call RadioPacket.maxPayloadLength() )
return NULL;
! return ((void*)msg) + call RadioPacket.headerLength(msg);
}
}
--- 224,255 ----
}
/*----------------- Packet -----------------*/
command void Packet.clear(message_t* msg)
{
! call SubPacket.clear(msg);
}
command uint8_t Packet.payloadLength(message_t* msg)
{
! return call SubPacket.payloadLength(msg);
}
command void Packet.setPayloadLength(message_t* msg, uint8_t len)
{
! call SubPacket.setPayloadLength(msg, len);
}
command uint8_t Packet.maxPayloadLength()
{
! return call SubPacket.maxPayloadLength();
}
command void* Packet.getPayload(message_t* msg, uint8_t len)
{
! if( len > call SubPacket.maxPayloadLength() )
return NULL;
! return ((void*)msg) + call SubPacket.headerLength(msg);
}
}
Index: DummyLayerC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/DummyLayerC.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** DummyLayerC.nc 7 Apr 2009 02:27:43 -0000 1.3
--- DummyLayerC.nc 9 Apr 2009 20:48:02 -0000 1.4
***************
*** 27,32 ****
{
interface SplitControl;
! interface Send;
! interface Receive;
interface RadioState;
--- 27,32 ----
{
interface SplitControl;
! interface BareSend as Send;
! interface BareReceive as Receive;
interface RadioState;
***************
*** 42,47 ****
{
interface SplitControl as SubControl;
! interface Send as SubSend;
! interface Receive as SubReceive;
interface RadioState as SubState;
--- 42,47 ----
{
interface SplitControl as SubControl;
! interface BareSend as SubSend;
! interface BareReceive as SubReceive;
interface RadioState as SubState;
Index: IEEE154MessageLayerC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/IEEE154MessageLayerC.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** IEEE154MessageLayerC.nc 8 Apr 2009 22:16:18 -0000 1.3
--- IEEE154MessageLayerC.nc 9 Apr 2009 20:48:02 -0000 1.4
***************
*** 28,34 ****
--- 28,40 ----
interface IEEE154MessageLayer;
interface RadioPacket;
+
+ // for passthrough wiring
+ interface BareSend as Send;
+
+ // for gateway wiring
interface Ieee154Packet;
interface Packet;
interface Ieee154Send;
+ interface Receive as Ieee154Receive;
interface SendNotifier;
}
***************
*** 37,41 ****
{
interface RadioPacket as SubPacket;
! interface Send as SubSend;
}
}
--- 43,50 ----
{
interface RadioPacket as SubPacket;
! interface BareSend as SubSend;
!
! // for gateway wiring
! interface BareReceive as SubReceive;
}
}
***************
*** 49,56 ****
RadioPacket = IEEE154MessageLayerP;
SubPacket = IEEE154MessageLayerP;
Ieee154Packet = IEEE154MessageLayerP;
Packet = IEEE154MessageLayerP;
Ieee154Send = IEEE154MessageLayerP;
! SubSend = IEEE154MessageLayerP;
SendNotifier = IEEE154MessageLayerP;
}
--- 58,71 ----
RadioPacket = IEEE154MessageLayerP;
SubPacket = IEEE154MessageLayerP;
+
+ // for passthrough
+ Send = IEEE154MessageLayerP;
+ SubSend = IEEE154MessageLayerP;
+
Ieee154Packet = IEEE154MessageLayerP;
Packet = IEEE154MessageLayerP;
Ieee154Send = IEEE154MessageLayerP;
! Ieee154Receive = IEEE154MessageLayerP;
! SubReceive = IEEE154MessageLayerP;
SendNotifier = IEEE154MessageLayerP;
}
Index: IEEE154MessageLayerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/IEEE154MessageLayerP.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** IEEE154MessageLayerP.nc 8 Apr 2009 22:16:18 -0000 1.3
--- IEEE154MessageLayerP.nc 9 Apr 2009 20:48:02 -0000 1.4
***************
*** 33,36 ****
--- 33,38 ----
interface Packet;
interface Ieee154Send;
+ interface BareSend as Send;
+ interface Receive as Ieee154Receive;
interface SendNotifier;
}
***************
*** 40,44 ****
interface ActiveMessageAddress;
interface RadioPacket as SubPacket;
! interface Send as SubSend;
}
}
--- 42,47 ----
interface ActiveMessageAddress;
interface RadioPacket as SubPacket;
! interface BareSend as SubSend;
! interface BareReceive as SubReceive;
}
}
***************
*** 70,73 ****
--- 73,81 ----
}
+ void* getPayload(message_t* msg)
+ {
+ return ((void*)msg) + call RadioPacket.headerLength(msg);
+ }
+
async command uint16_t IEEE154MessageLayer.getFCF(message_t* msg)
{
***************
*** 180,184 ****
async command void IEEE154MessageLayer.setSrcAddr(message_t* msg, uint16_t addr)
! {
getHeader(msg)->src = addr;
}
--- 188,192 ----
async command void IEEE154MessageLayer.setSrcAddr(message_t* msg, uint16_t addr)
! {
getHeader(msg)->src = addr;
}
***************
*** 280,284 ****
{
call SubPacket.clear(msg);
- call IEEE154MessageLayer.createDataFrame(msg);
}
--- 288,291 ----
***************
*** 310,314 ****
return NULL;
! return ((void*)msg) + call RadioPacket.headerLength(msg);
}
--- 317,321 ----
return NULL;
! return getPayload(msg);
}
***************
*** 332,357 ****
command error_t Ieee154Send.send(ieee154_saddr_t addr, message_t* msg, uint8_t len)
{
! ieee154_header_t* header = getHeader(msg);
! header->dest = addr;
! header->destpan = call Ieee154Packet.localPan();
! header->src = call Ieee154Packet.address();
signal SendNotifier.aboutToSend(addr, msg);
! return call SubSend.send(msg, len);
}
event void SubSend.sendDone(message_t* msg, error_t error)
{
signal Ieee154Send.sendDone(msg, error);
}
! default event void Ieee154Send.sendDone(message_t* msg, error_t error)
{
}
! default event void SendNotifier.aboutToSend(am_addr_t addr, message_t* msg)
{
}
}
--- 339,396 ----
command error_t Ieee154Send.send(ieee154_saddr_t addr, message_t* msg, uint8_t len)
{
! if( len > call Packet.maxPayloadLength() )
! return EINVAL;
! call IEEE154MessageLayer.createDataFrame(msg);
! call Packet.setPayloadLength(msg, len);
! call Ieee154Packet.setSource(msg, call Ieee154Packet.address());
! call Ieee154Packet.setDestination(msg, addr);
! call Ieee154Packet.setPan(msg, call Ieee154Packet.localPan());
signal SendNotifier.aboutToSend(addr, msg);
! return call SubSend.send(msg);
! }
!
! default event void Ieee154Send.sendDone(message_t* msg, error_t error)
! {
! }
!
! default event void SendNotifier.aboutToSend(am_addr_t addr, message_t* msg)
! {
! }
!
! /*----------------- Send -----------------*/
!
! command error_t Send.send(message_t* msg)
! {
! // lower leveles can send other frames
! call IEEE154MessageLayer.createDataFrame(msg);
!
! return call SubSend.send(msg);
! }
!
! command error_t Send.cancel(message_t* msg)
! {
! return call SubSend.cancel(msg);
}
event void SubSend.sendDone(message_t* msg, error_t error)
{
+ // we signal both, only one of them should be connected
signal Ieee154Send.sendDone(msg, error);
+ signal Send.sendDone(msg, error);
}
! default event void Send.sendDone(message_t* msg, error_t error)
{
}
! /*----------------- Receive -----------------*/
!
! event message_t* SubReceive.receive(message_t* msg)
{
+ return signal Ieee154Receive.receive(msg,
+ getPayload(msg), call Packet.payloadLength(msg));
}
}
Index: LowPowerListeningDummyC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/LowPowerListeningDummyC.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** LowPowerListeningDummyC.nc 7 Apr 2009 02:27:43 -0000 1.2
--- LowPowerListeningDummyC.nc 9 Apr 2009 20:48:02 -0000 1.3
***************
*** 27,32 ****
{
interface SplitControl;
! interface Send;
! interface Receive;
interface RadioPacket;
--- 27,32 ----
{
interface SplitControl;
! interface BareSend as Send;
! interface BareReceive as Receive;
interface RadioPacket;
***************
*** 36,41 ****
{
interface SplitControl as SubControl;
! interface Send as SubSend;
! interface Receive as SubReceive;
interface RadioPacket as SubPacket;
}
--- 36,41 ----
{
interface SplitControl as SubControl;
! interface BareSend as SubSend;
! interface BareReceive as SubReceive;
interface RadioPacket as SubPacket;
}
Index: LowPowerListeningLayerC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/LowPowerListeningLayerC.nc,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** LowPowerListeningLayerC.nc 7 Apr 2009 02:27:43 -0000 1.5
--- LowPowerListeningLayerC.nc 9 Apr 2009 20:48:02 -0000 1.6
***************
*** 22,27 ****
*/
- #warning "*** USING LOW POWER LISTENING LAYER"
-
configuration LowPowerListeningLayerC
{
--- 22,25 ----
***************
*** 29,34 ****
{
interface SplitControl;
! interface Send;
! interface Receive;
interface RadioPacket;
--- 27,32 ----
{
interface SplitControl;
! interface BareSend as Send;
! interface BareReceive as Receive;
interface RadioPacket;
***************
*** 38,43 ****
{
interface SplitControl as SubControl;
! interface Send as SubSend;
! interface Receive as SubReceive;
interface RadioPacket as SubPacket;
--- 36,41 ----
{
interface SplitControl as SubControl;
! interface BareSend as SubSend;
! interface BareReceive as SubReceive;
interface RadioPacket as SubPacket;
Index: LowPowerListeningLayerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/LowPowerListeningLayerP.nc,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** LowPowerListeningLayerP.nc 7 Apr 2009 02:27:43 -0000 1.5
--- LowPowerListeningLayerP.nc 9 Apr 2009 20:48:02 -0000 1.6
***************
*** 30,35 ****
{
interface SplitControl;
! interface Send;
! interface Receive;
interface RadioPacket;
--- 30,35 ----
{
interface SplitControl;
! interface BareSend as Send;
! interface BareReceive as Receive;
interface RadioPacket;
***************
*** 40,45 ****
{
interface SplitControl as SubControl;
! interface Send as SubSend;
! interface Receive as SubReceive;
interface RadioPacket as SubPacket;
--- 40,45 ----
{
interface SplitControl as SubControl;
! interface BareSend as SubSend;
! interface BareReceive as SubReceive;
interface RadioPacket as SubPacket;
***************
*** 71,75 ****
message_t* txMsg;
- uint8_t txLen;
error_t txError;
--- 71,74 ----
***************
*** 173,177 ****
else if( state == SEND_SUBSEND)
{
! txError = call SubSend.send(txMsg, txLen);
if( txError == SUCCESS )
--- 172,176 ----
else if( state == SEND_SUBSEND)
{
! txError = call SubSend.send(txMsg);
if( txError == SUCCESS )
***************
*** 270,274 ****
}
! event message_t* SubReceive.receive(message_t* msg, void* payload, uint8_t len)
{
if( state == SLEEP_SUBSTOP )
--- 269,273 ----
}
! event message_t* SubReceive.receive(message_t* msg)
{
if( state == SLEEP_SUBSTOP )
***************
*** 278,285 ****
call Timer.startOneShot(AFTER_RECEIVE);
! return signal Receive.receive(msg, payload, len);
}
! command error_t Send.send(message_t* msg, uint8_t len)
{
if( state == LISTEN || state == SLEEP )
--- 277,284 ----
call Timer.startOneShot(AFTER_RECEIVE);
! return signal Receive.receive(msg);
}
! command error_t Send.send(message_t* msg)
{
if( state == LISTEN || state == SLEEP )
***************
*** 299,303 ****
txMsg = msg;
- txLen = len;
txError = FAIL;
--- 298,301 ----
***************
*** 349,362 ****
}
- command uint8_t Send.maxPayloadLength()
- {
- return call SubSend.maxPayloadLength();
- }
-
- command void* Send.getPayload(message_t* msg, uint8_t len)
- {
- return call SubSend.getPayload(msg, len);
- }
-
/*----------------- LowPowerListening -----------------*/
--- 347,350 ----
Index: LowpanNetworkLayerC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/LowpanNetworkLayerC.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** LowpanNetworkLayerC.nc 7 Apr 2009 02:27:43 -0000 1.2
--- LowpanNetworkLayerC.nc 9 Apr 2009 20:48:02 -0000 1.3
***************
*** 28,33 ****
provides
{
! interface Send;
! interface Receive;
interface RadioPacket;
--- 28,33 ----
provides
{
! interface BareSend as Send;
! interface BareReceive as Receive;
interface RadioPacket;
***************
*** 37,42 ****
uses
{
! interface Send as SubSend;
! interface Receive as SubReceive;
interface RadioPacket as SubPacket;
}
--- 37,42 ----
uses
{
! interface BareSend as SubSend;
! interface BareReceive as SubReceive;
interface RadioPacket as SubPacket;
}
***************
*** 45,52 ****
implementation
{
- #ifndef TINYOS_6LOWPAN_NETWORK_ID
- #define TINYOS_6LOWPAN_NETWORK_ID 0x3f
- #endif
-
lowpan_header_t* getHeader(message_t* msg)
{
--- 45,48 ----
***************
*** 54,78 ****
}
! command error_t Send.send(message_t* msg, uint8_t len)
{
! getHeader(msg)->network = TINYOS_6LOWPAN_NETWORK_ID;
! return call SubSend.send(msg, len);
}
! command error_t Send.cancel(message_t* msg)
! {
! return call SubSend.cancel(msg);
! }
! command uint8_t Send.maxPayloadLength()
{
! return call SubSend.maxPayloadLength();
}
! command void* Send.getPayload(message_t* msg, uint8_t len)
{
! return call SubSend.getPayload(msg, len);
}
!
event void SubSend.sendDone(message_t* msg, error_t error)
{
--- 50,73 ----
}
! void* getPayload(message_t* msg)
{
! return ((void*)msg) + call RadioPacket.headerLength(msg);
}
! #ifndef TINYOS_6LOWPAN_NETWORK_ID
! #define TINYOS_6LOWPAN_NETWORK_ID 0x3f
! #endif
! command error_t Send.send(message_t* msg)
{
! getHeader(msg)->network = TINYOS_6LOWPAN_NETWORK_ID;
! return call SubSend.send(msg);
}
! command error_t Send.cancel(message_t* msg)
{
! return call SubSend.cancel(msg);
}
!
event void SubSend.sendDone(message_t* msg, error_t error)
{
***************
*** 80,90 ****
}
! event message_t *SubReceive.receive(message_t *msg, void *payload, uint8_t len)
{
uint8_t network = getHeader(msg)->network;
if( network == TINYOS_6LOWPAN_NETWORK_ID )
! return signal Receive.receive(msg, payload, len);
else
! return signal NonTinyosReceive.receive[network](msg, payload, len);
}
--- 75,86 ----
}
! event message_t *SubReceive.receive(message_t *msg)
{
uint8_t network = getHeader(msg)->network;
if( network == TINYOS_6LOWPAN_NETWORK_ID )
! return signal Receive.receive(msg);
else
! return signal NonTinyosReceive.receive[network](msg,
! getPayload(msg), call RadioPacket.payloadLength(msg));
}
Index: MessageBufferLayerC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/MessageBufferLayerC.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** MessageBufferLayerC.nc 10 Mar 2009 20:37:58 -0000 1.1
--- MessageBufferLayerC.nc 9 Apr 2009 20:48:03 -0000 1.2
***************
*** 27,32 ****
{
interface SplitControl;
! interface Send;
! interface Receive;
interface RadioChannel;
}
--- 27,32 ----
{
interface SplitControl;
! interface BareSend as Send;
! interface BareReceive as Receive;
interface RadioChannel;
}
***************
*** 36,41 ****
interface RadioSend;
interface RadioReceive;
-
- interface Packet;
}
}
--- 36,39 ----
***************
*** 56,60 ****
RadioSend = MessageBufferLayerP;
RadioReceive = MessageBufferLayerP;
-
- Packet = MessageBufferLayerP;
}
--- 54,56 ----
Index: MessageBufferLayerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/MessageBufferLayerP.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** MessageBufferLayerP.nc 10 Mar 2009 20:37:58 -0000 1.1
--- MessageBufferLayerP.nc 9 Apr 2009 20:48:03 -0000 1.2
***************
*** 32,37 ****
interface Init as SoftwareInit;
! interface Send;
! interface Receive;
interface RadioChannel;
}
--- 32,37 ----
interface Init as SoftwareInit;
! interface BareSend as Send;
! interface BareReceive as Receive;
interface RadioChannel;
}
***************
*** 42,47 ****
interface RadioSend;
interface RadioReceive;
-
- interface Packet;
}
}
--- 42,45 ----
***************
*** 209,221 ****
}
! command error_t Send.send(message_t* msg, uint8_t len)
{
! if( len > call Packet.maxPayloadLength() )
! return EINVAL;
! else if( state != STATE_READY )
return EBUSY;
- call Packet.setPayloadLength(msg, len);
-
txMsg = msg;
state = STATE_TX_PENDING;
--- 207,215 ----
}
! command error_t Send.send(message_t* msg)
{
! if( state != STATE_READY )
return EBUSY;
txMsg = msg;
state = STATE_TX_PENDING;
***************
*** 251,268 ****
}
- default event void Send.sendDone(message_t* msg, error_t error)
- {
- }
-
- inline command uint8_t Send.maxPayloadLength()
- {
- return call Packet.maxPayloadLength();
- }
-
- inline command void* Send.getPayload(message_t* msg, uint8_t len)
- {
- return call Packet.getPayload(msg, len);
- }
-
/*----------------- Receive -----------------*/
--- 245,248 ----
***************
*** 313,319 ****
}
! msg = signal Receive.receive(msg,
! call Packet.getPayload(msg, call Packet.maxPayloadLength()),
! call Packet.payloadLength(msg));
atomic
--- 293,297 ----
}
! msg = signal Receive.receive(msg);
atomic
***************
*** 354,360 ****
}
- default event message_t* Receive.receive(message_t* msg, void* payload, uint8_t len)
- {
- return msg;
- }
}
--- 332,334 ----
Index: PacketLinkLayerC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/PacketLinkLayerC.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** PacketLinkLayerC.nc 7 Apr 2009 02:27:43 -0000 1.3
--- PacketLinkLayerC.nc 9 Apr 2009 20:48:03 -0000 1.4
***************
*** 60,68 ****
#include <PacketLinkLayer.h>
- #warning "*** USING PACKET LINK LAYER"
-
configuration PacketLinkLayerC {
provides {
! interface Send;
interface PacketLink;
interface RadioPacket;
--- 60,66 ----
#include <PacketLinkLayer.h>
configuration PacketLinkLayerC {
provides {
! interface BareSend as Send;
interface PacketLink;
interface RadioPacket;
***************
*** 70,74 ****
uses {
! interface Send as SubSend;
interface RadioPacket as SubPacket;
interface PacketAcknowledgements;
--- 68,72 ----
uses {
! interface BareSend as SubSend;
interface RadioPacket as SubPacket;
interface PacketAcknowledgements;
Index: PacketLinkLayerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/PacketLinkLayerP.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** PacketLinkLayerP.nc 7 Apr 2009 02:27:43 -0000 1.3
--- PacketLinkLayerP.nc 9 Apr 2009 20:48:03 -0000 1.4
***************
*** 62,66 ****
module PacketLinkLayerP {
provides {
! interface Send;
interface PacketLink;
interface RadioPacket;
--- 62,66 ----
module PacketLinkLayerP {
provides {
! interface BareSend as Send;
interface PacketLink;
interface RadioPacket;
***************
*** 68,72 ****
uses {
! interface Send as SubSend;
interface PacketAcknowledgements;
interface Timer<TMilli> as DelayTimer;
--- 68,72 ----
uses {
! interface BareSend as SubSend;
interface PacketAcknowledgements;
interface Timer<TMilli> as DelayTimer;
***************
*** 80,86 ****
message_t *currentSendMsg;
- /** Length of the current send message */
- uint8_t currentSendLen;
-
/** The length of the current send message */
uint16_t totalRetries;
--- 80,83 ----
***************
*** 147,151 ****
* signal receive() more than once for that message.
*/
! command error_t Send.send(message_t *msg, uint8_t len) {
error_t error = EBUSY;
if(currentSendMsg == NULL) {
--- 144,148 ----
* signal receive() more than once for that message.
*/
! command error_t Send.send(message_t *msg) {
error_t error = EBUSY;
if(currentSendMsg == NULL) {
***************
*** 155,161 ****
}
! if((error = call SubSend.send(msg, len)) == SUCCESS) {
currentSendMsg = msg;
- currentSendLen = len;
totalRetries = 0;
}
--- 152,157 ----
}
! if((error = call SubSend.send(msg)) == SUCCESS) {
currentSendMsg = msg;
totalRetries = 0;
}
***************
*** 173,185 ****
}
-
- command uint8_t Send.maxPayloadLength() {
- return call SubSend.maxPayloadLength();
- }
-
- command void *Send.getPayload(message_t* msg, uint8_t len) {
- return call SubSend.getPayload(msg, len);
- }
-
/***************** SubSend Events ***************/
event void SubSend.sendDone(message_t* msg, error_t error) {
--- 169,172 ----
***************
*** 223,227 ****
}
! if(call SubSend.send(currentSendMsg, currentSendLen) != SUCCESS) {
post send();
}
--- 210,214 ----
}
! if(call SubSend.send(currentSendMsg) != SUCCESS) {
post send();
}
Index: UniqueLayerC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/UniqueLayerC.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** UniqueLayerC.nc 10 Mar 2009 20:37:58 -0000 1.1
--- UniqueLayerC.nc 9 Apr 2009 20:48:03 -0000 1.2
***************
*** 27,36 ****
{
// NOTE, this is a combined layer, should be hooked up at two places
! interface Send;
interface RadioReceive;
}
uses
{
! interface Send as SubSend;
interface RadioReceive as SubReceive;
--- 27,36 ----
{
// NOTE, this is a combined layer, should be hooked up at two places
! interface BareSend as Send;
interface RadioReceive;
}
uses
{
! interface BareSend as SubSend;
interface RadioReceive as SubReceive;
Index: UniqueLayerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/rf2xx/layers/UniqueLayerP.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** UniqueLayerP.nc 10 Mar 2009 20:37:58 -0000 1.1
--- UniqueLayerP.nc 9 Apr 2009 20:48:03 -0000 1.2
***************
*** 29,33 ****
provides
{
! interface Send;
interface RadioReceive;
--- 29,33 ----
provides
{
! interface BareSend as Send;
interface RadioReceive;
***************
*** 37,41 ****
uses
{
! interface Send as SubSend;
interface RadioReceive as SubReceive;
--- 37,41 ----
uses
{
! interface BareSend as SubSend;
interface RadioReceive as SubReceive;
***************
*** 56,63 ****
}
! command error_t Send.send(message_t* msg, uint8_t len)
{
call UniqueConfig.setSequenceNumber(msg, ++sequenceNumber);
! return call SubSend.send(msg, len);
}
--- 56,63 ----
}
! command error_t Send.send(message_t* msg)
{
call UniqueConfig.setSequenceNumber(msg, ++sequenceNumber);
! return call SubSend.send(msg);
}
***************
*** 72,85 ****
}
- command uint8_t Send.maxPayloadLength()
- {
- return call SubSend.maxPayloadLength();
- }
-
- command void* Send.getPayload(message_t* msg, uint8_t len)
- {
- return call SubSend.getPayload(msg, len);
- }
-
tasklet_async event bool SubReceive.header(message_t* msg)
{
--- 72,75 ----
More information about the Tinyos-2-commits
mailing list