uses {
interface BlockRead[uint8_t img_num];
interface BlockWrite[uint8_t img_num];
+ interface Leds;
}
}
implementation
{
components ObjectTransferP, DelugePageTransferC;
+ components CrcC;
ObjectTransfer = ObjectTransferP;
- BlockRead[VOLUME_DELUGE0] = DelugePageTransferC.BlockRead[VOLUME_DELUGE0];
- BlockWrite[VOLUME_DELUGE0] = DelugePageTransferC.BlockWrite[VOLUME_DELUGE0];
- BlockRead[VOLUME_DELUGE1] = DelugePageTransferC.BlockRead[VOLUME_DELUGE1];
- BlockWrite[VOLUME_DELUGE1] = DelugePageTransferC.BlockWrite[VOLUME_DELUGE1];
+ DelugePageTransferC.BlockRead = BlockRead;
+ DelugePageTransferC.BlockWrite = BlockWrite;
ObjectTransferP.DelugePageTransfer -> DelugePageTransferC.DelugePageTransfer;
-
- components CrcP;
- ObjectTransferP.Crc -> CrcP.Crc;
+ ObjectTransferP.Crc -> CrcC.Crc;
components new AMSenderC(AM_DELUGEADVMSG) as SendAdvMsg,
new AMReceiverC(AM_DELUGEADVMSG) as ReceiveAdvMsg,
DelugePageTransferC.SendDataMsg -> SendDataMsg;
DelugePageTransferC.ReceiveDataMsg -> ReceiveDataMsg;
DelugePageTransferC.AMPacket -> SendDataMsg;
+ DelugePageTransferC.Leds = Leds;
- ObjectTransferP.BlockWrite[VOLUME_DELUGE0] = BlockWrite[VOLUME_DELUGE0];
- ObjectTransferP.BlockWrite[VOLUME_DELUGE1] = BlockWrite[VOLUME_DELUGE1];
-
- components MainC, LedsC, NoLedsC;
- ObjectTransferP.Leds -> NoLedsC;
+ ObjectTransferP.BlockWrite = BlockWrite;
components RandomC, new TimerMilliC() as Timer;
ObjectTransferP.Random -> RandomC;