Ptr<Node> thisNode = m_ipv4->GetObject<Node>(); //as in the first line of aodv-routing-protocol.cc
Ptr<EnergySourceContainer> EnergySourceContrainerOnNode = thisNode->GetObject<EnergySourceContainer> (); Ptr<DeviceEnergyModelContainer> thisDeviceEnergyContainer = thisNode->GetObject<DeviceEnergyModelContainer>(); Ptr<DeviceEnergyModel> thisDeviceEnergyModel = DynamicCast<DeviceEnergyModel> (thisDeviceEnergyContainer->Get(0)); thisDeviceEnergyModel->ChangeState(**SleepState here**); Ptr<Node> thisNode = m_ipv4->GetObject<Node>();Thank you very much
//Setting wifiRadio consumption to 0 Ptr<Node> thisNode = m_ipv4->GetObject<Node>(); Ptr<EnergySourceContainer> EnergySourceContrainerOnNode = thisNode->GetObject<EnergySourceContainer> (); Ptr<BasicEnergySource> basicSourcePtr = DynamicCast<BasicEnergySource> (EnergySourceContrainerOnNode->Get(0)); Ptr<DeviceEnergyModel> basicRadioModelPtr = basicSourcePtr->FindDeviceEnergyModels ("ns3::WifiRadioEnergyModel").Get (0); basicRadioModelPtr->SetAttribute("RxCurrentA", DoubleValue (0.0)); basicRadioModelPtr->SetAttribute("TxCurrentA", DoubleValue (0.0)); basicRadioModelPtr->SetAttribute("IdleCurrentA", DoubleValue (0.0)); basicRadioModelPtr->SetAttribute("CcaBusyCurrentA", DoubleValue (0.0)); //Set Interface DOWN m_ipv4->SetDown(1);