BlockingActiveMessageC.nc and from CAMSerialC.nc/BlockingSerialAM*C.nc to BlockingSerialActiveMessageC.nc.
This prevents those interfaces from being wired multiple times in the case of multiple users.
SerialReceiveRadioSendP.SendAMPacket -> BlockingRadioActiveMessageC;
SerialReceiveRadioSendP.BlockingReceiveAny -> BlockingSerialActiveMessageC.BlockingReceiveAny;
SerialReceiveRadioSendP.BlockingAMSend -> BlockingRadioActiveMessageC;
-
- components ActiveMessageC, SerialActiveMessageC;
- BlockingRadioActiveMessageC.Receive -> ActiveMessageC.Receive;
- BlockingRadioActiveMessageC.Snoop -> ActiveMessageC.Snoop;
- BlockingRadioActiveMessageC.AMSend -> ActiveMessageC.AMSend;
-
- BlockingSerialActiveMessageC.Receive -> SerialActiveMessageC.Receive;
- BlockingSerialActiveMessageC.AMSend -> SerialActiveMessageC.AMSend;
}
implementation {
components CAMRadioP as CAMP;
- components ActiveMessageC;
components BlockingActiveMessageC as AM;
CAMP.BlockingStdControl -> AM;
CAMP.Packet -> AM;
CAMP.AMPacket -> AM;
CAMP.PacketAcknowledgements -> AM;
-
- AM.Receive -> ActiveMessageC.ReceiveDefault;
- AM.Snoop -> ActiveMessageC.SnoopDefault;
- AM.AMSend -> ActiveMessageC;
}
implementation {
components CAMSerialP as CAMP;
- components SerialActiveMessageC;
components BlockingSerialActiveMessageC as AM;
CAMP.BlockingStdControl -> AM;
CAMP.Packet -> AM;
CAMP.AMPacket -> AM;
CAMP.PacketAcknowledgements -> AM;
-
- AM.Receive -> SerialActiveMessageC.Receive;
- AM.AMSend -> SerialActiveMessageC.AMSend;
}
}
}
implementation {
- components ActiveMessageC;
components BlockingActiveMessageC as AM;
BlockingReceive = AM.BlockingReceive[amId];
- AM.Receive[amId] -> ActiveMessageC.ReceiveDefault[amId];
Packet = AM;
AMPacket = AM;
}
implementation {
- components ActiveMessageC;
components BlockingActiveMessageC as AM;
BlockingAMSend = AM.BlockingAMSend[AMId];
- AM.AMSend[AMId] -> ActiveMessageC.AMSend[AMId];
Packet = AM;
AMPacket = AM;
}
}
implementation {
- components ActiveMessageC;
components BlockingActiveMessageC as AM;
BlockingReceive = AM.BlockingSnoop[amId];
- AM.Snoop[amId] -> ActiveMessageC.SnoopDefault[amId];
Packet = AM;
AMPacket = AM;
interface AMPacket;
interface PacketAcknowledgements;
}
- uses {
- interface Receive as Receive[uint8_t id];
- interface Receive as Snoop[uint8_t id];
- interface AMSend as AMSend[uint8_t id];
- }
}
implementation {
components ActiveMessageC as AM;
BlockingAMSend = AMSenderP;
BlockingStdControlC.SplitControl -> AM;
- Receive = AMReceiverP.Receive;
- Snoop = AMSnooperP.Snoop;
- AMSend = AMSenderP.AMSend;
+ AMReceiverP.Receive -> AM.Receive;
+ AMSnooperP.Snoop -> AM.Snoop;
+ AMSenderP.AMSend -> AM.AMSend;
Packet = AM;
AMPacket = AM;
}
}
implementation {
- components SerialActiveMessageC;
components BlockingSerialActiveMessageC as AM;
BlockingReceive = AM.BlockingReceive[amId];
- AM.Receive[amId] -> SerialActiveMessageC.Receive[amId];
Packet = AM;
AMPacket = AM;
}
implementation {
- components SerialActiveMessageC;
components BlockingSerialActiveMessageC as AM;
BlockingAMSend = AM.BlockingAMSend[AMId];
- AM.AMSend[AMId] -> SerialActiveMessageC.AMSend[AMId];
Packet = AM;
AMPacket = AM;
interface AMPacket;
interface PacketAcknowledgements;
}
- uses {
- interface Receive as Receive[uint8_t id];
- interface AMSend as AMSend[uint8_t id];
- }
}
implementation {
components SerialActiveMessageC as AM;
components new BlockingStdControlC();
components BlockingSerialAMReceiverP as AMReceiverP;
components BlockingSerialAMSenderP as AMSenderP;
+
BlockingStdControl = BlockingStdControlC;
BlockingReceive = AMReceiverP;
BlockingReceiveAny = AMReceiverP;
BlockingAMSend = AMSenderP;
BlockingStdControlC.SplitControl -> AM;
- Receive = AMReceiverP.Receive;
- AMSend = AMSenderP.AMSend;
+ AMReceiverP.Receive -> AM.Receive;
+ AMSenderP.AMSend -> AM.AMSend;
Packet = AM;
AMPacket = AM;