diff --git a/Makefile b/Makefile
index b816631..0a23c81 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
# OMNeT++/OMNEST Makefile for CastaliaBin
#
# This file was generated with the command:
-# opp_makemake -f -r --deep -o CastaliaBin -u Cmdenv -P /home/zii-de/Castalia-3.2 -M release -X Simulations -X out -X bin
+# opp_makemake -f -r --deep -o CastaliaBin -u Cmdenv -P /home/m/Downloads/Castalia-3.2 -M release -X Simulations -X out -X bin
#
# Name of target to be created (-o option)
@@ -253,434 +253,389 @@ depend:
# DO NOT DELETE THIS LINE -- make depend depends on it.
$O/src/helpStructures/CastaliaModule.o: src/helpStructures/CastaliaModule.cc \
src/helpStructures/CastaliaModule.h \
- src/helpStructures/DebugInfoWriter.h \
src/CastaliaMessages.h \
+ src/helpStructures/DebugInfoWriter.h \
src/node/resourceManager/ResourceManagerMessage_m.h
$O/src/helpStructures/DebugInfoWriter.o: src/helpStructures/DebugInfoWriter.cc \
src/helpStructures/DebugInfoWriter.h
$O/src/helpStructures/TimerService.o: src/helpStructures/TimerService.cc \
src/helpStructures/TimerService.h \
- src/helpStructures/TimerServiceMessage_m.h \
- src/CastaliaMessages.h
-$O/src/helpStructures/TimerServiceMessage_m.o: src/helpStructures/TimerServiceMessage_m.cc \
+ src/CastaliaMessages.h \
src/helpStructures/TimerServiceMessage_m.h
-$O/src/node/application/ApplicationPacket_m.o: src/node/application/ApplicationPacket_m.cc \
- src/node/application/ApplicationPacket_m.h
$O/src/node/application/VirtualApplication.o: src/node/application/VirtualApplication.cc \
- src/node/application/VirtualApplication.h \
- src/helpStructures/TimerServiceMessage_m.h \
src/CastaliaMessages.h \
- src/helpStructures/DebugInfoWriter.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
- src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/mobilityManager/VirtualMobilityManager.h \
src/helpStructures/CastaliaModule.h \
+ src/node/communication/mac/MacPacket_m.h \
+ src/helpStructures/TimerServiceMessage_m.h \
+ src/node/resourceManager/ResourceManager.h \
+ src/node/sensorManager/SensorManagerMessage_m.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/helpStructures/TimerService.h \
+ src/helpStructures/DebugInfoWriter.h \
src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
+ src/node/application/VirtualApplication.h \
src/node/application/ApplicationPacket_m.h \
src/node/communication/radio/Radio.h \
- src/node/communication/mac/MacPacket_m.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
+ src/node/communication/radio/RadioSupportFunctions.h
+$O/src/node/application/bridgeTest/BridgeTest.o: src/node/application/bridgeTest/BridgeTest.cc \
+ src/node/application/bridgeTest/BridgeTest.h \
src/node/resourceManager/ResourceManager.h \
+ src/helpStructures/CastaliaModule.h \
src/node/mobilityManager/VirtualMobilityManager.h \
- src/helpStructures/TimerService.h \
- src/node/sensorManager/SensorManagerMessage_m.h
-$O/src/node/application/bridgeTest/BridgeTest.o: src/node/application/bridgeTest/BridgeTest.cc \
- src/wirelessChannel/WirelessChannelMessages_m.h \
src/helpStructures/TimerServiceMessage_m.h \
+ src/node/communication/mac/MacPacket_m.h \
src/CastaliaMessages.h \
- src/node/application/VirtualApplication.h \
- src/helpStructures/DebugInfoWriter.h \
- src/node/application/ApplicationPacket_m.h \
src/node/communication/radio/Radio.h \
- src/node/communication/radio/RadioControlMessage_m.h \
- src/helpStructures/CastaliaModule.h \
src/node/communication/radio/RadioSupportFunctions.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/application/bridgeTest/BridgeTest.h \
- src/node/communication/mac/MacPacket_m.h \
- src/node/sensorManager/SensorManagerMessage_m.h \
+ src/node/application/VirtualApplication.h \
+ src/node/application/ApplicationPacket_m.h \
src/helpStructures/TimerService.h \
- src/node/resourceManager/ResourceManager.h \
- src/node/mobilityManager/VirtualMobilityManager.h
-$O/src/node/application/connectivityMap/ConnectivityMap.o: src/node/application/connectivityMap/ConnectivityMap.cc \
+ src/helpStructures/DebugInfoWriter.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
src/node/sensorManager/SensorManagerMessage_m.h \
- src/helpStructures/TimerService.h \
- src/node/mobilityManager/VirtualMobilityManager.h \
- src/node/resourceManager/ResourceManager.h \
src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h \
- src/node/communication/radio/Radio.h \
+ src/node/communication/radio/RadioControlMessage_m.h
+$O/src/node/application/connectivityMap/ConnectivityMap.o: src/node/application/connectivityMap/ConnectivityMap.cc \
src/node/application/ApplicationPacket_m.h \
- src/node/communication/radio/RadioControlMessage_m.h \
- src/helpStructures/CastaliaModule.h \
+ src/node/application/VirtualApplication.h \
src/node/communication/radio/RadioSupportFunctions.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
- src/node/application/connectivityMap/ConnectivityMap.h \
- src/helpStructures/DebugInfoWriter.h \
- src/helpStructures/TimerServiceMessage_m.h \
- src/CastaliaMessages.h \
- src/node/application/VirtualApplication.h
-$O/src/node/application/latencyTest/LatencyTest.o: src/node/application/latencyTest/LatencyTest.cc \
+ src/node/communication/radio/Radio.h \
src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
src/helpStructures/TimerService.h \
+ src/helpStructures/DebugInfoWriter.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
src/node/sensorManager/SensorManagerMessage_m.h \
- src/node/mobilityManager/VirtualMobilityManager.h \
+ src/node/application/connectivityMap/ConnectivityMap.h \
src/node/resourceManager/ResourceManager.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
- src/helpStructures/DebugInfoWriter.h \
- src/node/application/VirtualApplication.h \
src/CastaliaMessages.h \
src/helpStructures/TimerServiceMessage_m.h \
- src/node/communication/radio/Radio.h \
- src/node/application/latencyTest/LatencyTest.h \
- src/node/application/ApplicationPacket_m.h \
- src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/communication/mac/MacPacket_m.h \
src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioControlMessage_m.h
-$O/src/node/application/simpleAggregation/SimpleAggregation.o: src/node/application/simpleAggregation/SimpleAggregation.cc \
+ src/node/mobilityManager/VirtualMobilityManager.h
+$O/src/node/application/latencyTest/LatencyTest.o: src/node/application/latencyTest/LatencyTest.cc \
+ src/node/communication/radio/RadioSupportFunctions.h \
src/node/communication/radio/Radio.h \
src/node/application/ApplicationPacket_m.h \
+ src/node/application/VirtualApplication.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/communication/radio/RadioControlMessage_m.h \
- src/node/communication/radio/RadioSupportFunctions.h \
- src/helpStructures/CastaliaModule.h \
+ src/node/sensorManager/SensorManagerMessage_m.h \
src/wirelessChannel/WirelessChannelMessages_m.h \
src/helpStructures/DebugInfoWriter.h \
+ src/helpStructures/TimerService.h \
+ src/node/application/latencyTest/LatencyTest.h \
+ src/node/resourceManager/ResourceManager.h \
+ src/node/communication/mac/MacPacket_m.h \
src/helpStructures/TimerServiceMessage_m.h \
+ src/node/mobilityManager/VirtualMobilityManager.h \
+ src/helpStructures/CastaliaModule.h \
+ src/CastaliaMessages.h
+$O/src/node/application/simpleAggregation/SimpleAggregation.o: src/node/application/simpleAggregation/SimpleAggregation.cc \
+ src/node/resourceManager/ResourceManager.h \
+ src/node/communication/mac/MacPacket_m.h \
+ src/helpStructures/TimerServiceMessage_m.h \
+ src/node/mobilityManager/VirtualMobilityManager.h \
+ src/helpStructures/CastaliaModule.h \
src/CastaliaMessages.h \
+ src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/application/simpleAggregation/SimpleAggregation.h \
+ src/node/communication/radio/Radio.h \
+ src/node/application/ApplicationPacket_m.h \
src/node/application/VirtualApplication.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
src/node/sensorManager/SensorManagerMessage_m.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
src/helpStructures/TimerService.h \
- src/node/application/simpleAggregation/SimpleAggregation.h \
+ src/helpStructures/DebugInfoWriter.h
+$O/src/node/application/throughputTest/ThroughputTest.o: src/node/application/throughputTest/ThroughputTest.cc \
+ src/CastaliaMessages.h \
+ src/helpStructures/TimerServiceMessage_m.h \
+ src/node/communication/mac/MacPacket_m.h \
+ src/helpStructures/CastaliaModule.h \
src/node/mobilityManager/VirtualMobilityManager.h \
src/node/resourceManager/ResourceManager.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h
-$O/src/node/application/throughputTest/ThroughputTest.o: src/node/application/throughputTest/ThroughputTest.cc \
+ src/helpStructures/DebugInfoWriter.h \
src/helpStructures/TimerService.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
src/node/sensorManager/SensorManagerMessage_m.h \
- src/node/resourceManager/ResourceManager.h \
- src/node/mobilityManager/VirtualMobilityManager.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h \
- src/node/application/ApplicationPacket_m.h \
src/node/application/throughputTest/ThroughputTest.h \
- src/node/communication/radio/Radio.h \
- src/node/communication/radio/RadioSupportFunctions.h \
- src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioControlMessage_m.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/node/application/ApplicationPacket_m.h \
src/node/application/VirtualApplication.h \
- src/helpStructures/TimerServiceMessage_m.h \
- src/CastaliaMessages.h \
- src/helpStructures/DebugInfoWriter.h
+ src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/communication/radio/Radio.h
$O/src/node/application/valuePropagation/ValuePropagation.o: src/node/application/valuePropagation/ValuePropagation.cc \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h \
- src/helpStructures/TimerService.h \
- src/node/sensorManager/SensorManagerMessage_m.h \
src/node/resourceManager/ResourceManager.h \
- src/node/mobilityManager/VirtualMobilityManager.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
- src/node/application/VirtualApplication.h \
+ src/node/communication/mac/MacPacket_m.h \
src/helpStructures/TimerServiceMessage_m.h \
+ src/node/mobilityManager/VirtualMobilityManager.h \
+ src/helpStructures/CastaliaModule.h \
src/CastaliaMessages.h \
- src/helpStructures/DebugInfoWriter.h \
- src/node/application/ApplicationPacket_m.h \
- src/node/communication/radio/Radio.h \
src/node/communication/radio/RadioSupportFunctions.h \
- src/helpStructures/CastaliaModule.h \
+ src/node/communication/radio/Radio.h \
+ src/node/application/ApplicationPacket_m.h \
+ src/node/application/VirtualApplication.h \
src/node/application/valuePropagation/ValuePropagation.h \
- src/node/communication/radio/RadioControlMessage_m.h
-$O/src/node/application/valueReporting/ValueReporting.o: src/node/application/valueReporting/ValueReporting.cc \
- src/node/application/valueReporting/ValueReportingPacket_m.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
+ src/node/sensorManager/SensorManagerMessage_m.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
src/helpStructures/TimerService.h \
+ src/helpStructures/DebugInfoWriter.h
+$O/src/node/application/valueReporting/ValueReporting.o: src/node/application/valueReporting/ValueReporting.cc \
src/node/sensorManager/SensorManagerMessage_m.h \
- src/node/resourceManager/ResourceManager.h \
- src/node/mobilityManager/VirtualMobilityManager.h \
- src/node/application/valueReporting/ValueReporting.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/helpStructures/DebugInfoWriter.h \
+ src/helpStructures/TimerService.h \
src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h \
- src/node/application/ApplicationPacket_m.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/application/valueReporting/ValueReporting.h \
src/node/communication/radio/Radio.h \
src/node/communication/radio/RadioSupportFunctions.h \
- src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioControlMessage_m.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
src/node/application/VirtualApplication.h \
+ src/node/application/ApplicationPacket_m.h \
+ src/node/mobilityManager/VirtualMobilityManager.h \
+ src/helpStructures/CastaliaModule.h \
+ src/node/communication/mac/MacPacket_m.h \
src/helpStructures/TimerServiceMessage_m.h \
src/CastaliaMessages.h \
- src/helpStructures/DebugInfoWriter.h
-$O/src/node/application/valueReporting/ValueReportingPacket_m.o: src/node/application/valueReporting/ValueReportingPacket_m.cc \
- src/node/application/ApplicationPacket_m.h \
- src/node/application/valueReporting/ValueReportingPacket_m.h
-$O/src/node/communication/mac/MacPacket_m.o: src/node/communication/mac/MacPacket_m.cc \
- src/node/communication/mac/MacPacket_m.h
+ src/node/application/valueReporting/ValueReportingPacket_m.h \
+ src/node/resourceManager/ResourceManager.h
$O/src/node/communication/mac/VirtualMac.o: src/node/communication/mac/VirtualMac.cc \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/helpStructures/TimerService.h \
+ src/helpStructures/DebugInfoWriter.h \
src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
+ src/node/communication/routing/RoutingPacket_m.h \
+ src/node/communication/radio/Radio.h \
+ src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/communication/mac/VirtualMac.h \
+ src/CastaliaMessages.h \
src/helpStructures/CastaliaModule.h \
+ src/node/communication/mac/MacPacket_m.h \
+ src/helpStructures/TimerServiceMessage_m.h \
+ src/node/resourceManager/ResourceManager.h
+$O/src/node/communication/mac/baselineBanMac/BaselineBANMac.o: src/node/communication/mac/baselineBanMac/BaselineBANMac.cc \
src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/communication/mac/baselineBanMac/BaselineBANMac.h \
src/node/communication/radio/Radio.h \
- src/helpStructures/DebugInfoWriter.h \
src/node/communication/routing/RoutingPacket_m.h \
- src/CastaliaMessages.h \
- src/helpStructures/TimerServiceMessage_m.h \
- src/node/communication/mac/VirtualMac.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/wirelessChannel/WirelessChannelMessages_m.h \
- src/node/resourceManager/ResourceManager.h \
+ src/helpStructures/DebugInfoWriter.h \
src/helpStructures/TimerService.h \
+ src/node/resourceManager/ResourceManager.h \
+ src/node/communication/mac/baselineBanMac/BaselineMacPacket_m.h \
src/node/communication/mac/MacPacket_m.h \
- src/node/resourceManager/ResourceManagerMessage_m.h
-$O/src/node/communication/mac/baselineBanMac/BaselineBANMac.o: src/node/communication/mac/baselineBanMac/BaselineBANMac.cc \
+ src/helpStructures/TimerServiceMessage_m.h \
+ src/helpStructures/CastaliaModule.h \
src/node/communication/mac/VirtualMac.h \
+ src/CastaliaMessages.h
+$O/src/node/communication/mac/bypassMac/BypassMAC.o: src/node/communication/mac/bypassMac/BypassMAC.cc \
+ src/node/communication/mac/bypassMac/BypassMAC.h \
src/CastaliaMessages.h \
+ src/node/communication/mac/VirtualMac.h \
+ src/node/communication/mac/MacPacket_m.h \
src/helpStructures/TimerServiceMessage_m.h \
- src/node/communication/mac/baselineBanMac/BaselineMacPacket_m.h \
- src/node/communication/routing/RoutingPacket_m.h \
- src/helpStructures/DebugInfoWriter.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioSupportFunctions.h \
- src/node/communication/radio/RadioControlMessage_m.h \
- src/node/communication/radio/Radio.h \
- src/node/communication/mac/MacPacket_m.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/resourceManager/ResourceManager.h \
- src/node/communication/mac/baselineBanMac/BaselineBANMac.h \
- src/helpStructures/TimerService.h
-$O/src/node/communication/mac/baselineBanMac/BaselineMacPacket_m.o: src/node/communication/mac/baselineBanMac/BaselineMacPacket_m.cc \
- src/node/communication/mac/MacPacket_m.h \
- src/node/communication/mac/baselineBanMac/BaselineMacPacket_m.h
-$O/src/node/communication/mac/bypassMac/BypassMAC.o: src/node/communication/mac/bypassMac/BypassMAC.cc \
- src/node/communication/radio/Radio.h \
- src/node/communication/radio/RadioSupportFunctions.h \
- src/helpStructures/CastaliaModule.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/communication/radio/RadioControlMessage_m.h \
src/wirelessChannel/WirelessChannelMessages_m.h \
- src/node/communication/mac/bypassMac/BypassMAC.h \
- src/node/communication/mac/VirtualMac.h \
- src/helpStructures/TimerServiceMessage_m.h \
- src/CastaliaMessages.h \
src/helpStructures/DebugInfoWriter.h \
- src/node/communication/routing/RoutingPacket_m.h \
src/helpStructures/TimerService.h \
- src/node/resourceManager/ResourceManager.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h
+ src/node/communication/routing/RoutingPacket_m.h \
+ src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/communication/radio/Radio.h
$O/src/node/communication/mac/mac802154/Mac802154.o: src/node/communication/mac/mac802154/Mac802154.cc \
- src/node/resourceManager/ResourceManager.h \
- src/helpStructures/TimerService.h \
+ src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/communication/radio/Radio.h \
src/node/communication/mac/mac802154/Mac802154.h \
- src/node/communication/mac/MacPacket_m.h \
+ src/node/communication/routing/RoutingPacket_m.h \
src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/communication/radio/RadioControlMessage_m.h \
- src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioSupportFunctions.h \
src/node/communication/mac/mac802154/Mac802154Packet_m.h \
- src/node/communication/radio/Radio.h \
- src/node/communication/routing/RoutingPacket_m.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
src/helpStructures/DebugInfoWriter.h \
+ src/helpStructures/TimerService.h \
+ src/node/resourceManager/ResourceManager.h \
+ src/node/communication/mac/MacPacket_m.h \
src/helpStructures/TimerServiceMessage_m.h \
+ src/helpStructures/CastaliaModule.h \
src/CastaliaMessages.h \
- src/node/communication/mac/VirtualMac.h \
- src/wirelessChannel/WirelessChannelMessages_m.h
-$O/src/node/communication/mac/mac802154/Mac802154Packet_m.o: src/node/communication/mac/mac802154/Mac802154Packet_m.cc \
- src/node/communication/mac/MacPacket_m.h \
- src/node/communication/mac/mac802154/Mac802154Packet_m.h
+ src/node/communication/mac/VirtualMac.h
$O/src/node/communication/mac/tMac/TMAC.o: src/node/communication/mac/tMac/TMAC.cc \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h \
src/helpStructures/TimerService.h \
- src/node/communication/mac/tMac/TMAC.h \
- src/node/resourceManager/ResourceManager.h \
+ src/helpStructures/DebugInfoWriter.h \
src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/node/communication/mac/tMac/TMAC.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/communication/routing/RoutingPacket_m.h \
- src/helpStructures/DebugInfoWriter.h \
- src/CastaliaMessages.h \
- src/helpStructures/TimerServiceMessage_m.h \
- src/node/communication/mac/VirtualMac.h \
src/node/communication/mac/tMac/TMacPacket_m.h \
src/node/communication/radio/Radio.h \
- src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/communication/radio/RadioSupportFunctions.h \
+ src/CastaliaMessages.h \
+ src/node/communication/mac/VirtualMac.h \
src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioSupportFunctions.h
-$O/src/node/communication/mac/tMac/TMacPacket_m.o: src/node/communication/mac/tMac/TMacPacket_m.cc \
+ src/helpStructures/TimerServiceMessage_m.h \
src/node/communication/mac/MacPacket_m.h \
- src/node/communication/mac/tMac/TMacPacket_m.h
+ src/node/resourceManager/ResourceManager.h
$O/src/node/communication/mac/tunableMac/TunableMAC.o: src/node/communication/mac/tunableMac/TunableMAC.cc \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/tunableMac/TunableMacControl_m.h \
+ src/helpStructures/CastaliaModule.h \
+ src/node/communication/mac/tunableMac/TunableMacPacket_m.h \
+ src/node/communication/mac/tunableMac/TunableMAC.h \
+ src/helpStructures/TimerServiceMessage_m.h \
src/node/communication/mac/MacPacket_m.h \
- src/helpStructures/TimerService.h \
+ src/CastaliaMessages.h \
+ src/node/communication/mac/VirtualMac.h \
src/node/resourceManager/ResourceManager.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/node/communication/mac/tunableMac/TunableMacControl_m.h \
src/node/communication/routing/RoutingPacket_m.h \
src/helpStructures/DebugInfoWriter.h \
- src/node/communication/mac/tunableMac/TunableMacPacket_m.h \
- src/node/communication/mac/VirtualMac.h \
- src/CastaliaMessages.h \
- src/helpStructures/TimerServiceMessage_m.h \
+ src/helpStructures/TimerService.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/communication/radio/Radio.h \
- src/node/communication/mac/tunableMac/TunableMAC.h \
- src/node/communication/radio/RadioSupportFunctions.h \
- src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioControlMessage_m.h
-$O/src/node/communication/mac/tunableMac/TunableMacControl_m.o: src/node/communication/mac/tunableMac/TunableMacControl_m.cc \
- src/node/communication/mac/tunableMac/TunableMacControl_m.h
-$O/src/node/communication/mac/tunableMac/TunableMacPacket_m.o: src/node/communication/mac/tunableMac/TunableMacPacket_m.cc \
- src/node/communication/mac/tunableMac/TunableMacPacket_m.h \
- src/node/communication/mac/MacPacket_m.h
+ src/node/communication/radio/RadioSupportFunctions.h
$O/src/node/communication/radio/Radio.o: src/node/communication/radio/Radio.cc \
+ src/helpStructures/DebugInfoWriter.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/communication/radio/Radio.h \
src/node/communication/radio/RadioSupportFunctions.h \
src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioControlMessage_m.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
- src/helpStructures/DebugInfoWriter.h \
+ src/node/communication/mac/MacPacket_m.h \
src/CastaliaMessages.h \
- src/node/resourceManager/ResourceManager.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h
-$O/src/node/communication/radio/RadioControlMessage_m.o: src/node/communication/radio/RadioControlMessage_m.cc \
- src/node/communication/radio/RadioControlMessage_m.h
+ src/node/resourceManager/ResourceManager.h
$O/src/node/communication/radio/RadioSupportFunctions.o: src/node/communication/radio/RadioSupportFunctions.cc \
src/CastaliaMessages.h \
src/node/communication/radio/RadioSupportFunctions.h \
src/node/communication/radio/RadioControlMessage_m.h
-$O/src/node/communication/routing/RoutingPacket_m.o: src/node/communication/routing/RoutingPacket_m.cc \
- src/node/communication/routing/RoutingPacket_m.h
$O/src/node/communication/routing/VirtualRouting.o: src/node/communication/routing/VirtualRouting.cc \
- src/node/application/ApplicationPacket_m.h \
- src/node/communication/radio/Radio.h \
- src/node/communication/radio/RadioControlMessage_m.h \
- src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioSupportFunctions.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/CastaliaMessages.h \
src/node/communication/routing/VirtualRouting.h \
+ src/helpStructures/CastaliaModule.h \
+ src/node/communication/mac/MacPacket_m.h \
src/helpStructures/TimerServiceMessage_m.h \
- src/CastaliaMessages.h \
- src/helpStructures/DebugInfoWriter.h \
- src/node/communication/routing/RoutingPacket_m.h \
- src/helpStructures/TimerService.h \
src/node/resourceManager/ResourceManager.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h
-$O/src/node/communication/routing/bypassRouting/BypassRouting.o: src/node/communication/routing/bypassRouting/BypassRouting.cc \
- src/node/communication/radio/Radio.h \
- src/node/application/ApplicationPacket_m.h \
- src/helpStructures/CastaliaModule.h \
- src/node/communication/radio/RadioSupportFunctions.h \
- src/node/communication/radio/RadioControlMessage_m.h \
- src/node/communication/routing/VirtualRouting.h \
src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/helpStructures/TimerService.h \
src/helpStructures/DebugInfoWriter.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/communication/routing/RoutingPacket_m.h \
+ src/node/application/ApplicationPacket_m.h \
+ src/node/communication/radio/Radio.h \
+ src/node/communication/radio/RadioSupportFunctions.h
+$O/src/node/communication/routing/bypassRouting/BypassRouting.o: src/node/communication/routing/bypassRouting/BypassRouting.cc \
+ src/helpStructures/CastaliaModule.h \
src/helpStructures/TimerServiceMessage_m.h \
+ src/node/communication/mac/MacPacket_m.h \
src/CastaliaMessages.h \
- src/helpStructures/TimerService.h \
src/node/communication/routing/bypassRouting/BypassRouting.h \
- src/node/communication/routing/bypassRouting/BypassRoutingPacket_m.h \
+ src/node/communication/routing/VirtualRouting.h \
src/node/resourceManager/ResourceManager.h \
+ src/node/communication/routing/RoutingPacket_m.h \
+ src/helpStructures/TimerService.h \
+ src/helpStructures/DebugInfoWriter.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/mac/MacPacket_m.h
-$O/src/node/communication/routing/bypassRouting/BypassRoutingPacket_m.o: src/node/communication/routing/bypassRouting/BypassRoutingPacket_m.cc \
+ src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/communication/radio/Radio.h \
src/node/communication/routing/bypassRouting/BypassRoutingPacket_m.h \
- src/node/communication/routing/RoutingPacket_m.h
+ src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/application/ApplicationPacket_m.h
$O/src/node/communication/routing/multipathRingsRouting/MultipathRingsRouting.o: src/node/communication/routing/multipathRingsRouting/MultipathRingsRouting.cc \
- src/node/communication/mac/MacPacket_m.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/communication/routing/multipathRingsRouting/MultipathRingsRoutingPacket_m.h \
- src/node/resourceManager/ResourceManager.h \
src/node/communication/routing/multipathRingsRouting/MultipathRingsRouting.h \
- src/helpStructures/TimerService.h \
- src/node/communication/routing/multipathRingsRouting/MultipathRingsRoutingControl_m.h \
- src/helpStructures/TimerServiceMessage_m.h \
+ src/node/resourceManager/ResourceManager.h \
src/CastaliaMessages.h \
- src/node/communication/routing/RoutingPacket_m.h \
- src/helpStructures/DebugInfoWriter.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
src/node/communication/routing/VirtualRouting.h \
- src/node/communication/radio/RadioControlMessage_m.h \
- src/node/communication/radio/RadioSupportFunctions.h \
src/helpStructures/CastaliaModule.h \
+ src/helpStructures/TimerServiceMessage_m.h \
+ src/node/communication/mac/MacPacket_m.h \
src/node/application/ApplicationPacket_m.h \
- src/node/communication/radio/Radio.h
-$O/src/node/communication/routing/multipathRingsRouting/MultipathRingsRoutingControl_m.o: src/node/communication/routing/multipathRingsRouting/MultipathRingsRoutingControl_m.cc \
- src/node/communication/routing/multipathRingsRouting/MultipathRingsRoutingControl_m.h
-$O/src/node/communication/routing/multipathRingsRouting/MultipathRingsRoutingPacket_m.o: src/node/communication/routing/multipathRingsRouting/MultipathRingsRoutingPacket_m.cc \
+ src/node/communication/radio/Radio.h \
+ src/node/communication/radio/RadioSupportFunctions.h \
+ src/node/communication/routing/multipathRingsRouting/MultipathRingsRoutingControl_m.h \
src/node/communication/routing/multipathRingsRouting/MultipathRingsRoutingPacket_m.h \
+ src/helpStructures/DebugInfoWriter.h \
+ src/helpStructures/TimerService.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/node/communication/radio/RadioControlMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/communication/routing/RoutingPacket_m.h
-$O/src/node/mobilityManager/MobilityManagerMessage_m.o: src/node/mobilityManager/MobilityManagerMessage_m.cc \
- src/node/mobilityManager/MobilityManagerMessage_m.h
$O/src/node/mobilityManager/VirtualMobilityManager.o: src/node/mobilityManager/VirtualMobilityManager.cc \
src/node/mobilityManager/VirtualMobilityManager.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
src/helpStructures/CastaliaModule.h \
- src/helpStructures/DebugInfoWriter.h \
src/CastaliaMessages.h \
- src/wirelessChannel/WirelessChannelMessages_m.h
+ src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/helpStructures/DebugInfoWriter.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h
$O/src/node/mobilityManager/lineMobilityManager/LineMobilityManager.o: src/node/mobilityManager/lineMobilityManager/LineMobilityManager.cc \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/node/mobilityManager/MobilityManagerMessage_m.h \
+ src/CastaliaMessages.h \
src/node/mobilityManager/VirtualMobilityManager.h \
+ src/helpStructures/CastaliaModule.h \
+ src/node/mobilityManager/MobilityManagerMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/wirelessChannel/WirelessChannelMessages_m.h \
- src/node/mobilityManager/lineMobilityManager/LineMobilityManager.h \
src/helpStructures/DebugInfoWriter.h \
- src/CastaliaMessages.h \
- src/helpStructures/CastaliaModule.h
+ src/node/mobilityManager/lineMobilityManager/LineMobilityManager.h
$O/src/node/mobilityManager/noMobilityManager/NoMobilityManager.o: src/node/mobilityManager/noMobilityManager/NoMobilityManager.cc \
- src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/mobilityManager/VirtualMobilityManager.h \
- src/helpStructures/DebugInfoWriter.h \
- src/CastaliaMessages.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
- src/helpStructures/CastaliaModule.h \
- src/node/mobilityManager/noMobilityManager/NoMobilityManager.h
-$O/src/node/resourceManager/ResourceManager.o: src/node/resourceManager/ResourceManager.cc \
src/helpStructures/CastaliaModule.h \
src/CastaliaMessages.h \
+ src/node/mobilityManager/noMobilityManager/NoMobilityManager.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
src/helpStructures/DebugInfoWriter.h \
- src/node/resourceManager/ResourceManager.h \
- src/node/resourceManager/ResourceManagerMessage_m.h
-$O/src/node/resourceManager/ResourceManagerMessage_m.o: src/node/resourceManager/ResourceManagerMessage_m.cc \
src/node/resourceManager/ResourceManagerMessage_m.h
+$O/src/node/resourceManager/ResourceManager.o: src/node/resourceManager/ResourceManager.cc \
+ src/helpStructures/DebugInfoWriter.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
+ src/CastaliaMessages.h \
+ src/helpStructures/CastaliaModule.h \
+ src/node/resourceManager/ResourceManager.h
$O/src/node/sensorManager/SensorManager.o: src/node/sensorManager/SensorManager.cc \
- src/physicalProcess/PhysicalProcessMessage_m.h \
src/helpStructures/CastaliaModule.h \
+ src/node/mobilityManager/VirtualMobilityManager.h \
src/CastaliaMessages.h \
+ src/node/sensorManager/SensorManager.h \
src/helpStructures/DebugInfoWriter.h \
src/wirelessChannel/WirelessChannelMessages_m.h \
- src/node/mobilityManager/VirtualMobilityManager.h \
- src/node/sensorManager/SensorManager.h \
src/node/sensorManager/SensorManagerMessage_m.h \
+ src/physicalProcess/PhysicalProcessMessage_m.h \
src/node/resourceManager/ResourceManagerMessage_m.h
-$O/src/node/sensorManager/SensorManagerMessage_m.o: src/node/sensorManager/SensorManagerMessage_m.cc \
- src/node/sensorManager/SensorManagerMessage_m.h
-$O/src/physicalProcess/PhysicalProcessMessage_m.o: src/physicalProcess/PhysicalProcessMessage_m.cc \
- src/physicalProcess/PhysicalProcessMessage_m.h
$O/src/physicalProcess/carsPhysicalProcess/CarsPhysicalProcess.o: src/physicalProcess/carsPhysicalProcess/CarsPhysicalProcess.cc \
- src/node/resourceManager/ResourceManagerMessage_m.h \
- src/physicalProcess/carsPhysicalProcess/CarsPhysicalProcess.h \
- src/physicalProcess/PhysicalProcessMessage_m.h \
src/helpStructures/CastaliaModule.h \
src/CastaliaMessages.h \
+ src/physicalProcess/carsPhysicalProcess/CarsPhysicalProcess.h \
+ src/physicalProcess/PhysicalProcessMessage_m.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/helpStructures/DebugInfoWriter.h
$O/src/physicalProcess/customizablePhysicalProcess/CustomizablePhysicalProcess.o: src/physicalProcess/customizablePhysicalProcess/CustomizablePhysicalProcess.cc \
- src/helpStructures/CastaliaModule.h \
- src/physicalProcess/PhysicalProcessMessage_m.h \
+ src/physicalProcess/customizablePhysicalProcess/CustomizablePhysicalProcess.h \
src/helpStructures/DebugInfoWriter.h \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
+ src/physicalProcess/PhysicalProcessMessage_m.h \
src/CastaliaMessages.h \
- src/physicalProcess/customizablePhysicalProcess/CustomizablePhysicalProcess.h \
- src/node/resourceManager/ResourceManagerMessage_m.h
+ src/helpStructures/CastaliaModule.h
$O/src/wirelessChannel/WirelessChannel.o: src/wirelessChannel/WirelessChannel.cc \
+ src/node/resourceManager/ResourceManagerMessage_m.h \
src/helpStructures/DebugInfoWriter.h \
+ src/wirelessChannel/WirelessChannelMessages_m.h \
+ src/wirelessChannel/WirelessChannel.h \
src/wirelessChannel/WirelessChannelTemporal.h \
src/CastaliaMessages.h \
- src/wirelessChannel/WirelessChannelMessages_m.h \
src/helpStructures/CastaliaModule.h \
- src/wirelessChannel/WirelessChannel.h \
- src/node/resourceManager/ResourceManagerMessage_m.h \
src/node/mobilityManager/VirtualMobilityManager.h
-$O/src/wirelessChannel/WirelessChannelMessages_m.o: src/wirelessChannel/WirelessChannelMessages_m.cc \
- src/wirelessChannel/WirelessChannelMessages_m.h
$O/src/wirelessChannel/WirelessChannelTemporal.o: src/wirelessChannel/WirelessChannelTemporal.cc \
src/wirelessChannel/WirelessChannelTemporal.h
diff --git a/Simulations/latencyTest/castalia.ipynb b/Simulations/latencyTest/castalia.ipynb
index b4686ed..c78eff5 100644
--- a/Simulations/latencyTest/castalia.ipynb
+++ b/Simulations/latencyTest/castalia.ipynb
@@ -4,18 +4,9 @@
"cell_type": "code",
"execution_count": 1,
"metadata": {
- "collapsed": false
+ "collapsed": true
},
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/home/zii-de/anaconda3/lib/python3.4/site-packages/matplotlib/__init__.py:872: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n",
- " warnings.warn(self.msg_depr % (key, alt_key))\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
@@ -28,7 +19,7 @@
"cell_type": "code",
"execution_count": 2,
"metadata": {
- "collapsed": true
+ "collapsed": false
},
"outputs": [],
"source": [
@@ -68,30 +59,30 @@
" \n",
"
\n",
" | 1 | \n",
- " 18.753632 | \n",
- " SN.node[5].Application | \n",
+ " 899.953299 | \n",
+ " SN.node[16].Application | \n",
" Sending packet #0 | \n",
" 1 | \n",
"
\n",
" \n",
" | 2 | \n",
- " 21.072526 | \n",
- " SN.node[18].Application | \n",
+ " 899.964665 | \n",
+ " SN.node[31].Application | \n",
" Sending packet #0 | \n",
" 1 | \n",
"
\n",
" \n",
" | 3 | \n",
- " 70.402864 | \n",
- " SN.node[8].Application | \n",
+ " 899.966994 | \n",
+ " SN.node[11].Application | \n",
" Sending packet #0 | \n",
" 1 | \n",
"
\n",
" \n",
" | 4 | \n",
- " 70.568286 | \n",
- " SN.node[0].Application | \n",
- " Received packet #0 from node 8 | \n",
+ " 899.972774 | \n",
+ " SN.node[41].Application | \n",
+ " Sending packet #0 | \n",
" 1 | \n",
"
\n",
" \n",
@@ -102,73 +93,73 @@
" | ... | \n",
"
\n",
" \n",
- " | 5164 | \n",
- " 14270.357898 | \n",
- " SN.node[7].Application | \n",
- " Sending packet #16 | \n",
+ " 7915 | \n",
+ " 14399.983329 | \n",
+ " SN.node[0].Application | \n",
+ " Received packet #15 from node 47 | \n",
" 5 | \n",
"
\n",
" \n",
- " | 5165 | \n",
- " 14286.660679 | \n",
- " SN.node[10].Application | \n",
- " Sending packet #16 | \n",
+ " 7916 | \n",
+ " 14399.989842 | \n",
+ " SN.node[39].Application | \n",
+ " Sending packet #15 | \n",
" 5 | \n",
"
\n",
" \n",
- " | 5166 | \n",
- " 14308.756609 | \n",
- " SN.node[34].Application | \n",
- " Sending packet #6 | \n",
+ " 7917 | \n",
+ " 14399.991008 | \n",
+ " SN.node[0].Application | \n",
+ " Received packet #15 from node 26 | \n",
" 5 | \n",
"
\n",
" \n",
- " | 5167 | \n",
- " 14370.087464 | \n",
- " SN.node[40].Application | \n",
- " Sending packet #10 | \n",
+ " 7918 | \n",
+ " 14399.998689 | \n",
+ " SN.node[0].Application | \n",
+ " Received packet #15 from node 39 | \n",
" 5 | \n",
"
\n",
" \n",
- " | 5168 | \n",
- " 14370.090189 | \n",
- " SN.node[0].Application | \n",
- " Received packet #10 from node 40 | \n",
+ " 7919 | \n",
+ " 14400.045524 | \n",
+ " SN.node[7].Application | \n",
+ " Sending packet #15 | \n",
" 5 | \n",
"
\n",
" \n",
"\n",
- "5169 rows × 4 columns
\n",
+ "7920 rows × 4 columns
\n",
""
],
"text/plain": [
" time entity \\\n",
"0 0.027540 SN.node[0].Application \n",
- "1 18.753632 SN.node[5].Application \n",
- "2 21.072526 SN.node[18].Application \n",
- "3 70.402864 SN.node[8].Application \n",
- "4 70.568286 SN.node[0].Application \n",
+ "1 899.953299 SN.node[16].Application \n",
+ "2 899.964665 SN.node[31].Application \n",
+ "3 899.966994 SN.node[11].Application \n",
+ "4 899.972774 SN.node[41].Application \n",
"... ... ... \n",
- "5164 14270.357898 SN.node[7].Application \n",
- "5165 14286.660679 SN.node[10].Application \n",
- "5166 14308.756609 SN.node[34].Application \n",
- "5167 14370.087464 SN.node[40].Application \n",
- "5168 14370.090189 SN.node[0].Application \n",
+ "7915 14399.983329 SN.node[0].Application \n",
+ "7916 14399.989842 SN.node[39].Application \n",
+ "7917 14399.991008 SN.node[0].Application \n",
+ "7918 14399.998689 SN.node[0].Application \n",
+ "7919 14400.045524 SN.node[7].Application \n",
"\n",
" event reps \n",
"0 Not sending packets 1 \n",
"1 Sending packet #0 1 \n",
"2 Sending packet #0 1 \n",
"3 Sending packet #0 1 \n",
- "4 Received packet #0 from node 8 1 \n",
+ "4 Sending packet #0 1 \n",
"... ... ... \n",
- "5164 Sending packet #16 5 \n",
- "5165 Sending packet #16 5 \n",
- "5166 Sending packet #6 5 \n",
- "5167 Sending packet #10 5 \n",
- "5168 Received packet #10 from node 40 5 \n",
+ "7915 Received packet #15 from node 47 5 \n",
+ "7916 Sending packet #15 5 \n",
+ "7917 Received packet #15 from node 26 5 \n",
+ "7918 Received packet #15 from node 39 5 \n",
+ "7919 Sending packet #15 5 \n",
"\n",
- "[5169 rows x 4 columns]"
+ "[7920 rows x 4 columns]"
]
},
"execution_count": 3,
@@ -201,13 +192,13 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "/home/zii-de/anaconda3/lib/python3.4/site-packages/ipykernel/__main__.py:2: SettingWithCopyWarning: \n",
+ "/home/m/anaconda2/lib/python2.7/site-packages/ipykernel/__main__.py:2: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
" from ipykernel import kernelapp as app\n",
- "/home/zii-de/anaconda3/lib/python3.4/site-packages/ipykernel/__main__.py:3: SettingWithCopyWarning: \n",
+ "/home/m/anaconda2/lib/python2.7/site-packages/ipykernel/__main__.py:3: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
@@ -232,37 +223,37 @@
" \n",
" \n",
" | 1 | \n",
- " 18.753632 | \n",
+ " 899.953299 | \n",
" 1 | \n",
- " 5 | \n",
+ " 16 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2 | \n",
- " 21.072526 | \n",
+ " 899.964665 | \n",
" 1 | \n",
- " 18 | \n",
+ " 31 | \n",
" 0 | \n",
"
\n",
" \n",
" | 3 | \n",
- " 70.402864 | \n",
+ " 899.966994 | \n",
" 1 | \n",
- " 8 | \n",
+ " 11 | \n",
" 0 | \n",
"
\n",
" \n",
- " | 5 | \n",
- " 78.060077 | \n",
- " 1 | \n",
- " 5 | \n",
+ " 4 | \n",
+ " 899.972774 | \n",
" 1 | \n",
+ " 41 | \n",
+ " 0 | \n",
"
\n",
" \n",
- " | 6 | \n",
- " 87.090722 | \n",
+ " 5 | \n",
+ " 899.975449 | \n",
" 1 | \n",
- " 4 | \n",
+ " 43 | \n",
" 0 | \n",
"
\n",
" \n",
@@ -273,60 +264,60 @@
" | ... | \n",
"
\n",
" \n",
- " | 5163 | \n",
- " 14260.755388 | \n",
+ " 7909 | \n",
+ " 14399.949765 | \n",
" 5 | \n",
- " 10 | \n",
+ " 26 | \n",
" 15 | \n",
"
\n",
" \n",
- " | 5164 | \n",
- " 14270.357898 | \n",
+ " 7910 | \n",
+ " 14399.952797 | \n",
" 5 | \n",
- " 7 | \n",
- " 16 | \n",
+ " 18 | \n",
+ " 15 | \n",
"
\n",
" \n",
- " | 5165 | \n",
- " 14286.660679 | \n",
+ " 7913 | \n",
+ " 14399.969758 | \n",
" 5 | \n",
- " 10 | \n",
- " 16 | \n",
+ " 47 | \n",
+ " 15 | \n",
"
\n",
" \n",
- " | 5166 | \n",
- " 14308.756609 | \n",
+ " 7916 | \n",
+ " 14399.989842 | \n",
" 5 | \n",
- " 34 | \n",
- " 6 | \n",
+ " 39 | \n",
+ " 15 | \n",
"
\n",
" \n",
- " | 5167 | \n",
- " 14370.087464 | \n",
+ " 7919 | \n",
+ " 14400.045524 | \n",
" 5 | \n",
- " 40 | \n",
- " 10 | \n",
+ " 7 | \n",
+ " 15 | \n",
"
\n",
" \n",
"\n",
- "4004 rows × 4 columns
\n",
+ "3948 rows × 4 columns
\n",
""
],
"text/plain": [
" time reps from_node sequence_number\n",
- "1 18.753632 1 5 0\n",
- "2 21.072526 1 18 0\n",
- "3 70.402864 1 8 0\n",
- "5 78.060077 1 5 1\n",
- "6 87.090722 1 4 0\n",
+ "1 899.953299 1 16 0\n",
+ "2 899.964665 1 31 0\n",
+ "3 899.966994 1 11 0\n",
+ "4 899.972774 1 41 0\n",
+ "5 899.975449 1 43 0\n",
"... ... ... ... ...\n",
- "5163 14260.755388 5 10 15\n",
- "5164 14270.357898 5 7 16\n",
- "5165 14286.660679 5 10 16\n",
- "5166 14308.756609 5 34 6\n",
- "5167 14370.087464 5 40 10\n",
+ "7909 14399.949765 5 26 15\n",
+ "7910 14399.952797 5 18 15\n",
+ "7913 14399.969758 5 47 15\n",
+ "7916 14399.989842 5 39 15\n",
+ "7919 14400.045524 5 7 15\n",
"\n",
- "[4004 rows x 4 columns]"
+ "[3948 rows x 4 columns]"
]
},
"execution_count": 4,
@@ -353,13 +344,13 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "/home/zii-de/anaconda3/lib/python3.4/site-packages/ipykernel/__main__.py:2: SettingWithCopyWarning: \n",
+ "/home/m/anaconda2/lib/python2.7/site-packages/ipykernel/__main__.py:2: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
" from ipykernel import kernelapp as app\n",
- "/home/zii-de/anaconda3/lib/python3.4/site-packages/ipykernel/__main__.py:3: SettingWithCopyWarning: \n",
+ "/home/m/anaconda2/lib/python2.7/site-packages/ipykernel/__main__.py:3: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
@@ -383,38 +374,38 @@
" \n",
" \n",
" \n",
- " | 4 | \n",
- " 70.568286 | \n",
+ " 6 | \n",
+ " 899.976757 | \n",
" 1 | \n",
- " 8 | \n",
+ " 16 | \n",
" 0 | \n",
"
\n",
" \n",
- " | 11 | \n",
- " 204.760647 | \n",
+ " 16 | \n",
+ " 899.994676 | \n",
" 1 | \n",
- " 43 | \n",
+ " 11 | \n",
" 0 | \n",
"
\n",
" \n",
- " | 15 | \n",
- " 229.482768 | \n",
+ " 51 | \n",
+ " 900.063806 | \n",
" 1 | \n",
- " 23 | \n",
+ " 13 | \n",
" 0 | \n",
"
\n",
" \n",
- " | 19 | \n",
- " 293.156023 | \n",
+ " 53 | \n",
+ " 900.075325 | \n",
" 1 | \n",
- " 50 | \n",
+ " 8 | \n",
" 0 | \n",
"
\n",
" \n",
- " | 22 | \n",
- " 310.566667 | \n",
+ " 56 | \n",
+ " 900.086846 | \n",
" 1 | \n",
- " 7 | \n",
+ " 17 | \n",
" 0 | \n",
"
\n",
" \n",
@@ -425,60 +416,60 @@
" | ... | \n",
"
\n",
" \n",
- " | 5146 | \n",
- " 13871.813878 | \n",
+ " 7912 | \n",
+ " 14399.962848 | \n",
" 5 | \n",
- " 30 | \n",
- " 12 | \n",
+ " 36 | \n",
+ " 15 | \n",
"
\n",
" \n",
- " | 5150 | \n",
- " 13926.735521 | \n",
+ " 7914 | \n",
+ " 14399.973089 | \n",
" 5 | \n",
- " 24 | \n",
" 18 | \n",
+ " 15 | \n",
"
\n",
" \n",
- " | 5154 | \n",
- " 14085.713108 | \n",
+ " 7915 | \n",
+ " 14399.983329 | \n",
" 5 | \n",
- " 3 | \n",
- " 19 | \n",
+ " 47 | \n",
+ " 15 | \n",
"
\n",
" \n",
- " | 5157 | \n",
- " 14107.476831 | \n",
+ " 7917 | \n",
+ " 14399.991008 | \n",
" 5 | \n",
- " 45 | \n",
- " 9 | \n",
+ " 26 | \n",
+ " 15 | \n",
"
\n",
" \n",
- " | 5168 | \n",
- " 14370.090189 | \n",
+ " 7918 | \n",
+ " 14399.998689 | \n",
" 5 | \n",
- " 40 | \n",
- " 10 | \n",
+ " 39 | \n",
+ " 15 | \n",
"
\n",
" \n",
"\n",
- "1160 rows × 4 columns
\n",
+ "3967 rows × 4 columns
\n",
""
],
"text/plain": [
" time reps from_node sequence_number\n",
- "4 70.568286 1 8 0\n",
- "11 204.760647 1 43 0\n",
- "15 229.482768 1 23 0\n",
- "19 293.156023 1 50 0\n",
- "22 310.566667 1 7 0\n",
+ "6 899.976757 1 16 0\n",
+ "16 899.994676 1 11 0\n",
+ "51 900.063806 1 13 0\n",
+ "53 900.075325 1 8 0\n",
+ "56 900.086846 1 17 0\n",
"... ... ... ... ...\n",
- "5146 13871.813878 5 30 12\n",
- "5150 13926.735521 5 24 18\n",
- "5154 14085.713108 5 3 19\n",
- "5157 14107.476831 5 45 9\n",
- "5168 14370.090189 5 40 10\n",
+ "7912 14399.962848 5 36 15\n",
+ "7914 14399.973089 5 18 15\n",
+ "7915 14399.983329 5 47 15\n",
+ "7917 14399.991008 5 26 15\n",
+ "7918 14399.998689 5 39 15\n",
"\n",
- "[1160 rows x 4 columns]"
+ "[3967 rows x 4 columns]"
]
},
"execution_count": 5,
@@ -519,43 +510,43 @@
" \n",
" \n",
" | 0 | \n",
- " 18.753632 | \n",
+ " 899.953299 | \n",
" 1 | \n",
- " 5 | \n",
+ " 16 | \n",
" 0 | \n",
- " NaN | \n",
+ " 899.976757 | \n",
"
\n",
" \n",
" | 1 | \n",
- " 21.072526 | \n",
+ " 899.964665 | \n",
" 1 | \n",
- " 18 | \n",
+ " 31 | \n",
" 0 | \n",
- " NaN | \n",
+ " 900.310860 | \n",
"
\n",
" \n",
" | 2 | \n",
- " 70.402864 | \n",
+ " 899.966994 | \n",
" 1 | \n",
- " 8 | \n",
+ " 11 | \n",
" 0 | \n",
- " 70.568286 | \n",
+ " 899.994676 | \n",
"
\n",
" \n",
" | 3 | \n",
- " 78.060077 | \n",
- " 1 | \n",
- " 5 | \n",
+ " 899.972774 | \n",
" 1 | \n",
- " NaN | \n",
+ " 41 | \n",
+ " 0 | \n",
+ " 900.126526 | \n",
"
\n",
" \n",
" | 4 | \n",
- " 87.090722 | \n",
+ " 899.975449 | \n",
" 1 | \n",
- " 4 | \n",
+ " 43 | \n",
" 0 | \n",
- " NaN | \n",
+ " 900.223811 | \n",
"
\n",
" \n",
" | ... | \n",
@@ -566,65 +557,65 @@
" ... | \n",
"
\n",
" \n",
- " | 4017 | \n",
- " 14260.755388 | \n",
+ " 3974 | \n",
+ " 14399.949765 | \n",
" 5 | \n",
- " 10 | \n",
+ " 26 | \n",
" 15 | \n",
- " NaN | \n",
+ " 14399.991008 | \n",
"
\n",
" \n",
- " | 4018 | \n",
- " 14270.357898 | \n",
+ " 3975 | \n",
+ " 14399.952797 | \n",
" 5 | \n",
- " 7 | \n",
- " 16 | \n",
- " NaN | \n",
+ " 18 | \n",
+ " 15 | \n",
+ " 14399.973089 | \n",
"
\n",
" \n",
- " | 4019 | \n",
- " 14286.660679 | \n",
+ " 3976 | \n",
+ " 14399.969758 | \n",
" 5 | \n",
- " 10 | \n",
- " 16 | \n",
- " NaN | \n",
+ " 47 | \n",
+ " 15 | \n",
+ " 14399.983329 | \n",
"
\n",
" \n",
- " | 4020 | \n",
- " 14308.756609 | \n",
+ " 3977 | \n",
+ " 14399.989842 | \n",
" 5 | \n",
- " 34 | \n",
- " 6 | \n",
- " NaN | \n",
+ " 39 | \n",
+ " 15 | \n",
+ " 14399.998689 | \n",
"
\n",
" \n",
- " | 4021 | \n",
- " 14370.087464 | \n",
+ " 3978 | \n",
+ " 14400.045524 | \n",
" 5 | \n",
- " 40 | \n",
- " 10 | \n",
- " 14370.090189 | \n",
+ " 7 | \n",
+ " 15 | \n",
+ " NaN | \n",
"
\n",
" \n",
"\n",
- "4022 rows × 5 columns
\n",
+ "3979 rows × 5 columns
\n",
""
],
"text/plain": [
" time_sent reps from_node sequence_number time_received\n",
- "0 18.753632 1 5 0 NaN\n",
- "1 21.072526 1 18 0 NaN\n",
- "2 70.402864 1 8 0 70.568286\n",
- "3 78.060077 1 5 1 NaN\n",
- "4 87.090722 1 4 0 NaN\n",
+ "0 899.953299 1 16 0 899.976757\n",
+ "1 899.964665 1 31 0 900.310860\n",
+ "2 899.966994 1 11 0 899.994676\n",
+ "3 899.972774 1 41 0 900.126526\n",
+ "4 899.975449 1 43 0 900.223811\n",
"... ... ... ... ... ...\n",
- "4017 14260.755388 5 10 15 NaN\n",
- "4018 14270.357898 5 7 16 NaN\n",
- "4019 14286.660679 5 10 16 NaN\n",
- "4020 14308.756609 5 34 6 NaN\n",
- "4021 14370.087464 5 40 10 14370.090189\n",
+ "3974 14399.949765 5 26 15 14399.991008\n",
+ "3975 14399.952797 5 18 15 14399.973089\n",
+ "3976 14399.969758 5 47 15 14399.983329\n",
+ "3977 14399.989842 5 39 15 14399.998689\n",
+ "3978 14400.045524 5 7 15 NaN\n",
"\n",
- "[4022 rows x 5 columns]"
+ "[3979 rows x 5 columns]"
]
},
"execution_count": 6,
@@ -648,17 +639,17 @@
{
"data": {
"text/plain": [
- "32 95\n",
- "47 83\n",
- "18 82\n",
- "37 78\n",
- "26 78\n",
- " ..\n",
- "5 30\n",
- "41 28\n",
- "30 24\n",
- "33 22\n",
- "43 11\n",
+ "15 1\n",
+ "14 1\n",
+ "13 1\n",
+ "10 1\n",
+ "25 1\n",
+ " ..\n",
+ "20 1\n",
+ "3 1\n",
+ "34 1\n",
+ "33 1\n",
+ "51 1\n",
"Name: from_node, dtype: int64"
]
},
@@ -675,8 +666,7 @@
"cell_type": "code",
"execution_count": 8,
"metadata": {
- "collapsed": false,
- "scrolled": true
+ "collapsed": false
},
"outputs": [
{
@@ -705,43 +695,43 @@
" \n",
" \n",
" | 1 | \n",
- " NaN | \n",
- " 45.172546 | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
+ " 322.580477 | \n",
+ " 232.798433 | \n",
+ " 408.194241 | \n",
+ " 354.675757 | \n",
+ " 248.089680 | \n",
"
\n",
" \n",
" | 2 | \n",
- " NaN | \n",
- " 53.538930 | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
+ " 208.698167 | \n",
+ " 254.540442 | \n",
+ " 463.681371 | \n",
+ " 221.585510 | \n",
+ " 306.500923 | \n",
"
\n",
" \n",
" | 3 | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
- " 33.553970 | \n",
+ " 401.462408 | \n",
+ " 326.038964 | \n",
+ " 715.201134 | \n",
+ " 332.761367 | \n",
+ " 184.099377 | \n",
"
\n",
" \n",
" | 4 | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
+ " 272.688455 | \n",
+ " 189.211365 | \n",
+ " 275.449533 | \n",
+ " 420.573817 | \n",
+ " 382.113655 | \n",
"
\n",
" \n",
" | 5 | \n",
- " NaN | \n",
- " 51.740238 | \n",
- " 37.013142 | \n",
- " NaN | \n",
- " 40.900205 | \n",
+ " 344.828296 | \n",
+ " 275.694142 | \n",
+ " 494.005722 | \n",
+ " 276.972668 | \n",
+ " 186.003228 | \n",
"
\n",
" \n",
" | ... | \n",
@@ -753,43 +743,43 @@
"
\n",
" \n",
" | 47 | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
+ " 372.843028 | \n",
+ " 366.246247 | \n",
+ " 459.009685 | \n",
+ " 266.917022 | \n",
+ " 382.330860 | \n",
"
\n",
" \n",
" | 48 | \n",
- " NaN | \n",
- " 52.993328 | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
+ " 308.174524 | \n",
+ " 201.914718 | \n",
+ " 332.567447 | \n",
+ " 252.093565 | \n",
+ " 350.447551 | \n",
"
\n",
" \n",
" | 49 | \n",
- " NaN | \n",
- " 48.721103 | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
+ " 265.781108 | \n",
+ " 329.899739 | \n",
+ " 302.094268 | \n",
+ " 215.407207 | \n",
+ " 252.773481 | \n",
"
\n",
" \n",
" | 50 | \n",
- " 141.564934 | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
+ " 139.778571 | \n",
+ " 256.712113 | \n",
+ " 411.815141 | \n",
+ " 255.579174 | \n",
+ " 449.208696 | \n",
"
\n",
" \n",
" | 51 | \n",
- " 162.055651 | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
- " NaN | \n",
+ " 185.552207 | \n",
+ " 397.183112 | \n",
+ " 276.854634 | \n",
+ " 236.049156 | \n",
+ " 401.801692 | \n",
"
\n",
" \n",
"\n",
@@ -797,19 +787,19 @@
""
],
"text/plain": [
- "reps 1 2 3 4 5\n",
- "from_node \n",
- "1 NaN 45.172546 NaN NaN NaN\n",
- "2 NaN 53.538930 NaN NaN NaN\n",
- "3 NaN NaN NaN NaN 33.553970\n",
- "4 NaN NaN NaN NaN NaN\n",
- "5 NaN 51.740238 37.013142 NaN 40.900205\n",
- "... ... ... ... .. ...\n",
- "47 NaN NaN NaN NaN NaN\n",
- "48 NaN 52.993328 NaN NaN NaN\n",
- "49 NaN 48.721103 NaN NaN NaN\n",
- "50 141.564934 NaN NaN NaN NaN\n",
- "51 162.055651 NaN NaN NaN NaN\n",
+ "reps 1 2 3 4 5\n",
+ "from_node \n",
+ "1 322.580477 232.798433 408.194241 354.675757 248.089680\n",
+ "2 208.698167 254.540442 463.681371 221.585510 306.500923\n",
+ "3 401.462408 326.038964 715.201134 332.761367 184.099377\n",
+ "4 272.688455 189.211365 275.449533 420.573817 382.113655\n",
+ "5 344.828296 275.694142 494.005722 276.972668 186.003228\n",
+ "... ... ... ... ... ...\n",
+ "47 372.843028 366.246247 459.009685 266.917022 382.330860\n",
+ "48 308.174524 201.914718 332.567447 252.093565 350.447551\n",
+ "49 265.781108 329.899739 302.094268 215.407207 252.773481\n",
+ "50 139.778571 256.712113 411.815141 255.579174 449.208696\n",
+ "51 185.552207 397.183112 276.854634 236.049156 401.801692\n",
"\n",
"[51 rows x 5 columns]"
]
@@ -827,9 +817,9 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 9,
"metadata": {
- "collapsed": true
+ "collapsed": false
},
"outputs": [],
"source": [
@@ -861,82 +851,82 @@
" \n",
" \n",
" | count | \n",
- " 18.000000 | \n",
- " 21.000000 | \n",
- " 13.000000 | \n",
- " 7.000000 | \n",
- " 14.000000 | \n",
+ " 51.000000 | \n",
+ " 51.000000 | \n",
+ " 51.000000 | \n",
+ " 51.000000 | \n",
+ " 51.000000 | \n",
"
\n",
" \n",
" | mean | \n",
- " 149.454289 | \n",
- " 42.886621 | \n",
- " 67.845083 | \n",
- " 110.980085 | \n",
- " 36.221227 | \n",
+ " 259.713741 | \n",
+ " 294.597178 | \n",
+ " 343.654018 | \n",
+ " 291.032167 | \n",
+ " 305.393110 | \n",
"
\n",
" \n",
" | std | \n",
- " 29.666279 | \n",
- " 9.327147 | \n",
- " 46.342331 | \n",
- " 59.597104 | \n",
- " 10.473535 | \n",
+ " 87.865540 | \n",
+ " 100.770300 | \n",
+ " 130.162118 | \n",
+ " 99.627124 | \n",
+ " 89.685631 | \n",
"
\n",
" \n",
" | min | \n",
- " 39.135680 | \n",
- " 14.684940 | \n",
- " 35.622258 | \n",
- " 43.877677 | \n",
- " 17.787287 | \n",
+ " 94.301400 | \n",
+ " 97.024402 | \n",
+ " 67.752305 | \n",
+ " 75.181111 | \n",
+ " 108.614323 | \n",
"
\n",
" \n",
" | 25% | \n",
- " 145.706240 | \n",
- " 38.283121 | \n",
- " 41.574406 | \n",
- " 49.335788 | \n",
- " 30.334967 | \n",
+ " 184.403279 | \n",
+ " 226.680500 | \n",
+ " 276.152084 | \n",
+ " 221.593980 | \n",
+ " 250.431581 | \n",
"
\n",
" \n",
" | 50% | \n",
- " 156.687341 | \n",
- " 45.655289 | \n",
- " 44.770129 | \n",
- " 153.360962 | \n",
- " 36.467988 | \n",
+ " 265.781108 | \n",
+ " 286.636749 | \n",
+ " 349.648610 | \n",
+ " 302.066928 | \n",
+ " 300.051142 | \n",
"
\n",
" \n",
" | 75% | \n",
- " 161.919132 | \n",
- " 48.554117 | \n",
- " 55.719947 | \n",
- " 157.051928 | \n",
- " 42.535006 | \n",
+ " 333.262718 | \n",
+ " 364.083822 | \n",
+ " 422.723420 | \n",
+ " 359.892169 | \n",
+ " 380.842459 | \n",
"
\n",
" \n",
" | max | \n",
- " 177.860294 | \n",
- " 53.538930 | \n",
- " 164.536931 | \n",
- " 166.846524 | \n",
- " 54.420015 | \n",
+ " 440.976880 | \n",
+ " 524.235977 | \n",
+ " 715.201134 | \n",
+ " 479.927612 | \n",
+ " 507.930033 | \n",
"
\n",
" \n",
"\n",
""
],
"text/plain": [
- "reps 1 2 3 4 5\n",
- "count 18.000000 21.000000 13.000000 7.000000 14.000000\n",
- "mean 149.454289 42.886621 67.845083 110.980085 36.221227\n",
- "std 29.666279 9.327147 46.342331 59.597104 10.473535\n",
- "min 39.135680 14.684940 35.622258 43.877677 17.787287\n",
- "25% 145.706240 38.283121 41.574406 49.335788 30.334967\n",
- "50% 156.687341 45.655289 44.770129 153.360962 36.467988\n",
- "75% 161.919132 48.554117 55.719947 157.051928 42.535006\n",
- "max 177.860294 53.538930 164.536931 166.846524 54.420015"
+ "reps 1 2 3 4 5\n",
+ "count 51.000000 51.000000 51.000000 51.000000 51.000000\n",
+ "mean 259.713741 294.597178 343.654018 291.032167 305.393110\n",
+ "std 87.865540 100.770300 130.162118 99.627124 89.685631\n",
+ "min 94.301400 97.024402 67.752305 75.181111 108.614323\n",
+ "25% 184.403279 226.680500 276.152084 221.593980 250.431581\n",
+ "50% 265.781108 286.636749 349.648610 302.066928 300.051142\n",
+ "75% 333.262718 364.083822 422.723420 359.892169 380.842459\n",
+ "max 440.976880 524.235977 715.201134 479.927612 507.930033"
]
},
"execution_count": 10,
@@ -950,7 +940,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 11,
"metadata": {
"collapsed": false
},
@@ -958,18 +948,18 @@
{
"data": {
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 9,
+ "execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
- "image/png": "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\nI9HrImJdROyVUtoI7AMs391r9Paur3SZqrGOjsn09KyrdRnKGPuFdmafUCH2CxVSar8YLnzXYrHh\nFOBTwOkppRfyzXcDZ+UfnwXcUe26JEmSpD1RixHptwHTgO9GRAvQD7wD+HJEXAgsAW6sQV2SJKnO\nDZw+u/TxVYzfa7qnz6qiarHY8Hrg+gJfOrnatUiSpMbh6bOqNk82lCRJDcHTZ1VtBmlJktQQPH1W\n1WaQliRJDcHTZ1VtBmlJktQQPH1W1VazA1kkSZLKaYfTZzf2MH4vT59VZRmkJUlSw2hrP4S29kM8\nkAV4ZMXj3Ln4HrrXr2RW6wxOmTufI2YeWuuyGopBWpIkqcE8suJxvvLkNwevl/d1D14bpsvHOdKS\nJEkN5s7F9xRsv2vJvVWupLEZpCVJkhpM9/qVBdu7+lZUuZLGZpCWJElqMLNaZxRs72ybWeVKGptB\nWpIkqcGcMnd+wfaT55xU5Uoam4sNJUmSGszAgsK7ltxLV98KOttmcvKck1xoWGYGaUmSpAZ0xMxD\nDc4V5tQOSZIkqQQGaUmSJKkEBmlJkiSpBAZpSZIkqQQGaUmSJKkEBmlJkiSpBAZpSZIkqQQGaUmS\nJKkEBmlJkiSpBAZpSZIkqQQGaUmSJKkEBmlJkiSpBAZpSZIkqQQGaUmSJKkEBmlJkiSpBAZpSZIk\nqQQGaUmSJKkEBmlJkiSpBAZpSZIkqQQGaUmSJKkEBmlJkiSpBAZpSZIkqQQGaUmSJKkEBmlJkiSp\nBAZpSZIkqQQGaUmSJKkEBmlJkiSpBAZpSZIkqQTjal3AUBFxFXA0sA34u5TSIzUuSZIkSSooMyPS\nEXE88IcppWOAvwaurnFJkiRJ0rAyE6SB1wM3A6SUfg3sHRGTaluSJEmSVFiWgvQsoGfI9ap8myRJ\nkpQ5mZojvZOWkb7Y0TF5xK+rMXR0TK51Ccog+4V2Zp9QIfYLFVLOfpGlEenl7DgCPRvoqlEtkiRJ\n0oiyFKTvAs4GiIjDgedSSn21LUmSJEkqrKW/v7/WNQyKiH8BTgC2AhenlH5V45IkSZKkgjIVpCVJ\nkqR6kaWpHZIkSVLdMEhLkiRJJTBIS5IkSSXI8j7SajIRcQi50y2vSildGxH7Al8j94GvCzgvpbS5\nljWquiLiU8BxwFjg34CfYZ9oahHxMuCrwExgL+ATwC+wXwiIiInAE8DHgXuwXzS1iDgB+B65PtEC\n/BL4NGXsF45IKxMiohW4Grh7SPPHgc+llE4AngXOr0Vtqo2IOBE4KKV0DHAq8BlyfeIa+0RT+zPg\nZymlE4G3AVdhv9B2lwOr84/9HSKAH6eU5qeUTkopXUKZ+4VBWlmxgVxYGnoIz4nArfnHtwJvqHJN\nqq37gLfkHz8PtJHbHvOWfJt9ogmllL6bUvqP/OX+wP9ivxAQEQEcCCwkN/p4Av4O0a4nZZ9IGfuF\nUzuUCSmlbcDG3M/BQW1DbresBDqrXphqJqXUD7yUv3w3uV+Op9gnBBARDwD7kBuh/qH9QsCVwMXA\nO/PX/g4RwEERcTMwldxodGs5+4Uj0qoXO3+iVJOIiDeRu/X2PnbsB/aJJpZSOhY4A/gG9oumFxHn\nAT9NKS0Z5in2i+b0DPCxlNKbyX3A+jI7DiKPul8YpJVl6yJir/zjfYDltSxG1RcRpwCXAW9MKa3D\nPtH0IuLw/EJkUkq/JLcQ1X6hBcCbImIRuTtYlwMv2i+aW0ppeUrpe/nHvwO6gfZy9guDtLLsbuCs\n/OOzgDtqWIuqLCKmAJ8CTk8pvZBvtk/oeOBDABExE5hErl+cnf+6/aIJpZTenlI6KqU0D/gSuVv4\n9osmFxHnRMTAz4tZ5Hb7+Qpl7BceEa5MiIjDyc1vmwNsBp4DzgVuJLfF1RLgXSmlrTUrUlUVEe8B\nPgr8htztt37gHeRuzdknmlR+e7MvA/sBE4GPAT8nt52V/UJExEeB3wN3Yr9oahExCfgmsDcwntzP\ni18A/4cy9QuDtCRJklQCp3ZIkiRJJTBIS5IkSSUwSEuSJEklMEhLkiRJJTBIS5IkSSUwSEuSJEkl\nMEhLUpOKiHdHxFdqXYck1SuDtCQ1Nw8TkKQSjat1AZKk0kXECcClwDLgYGAT8EbgHOBCoA9YAbwn\npfRiRPwN8F5gKdA15HVeDfwHud8L44H3pZR+UcVvRZLqjiPSklT/jgYuTSkdA2wF3kruePWTUkrz\nyYXsD0TEFODjwOtSSguA6UNe4+vAhfnnX0zuGG5J0ggckZak+vd0Sml1/vFScgH55yml9fm2H5Mb\nnf5D4Pcppefz7fcCfxIRHUAAX46IlvzXJlWlckmqYwZpSap/W3Zz3UJuLvTAnwPG5v/cCGzIj0ZL\nkork1A5JajyTgddERFv++g3Ag8CzwMsjYkp+5Pn1ACmltcDiiDgVICJeFRGX16BuSaorBmlJaiz9\n5BYRXg78KCJ+TG6qx2fyUzo+CdwP/H/A74f8vXcAl0XEfcBXgLuqWbQk1aOW/n53PpIkSZL2lCPS\nkiRJUgkM0pIkSVIJDNKSJElSCQzSkiRJUgkM0pIkSVIJDNKSJElSCQzSkiRJUgn+f+bDXwWhc5Kn\nAAAAAElFTkSuQmCC\n",
+ "image/png": "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\nGjcAAAAASUVORK5CYII=\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -983,6 +973,69 @@
"#ax.set_ylim((0, 200))"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": []
+ },
{
"cell_type": "code",
"execution_count": null,
@@ -994,22 +1047,23 @@
}
],
"metadata": {
+ "celltoolbar": "Slideshow",
"kernelspec": {
- "display_name": "Python 3",
+ "display_name": "Python 2",
"language": "python",
- "name": "python3"
+ "name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
- "version": 3
+ "version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.4"
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
}
},
"nbformat": 4,
diff --git a/Simulations/latencyTest/omnetpp.ini b/Simulations/latencyTest/omnetpp.ini
index 29d0b43..508480d 100644
--- a/Simulations/latencyTest/omnetpp.ini
+++ b/Simulations/latencyTest/omnetpp.ini
@@ -17,31 +17,41 @@ SN.numNodes = 52
# important wireless channel switch to allow mobility
SN.wirelessChannel.onlyStaticNodes = true
-#SN.wirelessChannel.sigma = 0
-#SN.wirelessChannel.bidirectionalSigma = 0
+SN.wirelessChannel.sigma = 0
+SN.wirelessChannel.bidirectionalSigma = 0
# Choose a radio and set the Tx power to a low value so
-# that node's mobility has a better effect on connectivity
+# that nodes mobility has a better effect on connectivity
SN.node[*].Communication.Radio.RadioParametersFile = "../Parameters/Radio/CC2420.txt"
SN.node[*].Communication.Radio.TxOutputPower = "0dBm"
-
+SN.node[*].Communication.Radio.mode = "IDEAL"
+SN.node[*].Communication.Radio.symbolsForRSSI = 8
SN.node[*].Communication.MACProtocolName = "Mac802154"
SN.node[*].Communication.MAC.enableSlottedCSMA = true
SN.node[*].Communication.MAC.frameOrder = 3
SN.node[*].Communication.MAC.beaconOrder = 3
# parameters to approximate TSCH CSMA-CA
-SN.node[*].Communication.MAC.macMinBE = 2
+SN.node[*].Communication.MAC.macMinBE = 5
SN.node[*].Communication.MAC.macMaxBE = 5
SN.node[*].Communication.MAC.macMaxCSMABackoffs = 3
-SN.node[*].Communication.MAC.unitBackoffPeriod = 20
+SN.node[*].Communication.MAC.unitBackoffPeriod = 40
# PHY-related parameters
SN.node[*].Communication.MAC.phyDataRate = 250
-SN.node[*].Communication.MAC.phyBitsPerSymbol = 4
+SN.node[*].Communication.MAC.phyBitsPerSymbol = 8
+SN.node[*].Communication.MAC.phyDelaySleep2Tx = 0.05
+#where the symbolsForRSSI=8 (default value ...i guess it never changes)
+#bits per symbol =2
+#data rate=250
+#thus phyDelayForValidCS = 0.256 =[8*(8/250)]
+SN.node[*].Communication.MAC.phyDelayForValidCS = 0.256
SN.node[*].Communication.MAC.phyDelayRx2Tx = 0.01
-# for measuring delay, don't limit retransmission, large buffer size
-SN.node[*].Communication.MAC.macMaxFrameRetries = 4
-SN.node[*].Communication.MAC.macBufferSize = 64
-#SN.node[*].Communication.MAC.guardTime = 0.4
+#SN.node[*].Communication.MAC.enableCAP = 1
+
+
+# for measuring delay, dont limit retransmission, large buffer size
+SN.node[*].Communication.MAC.macMaxFrameRetries = 15000
+SN.node[*].Communication.MAC.macBufferSize = 2500
+#SN.node[*].Communication.MAC.guardTime = 2
SN.node[0].Communication.MAC.isFFD = true
SN.node[0].Communication.MAC.isPANCoordinator = true
@@ -56,21 +66,26 @@ SN.node[*].Communication.Radio.maxPhyFrameSize = 100
# node for this app).y packets per second will be send
SN.node[*].ApplicationName = "LatencyTest"
SN.node[*].Application.packet_rate = 1/(15*60)
+SN.node[*].Application.startupDelay = 0
SN.node[*].Application.constantDataPayload = 10
-# application's trace info
+# applications trace info
SN.node[*].Application.collectTraceInfo = true
# tracing at the communication layer
-SN.node[19].Communication.MAC.collectTraceInfo = false
-SN.node[0].Communication.MAC.printStateTransitions = false
-
+#SN.node[2].Communication.MAC.collectTraceInfo = true
+#SN.node[2].Communication.Radio.collectTraceInfo = true
+#SN.node[2].Communication.MAC.printStateTransitions = true
+#SN.node[4].Communication.MAC.collectTraceInfo = true
+#SN.node[4].Communication.Radio.collectTraceInfo = true
+#SN.node[4].Communication.MAC.printStateTransitions = true
# Nodes are moving, so seeing their location may be useful
# SN.node[*].MobilityManager.collectTraceInfo = true
SN.node[0].xCoor = 1.25
SN.node[0].yCoor = 10
SN.node[0].zCoor = 2
-SN.deployment = "[1..51]->randomized_3x17"
+#SN.deployment = "[1..51]->randomized_3x17"
+SN.deployment = "[1..5]->randomized_3x17"
SN.node[*].MobilityManagerName = "NoMobilityManager"
diff --git a/src/node/application/latencyTest/LatencyTest.cc b/src/node/application/latencyTest/LatencyTest.cc
index 649e789..3f4dee2 100644
--- a/src/node/application/latencyTest/LatencyTest.cc
+++ b/src/node/application/latencyTest/LatencyTest.cc
@@ -12,7 +12,9 @@ void LatencyTest::startup()
dataSN = 0;
if (packet_spacing > 0 && recipientAddress.compare(SELF_NETWORK_ADDRESS) != 0)
- setTimer(SEND_PACKET, exponential(packet_spacing) + startupDelay);
+ //setTimer(SEND_PACKET, exponential(packet_spacing) + startupDelay);
+ //Changed Muratg
+ setTimer(SEND_PACKET, packet_spacing + startupDelay);
else
trace() << "Not sending packets";
@@ -43,7 +45,9 @@ void LatencyTest::timerFiredCallback(int index)
trace() << "Sending packet #" << dataSN;
toNetworkLayer(createGenericDataPacket(0, dataSN), par("nextRecipient"));
dataSN++;
- setTimer(SEND_PACKET, exponential(packet_spacing));
+ //setTimer(SEND_PACKET, exponential(packet_spacing));
+ //Changed Muratg
+ setTimer(SEND_PACKET, packet_spacing);
break;
}
}
diff --git a/src/node/communication/mac/mac802154/Mac802154.cc b/src/node/communication/mac/mac802154/Mac802154.cc
index 19b5e25..356b4da 100644
--- a/src/node/communication/mac/mac802154/Mac802154.cc
+++ b/src/node/communication/mac/mac802154/Mac802154.cc
@@ -238,8 +238,8 @@ void Mac802154::timerFiredCallback(int index)
}
case START_SLEEPING:{
- setMacState(MAC_STATE_SLEEP);
- toRadioLayer(createRadioCommand(SET_STATE, SLEEP));
+ //setMacState(MAC_STATE_SLEEP);
+ //toRadioLayer(createRadioCommand(SET_STATE, SLEEP));
break;
}
}
@@ -457,8 +457,8 @@ void Mac802154::fromRadioLayer(cPacket * pkt, double rssi, double lqi)
// then we start sleeping right after CAP ends
setTimer(START_SLEEPING, CAPend);
} else {
- setMacState(MAC_STATE_SLEEP);
- toRadioLayer(createRadioCommand(SET_STATE, SLEEP));
+ //setMacState(MAC_STATE_SLEEP);
+ //toRadioLayer(createRadioCommand(SET_STATE, SLEEP));
}
if (GTSstart != 0 && (!enableCAP || GTSstart != CAPend))
// if GTS slot exists and does not start after CAP (or CAP is disabled)
@@ -631,8 +631,8 @@ void Mac802154::handleAckPacket(Mac802154Packet * rcvPacket)
if (enableCAP) {
attemptTransmission("GTS request granted");
} else {
- setMacState(MAC_STATE_SLEEP);
- toRadioLayer(createRadioCommand(SET_STATE, SLEEP));
+ //setMacState(MAC_STATE_SLEEP);
+ //toRadioLayer(createRadioCommand(SET_STATE, SLEEP));
}
break;
}
@@ -701,6 +701,9 @@ void Mac802154::attemptTransmission(const char * descr)
ackWaitDuration + TX_TIME(nextPacket->getByteLength()));
return;
}
+ else{
+ trace() << "No packet in buffer";
+ }
setMacState(MAC_STATE_IDLE);
}
@@ -831,7 +834,7 @@ int Mac802154::collectPacketState(const char *s)
} else {
nextPacketState = s;
}
- //packetBreak[nextPacketState]++;
+ packetBreak[nextPacketState]++;
return 1;
}
return 0;