]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/lib/net/Deluge/FlashVolumeManager/FlashVolumeManagerC.nc
Super Duper update to Deluge T2. The manual and the testing scripts are temporary...
[tinyos-2.x.git] / tos / lib / net / Deluge / FlashVolumeManager / FlashVolumeManagerC.nc
index 7ef0c385ac711e4c81d07b211793ecfe3a8ead59..19b769d3c45e4191287566b604df91bd531ece08 100644 (file)
 #include "AM.h"
 #include "StorageVolumes.h"
 
-generic configuration FlashVolumeManagerC(am_id_t AMId)
-{
-#ifdef DELUGE  
-  provides interface Notify<uint8_t> as DissNotify;
-  provides interface Notify<uint8_t> as ReprogNotify;
-#endif
-  uses {
-    interface BlockRead[uint8_t img_num];
-    interface BlockWrite[uint8_t img_num];
-#ifdef DELUGE
-    interface DelugeStorage[uint8_t img_num];
-#endif
-  }
-}
+generic configuration FlashVolumeManagerC(am_id_t AMId) {}
 
 implementation
 {
-  components new SerialAMSenderC(AMId),
-             new SerialAMReceiverC(AMId),
-             new FlashVolumeManagerP(),
-             NoLedsC, LedsC;
+  components new SerialAMSenderC(AMId);
+  components new SerialAMReceiverC(AMId);
+  components new FlashVolumeManagerP();
+  components new TimerMilliC() as TimeoutTimer;
+  components NoLedsC, LedsC;
+  components BlockStorageLockC;
+
+  components new BlockReaderC(VOLUME_GOLDENIMAGE) as BlockReaderGoldenImage;
+  components new BlockReaderC(VOLUME_DELUGE1)     as BlockReaderDeluge1;
+  components new BlockReaderC(VOLUME_DELUGE2)     as BlockReaderDeluge2;
+  components new BlockReaderC(VOLUME_DELUGE3)     as BlockReaderDeluge3;
+
+  components new BlockWriterC(VOLUME_GOLDENIMAGE) as BlockWriterGoldenImage;
+  components new BlockWriterC(VOLUME_DELUGE1)     as BlockWriterDeluge1;
+  components new BlockWriterC(VOLUME_DELUGE2)     as BlockWriterDeluge2;
+  components new BlockWriterC(VOLUME_DELUGE3)     as BlockWriterDeluge3;
   
-  FlashVolumeManagerP.BlockRead[VOLUME_GOLDENIMAGE] = BlockRead[VOLUME_GOLDENIMAGE];
-  FlashVolumeManagerP.BlockWrite[VOLUME_GOLDENIMAGE] = BlockWrite[VOLUME_GOLDENIMAGE];
-  FlashVolumeManagerP.BlockRead[VOLUME_DELUGE1] = BlockRead[VOLUME_DELUGE1];
-  FlashVolumeManagerP.BlockWrite[VOLUME_DELUGE1] = BlockWrite[VOLUME_DELUGE1];
-  FlashVolumeManagerP.BlockRead[VOLUME_DELUGE2] = BlockRead[VOLUME_DELUGE2];
-  FlashVolumeManagerP.BlockWrite[VOLUME_DELUGE2] = BlockWrite[VOLUME_DELUGE2];
-  FlashVolumeManagerP.BlockRead[VOLUME_DELUGE3] = BlockRead[VOLUME_DELUGE3];
-  FlashVolumeManagerP.BlockWrite[VOLUME_DELUGE3] = BlockWrite[VOLUME_DELUGE3];
+  FlashVolumeManagerP.BlockRead[VOLUME_GOLDENIMAGE] -> BlockReaderGoldenImage;
+  FlashVolumeManagerP.BlockRead[VOLUME_DELUGE1]     -> BlockReaderDeluge1;
+  FlashVolumeManagerP.BlockRead[VOLUME_DELUGE2]     -> BlockReaderDeluge2;
+  FlashVolumeManagerP.BlockRead[VOLUME_DELUGE3]     -> BlockReaderDeluge3;
+
+  FlashVolumeManagerP.BlockWrite[VOLUME_GOLDENIMAGE] -> BlockWriterGoldenImage;
+  FlashVolumeManagerP.BlockWrite[VOLUME_DELUGE1]     -> BlockWriterDeluge1;
+  FlashVolumeManagerP.BlockWrite[VOLUME_DELUGE2]     -> BlockWriterDeluge2;
+  FlashVolumeManagerP.BlockWrite[VOLUME_DELUGE3]     -> BlockWriterDeluge3;
+
+  FlashVolumeManagerP.Resource[VOLUME_GOLDENIMAGE] -> BlockWriterGoldenImage;
+  FlashVolumeManagerP.Resource[VOLUME_DELUGE1] -> BlockWriterDeluge1;
+  FlashVolumeManagerP.Resource[VOLUME_DELUGE2] -> BlockWriterDeluge2;
+  FlashVolumeManagerP.Resource[VOLUME_DELUGE3] -> BlockWriterDeluge3;
+
+  FlashVolumeManagerP.ArbiterInfo -> BlockStorageLockC;
  
+  FlashVolumeManagerP.TimeoutTimer -> TimeoutTimer;
   FlashVolumeManagerP.SerialAMSender -> SerialAMSenderC;
   FlashVolumeManagerP.SerialAMReceiver -> SerialAMReceiverC;
-  FlashVolumeManagerP.Leds -> NoLedsC;
-
-#ifdef DELUGE  
-  components NetProgC, new TimerMilliC();
-  
-  FlashVolumeManagerP.NetProg -> NetProgC;
-  FlashVolumeManagerP.Timer -> TimerMilliC;
-  FlashVolumeManagerP.DelugeStorage[VOLUME_GOLDENIMAGE] = DelugeStorage[VOLUME_GOLDENIMAGE];
-  FlashVolumeManagerP.DelugeStorage[VOLUME_DELUGE1] = DelugeStorage[VOLUME_DELUGE1];
-  FlashVolumeManagerP.DelugeStorage[VOLUME_DELUGE2] = DelugeStorage[VOLUME_DELUGE2];
-  FlashVolumeManagerP.DelugeStorage[VOLUME_DELUGE3] = DelugeStorage[VOLUME_DELUGE3];
-  DissNotify = FlashVolumeManagerP.DissNotify;
-  ReprogNotify = FlashVolumeManagerP.ReprogNotify;
-#endif
+  FlashVolumeManagerP.Leds -> LedsC;
 }