summaryrefslogtreecommitdiff
path: root/ns3-simulator/modules/energy.cc
diff options
context:
space:
mode:
authorLoic Guegan <manzerberdes@gmx.com>2019-04-12 13:52:06 +0200
committerLoic Guegan <manzerberdes@gmx.com>2019-04-12 13:52:06 +0200
commit927283437161307a23a954b42297412ba03a619c (patch)
tree38c0abc5ae8df4edd428b3662d733882d76ebdf3 /ns3-simulator/modules/energy.cc
parent23e8f7f688da3df8d5b4d47e881865717141325c (diff)
Init final simulator source
Diffstat (limited to 'ns3-simulator/modules/energy.cc')
-rw-r--r--ns3-simulator/modules/energy.cc51
1 files changed, 51 insertions, 0 deletions
diff --git a/ns3-simulator/modules/energy.cc b/ns3-simulator/modules/energy.cc
new file mode 100644
index 0000000..b07c835
--- /dev/null
+++ b/ns3-simulator/modules/energy.cc
@@ -0,0 +1,51 @@
+
+#include "modules.hpp"
+
+void setupEnergy(Cell cell){
+ NodeContainer nodes(cell.first.first,cell.first.second);
+ NetDeviceContainer nodesNetDev(cell.second.first,cell.second.second);
+
+ // Install energy source
+ BasicEnergySourceHelper edgeBasicSourceHelper;
+ edgeBasicSourceHelper.Set ("BasicEnergySourceInitialEnergyJ", DoubleValue (2.9009));
+ edgeBasicSourceHelper.Set ("BasicEnergySupplyVoltageV", DoubleValue (3.3));
+ EnergySourceContainer apEdgeNodesSources = edgeBasicSourceHelper.Install (cell.first.first);
+ EnergySourceContainer wifiEdgeNodesSources = edgeBasicSourceHelper.Install (cell.first.second);
+
+ // Install device energy model
+ WifiRadioEnergyModelHelper radioEnergyHelper;
+ radioEnergyHelper.Set ("TxCurrentA", DoubleValue (0.38));
+ radioEnergyHelper.Set ("RxCurrentA", DoubleValue (0.313));
+ radioEnergyHelper.Set ("IdleCurrentA", DoubleValue (0.273));
+ DeviceEnergyModelContainer edgeApDeviceModels = radioEnergyHelper.Install (cell.second.first, apEdgeNodesSources);
+ DeviceEnergyModelContainer edgeDeviceModels = radioEnergyHelper.Install (cell.second.second, wifiEdgeNodesSources);
+
+
+ // Trace
+ DeviceEnergyModelContainer energyModels(edgeApDeviceModels, edgeDeviceModels);
+ DeviceEnergyModelContainer::Iterator it=energyModels.Begin();
+
+ int i=0;
+ while(it!=energyModels.End()){
+ (*it)->TraceConnect ("TotalEnergyConsumption", std::to_string(i),MakeCallback (&EnergyUpdated));
+ it++;
+ i++;
+ }
+
+
+
+
+ // Ptr<BasicEnergySource> basicSourcePtr0 = DynamicCast<BasicEnergySource> (wifiEdgeNodesSources.Get (0));
+
+ // //basicSourcePtr0->TraceConnectWithoutContext ("RemainingEnergy", MakeCallback (&RemainingEnergy));
+ // //device energy model
+
+ // Ptr<DeviceEnergyModel> basicRadioModelPtr0 =
+ // basicSourcePtr0->FindDeviceEnergyModels ("ns3::WifiRadioEnergyModel").Get (0);
+
+ // NS_ASSERT (basicRadioModelPtr0 != NULL);
+ // basicRadioModelPtr0->TraceConnectWithoutContext ("TotalEnergyConsumption", MakeCallback (&TotalEnergy));
+
+
+}
+