]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/lib/net/Deluge/BlockStorageManager/BlockStorageManagerP.nc
added iris support for deluge
[tinyos-2.x.git] / tos / lib / net / Deluge / BlockStorageManager / BlockStorageManagerP.nc
index c171a25c85fa1a4b04092d3cd522186320dfd730..9fbd9e40ae52c64df0f989726206d6ecd594c887 100644 (file)
@@ -37,7 +37,7 @@ generic module BlockStorageManagerP(uint8_t clients)
     interface VolumeId[uint8_t client];
 #if defined(PLATFORM_TELOSB)
     interface StorageMap as SubStorageMap[volume_id_t volume_id];
-#elif defined(PLATFORM_MICAZ)
+#elif defined(PLATFORM_MICAZ) || defined(PLATFORM_IRIS)
     interface At45dbVolume[volume_id_t volume_id];
 #endif
   }
@@ -186,6 +186,12 @@ implementation
     p_addr = page;
     p_addr = p_addr << AT45_PAGE_SIZE_LOG2;
     p_addr += offset;
+#elif defined(PLATFORM_IRIS)
+    at45page_t page = call At45dbVolume.remap[volume_id]((addr >> AT45_PAGE_SIZE_LOG2));
+    at45pageoffset_t offset = addr & ((1 << AT45_PAGE_SIZE_LOG2) - 1);
+    p_addr = page;
+    p_addr = p_addr << AT45_PAGE_SIZE_LOG2;
+    p_addr += offset;
 #endif
     return p_addr;
   }