+# output nc file for threads
+if cthreads == True:
+ outFile = open(commands.getstatusoutput("pwd")[1] + "/VolumeMapC.nc", "w")
+ outFile.write("#include \"StorageVolumes.h\" \n")
+ outFile.write("\n")
+ outFile.write("configuration VolumeMapC { \n")
+ outFile.write(" provides { \n")
+ outFile.write(" interface BlockRead[uint8_t volume_id]; \n")
+ outFile.write(" interface BlockWrite[uint8_t volume_id]; \n")
+ outFile.write(" interface LogRead[uint8_t volumeId]; \n")
+ outFile.write(" interface LogWrite[uint8_t volumeId]; \n")
+# outFile.write(" interface Mount[uint8_t volumeId]; \n")
+# outFile.write(" interface ConfigStorage[uint8_t volumeId]; \n")
+ outFile.write(" } \n")
+ outFile.write("} \n")
+ outFile.write("\n")
+ outFile.write("implementation { \n")
+ outFile.write(" components VolumeMapP; \n")
+ outFile.write("\n")
+ outFile.write(" BlockRead = VolumeMapP; \n")
+ outFile.write(" BlockWrite = VolumeMapP; \n")
+ outFile.write(" LogRead = VolumeMapP; \n")
+ outFile.write(" LogWrite = VolumeMapP; \n")
+
+ for i in range(len(volumeNames)):
+ if volumeTypes[volumeNames[i]] == "block":
+ outFile.write("\n")
+ outFile.write(" components new BlockStorageC(" + volumeNames[i] + ") as BlockStorageC_" + volumeNames[i] + "; \n")
+ outFile.write(" VolumeMapP.SubBlockRead[" + volumeNames[i] + "] -> BlockStorageC_" + volumeNames[i] + "; \n")
+ outFile.write(" VolumeMapP.SubBlockWrite[" + volumeNames[i] + "] -> BlockStorageC_" + volumeNames[i] + "; \n")
+ outFile.write("\n")
+
+ elif volumeTypes[volumeNames[i]] == "log":
+ outFile.write("\n")
+ outFile.write(" components new LogStorageC(" + volumeNames[i] + ", " + volumeOptions[volumeNames[i]] + ") as LogStorageC_" + volumeNames[i] + "; \n")
+ outFile.write(" VolumeMapP.SubLogRead[" + volumeNames[i] + "] -> LogStorageC_" + volumeNames[i] + "; \n")
+ outFile.write(" VolumeMapP.SubLogWrite[" + volumeNames[i] + "] -> LogStorageC_" + volumeNames[i] + "; \n")
+ outFile.write("\n")
+
+# elif volumeTypes[volumeNames[i]] == "config":
+# outFile.write(" components new ConfigStorageC(" + volumeNames[i] + ") as ConfigStorageC_" + volumeNames[i] + "; \n")
+# outFile.write(" Mount[" + volumeNames[i] + "] = ConfigStorageC_" + volumeNames[i] + "; \n")
+# outFile.write(" ConfigStorage[" + volumeNames[i] + "] = ConfigStorageC_" + volumeNames[i] + "; \n")
+ outFile.write("} \n")
+