LiIonEnergySourceHelper liIonSrcHelper;
liIonSrcHelper.Set ("LiIonEnergySourceInitialEnergyJ", DoubleValue (1000.0));
EnergySourceContainer sources = liIonSrcHelper.Install (wifiNodes);
WifiRadioEnergyModelHelper radioEnergyHelper;
DeviceEnergyModelContainer wifideviceModels = radioEnergyHelper.Install (wifiNet1Devices, sources);
// ...
Ptr<LiIonEnergySource> liIonSourcePtr = DynamicCast<LiIonEnergySource> (sources.Get (1));
liIonSourcePtr->TraceConnectWithoutContext ("RemainingEnergy", MakeCallback (&RemainingEnergy));
Ptr<DeviceEnergyModel> liIonRadioModelPtr = liIonSourcePtr->FindDeviceEnergyModels ("ns3::WifiRadioEnergyModel").Get (0);
NS_ASSERT (liIonRadioModelPtr != NULL);
liIonRadioModelPtr->TraceConnectWithoutContext ("TotalEnergyConsumption", MakeCallback (&TotalEnergy));
void
RemainingEnergy (double oldValue, double remainingEnergy) {
NS_LOG_UNCOND (Simulator::Now ().GetSeconds () << " s Current remaining energy = " << remainingEnergy << " J");
}
void
TotalEnergy (double oldValue, double totalEnergy) {
NS_LOG_UNCOND (Simulator::Now ().GetSeconds () << " s Total energy consumed by radio = " << totalEnergy << " J");
}
ns3::Ptr<ns3::Node> node = ns3::NodeList::GetNode(ns3::Simulator::GetContext());
Ptr<EnergySourceContainer> EnergySourceContainerOnNode = node->GetObject<EnergySourceContainer> ();
if (EnergySourceContainerOnNode == NULL)
{
std::cout << "Node Id: " << node->GetId () << " EnergySourceContainerOnNode == NULL"<< std::endl;
}else
{
Ptr<LiIonEnergySource> es = DynamicCast<LiIonEnergySource> (EnergySourceContainerOnNode->Get(0));
std::cout << "At " << Simulator::Now ().GetSeconds () << " Node Id: " << node->GetId ()
<< " Remaining Capacity: " << es->GetRemainingEnergy () / (3.6 * 3600) << " Ah" << std::endl;
}
--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/OfKhWL3JUEc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+...@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.
Good day Thiago:
Ptr<BasicEnergySource> basicSourcePtr = DynamicCast<BasicEnergySource>(p->GetNode ()->GetObject<EnergySourceContainer>()->Get(0)); NS_ASSERT (basicSourcePtr != NULL); basicSourcePtr->TraceConnect ("RemainingEnergy",PrintID(p->GetNode ()), MakeCallback (&RemainingEnergyTrace));
%INFO: TimeStamp: 60.988 segs Node: ID: 97 Current Remaining energy = 54.1867 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 69 Current Remaining energy = 54.366 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 75 Current Remaining energy = 54.9593 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 3 Current Remaining energy = 53.0506 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 38 Current Remaining energy = 52.698 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 76 Current Remaining energy = 53.2712 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 54 Current Remaining energy = 52.6771 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 22 Current Remaining energy = 52.641 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 47 Current Remaining energy = 55.0897 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 16 Current Remaining energy = 52.896 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 43 Current Remaining energy = 53.0377 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 49 Current Remaining energy = 55.104 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 61 Current Remaining energy = 55.0461 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 89 Current Remaining energy = 55.5411 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 26 Current Remaining energy = 54.9403 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 63 Current Remaining energy = 53.2001 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 90 Current Remaining energy = 53.2118 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 8 Current Remaining energy = 55.4874 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 42 Current Remaining energy = 56.2636 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 57 Current Remaining energy = 55.0819 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 48 Current Remaining energy = 53.6125 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 55 Current Remaining energy = 52.7304 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 13 Current Remaining energy = 56.2103 Joules%INFO: TimeStamp: 60.988 segs Node: ID: 68 Current Remaining energy = 53.0735 Joules%INFO: TimeStamp: 60.9884 segs Node: ID: 97 Current Remaining energy = 54.1867 Joules%INFO: TimeStamp: 60.9884 segs Node: ID: 69 Current Remaining energy = 54.3659 Joules