29 #include <ns3/core-module.h>
30 #include <ns3/lr-wpan-module.h>
31 #include <ns3/propagation-loss-model.h>
32 #include <ns3/propagation-delay-model.h>
33 #include <ns3/simulator.h>
34 #include <ns3/single-model-spectrum-channel.h>
35 #include <ns3/constant-position-mobility-model.h>
36 #include <ns3/packet.h>
59 int main (
int argc,
char *argv[])
65 cmd.
AddValue (
"verbose",
"turn on all log components", verbose);
67 cmd.
Parse (argc, argv);
95 dev0->SetChannel (channel);
96 dev1->SetChannel (channel);
100 n1->AddDevice (dev1);
108 dev0->GetPhy ()->SetMobility (sender0Mobility);
112 dev1->GetPhy ()->SetMobility (sender1Mobility);
116 dev0->GetMac ()->SetMcpsDataConfirmCallback (cb0);
120 dev0->GetMac ()->SetMcpsDataIndicationCallback (cb1);
124 dev1->GetMac ()->SetMcpsDataConfirmCallback (cb2);
128 dev1->GetMac ()->SetMcpsDataIndicationCallback (cb3);
131 lrWpanHelper.
EnablePcapAll (std::string (
"lr-wpan-data"),
true);
143 params.m_dstPanId = 0;
145 params.m_msduHandle = 0;
150 dev0->GetMac (), params, p0);
157 dev1->GetMac (), params, p2);
Simulation virtual time values and global simulation resolution.
Manage ASCII trace files for device models.
static void Run(void)
Run the simulation until one of:
static void StateChangeNotification(std::string context, Time now, LrWpanPhyEnumeration oldState, LrWpanPhyEnumeration newState)
uint32_t GetSize(void) const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
Ptr< OutputStreamWrapper > CreateFileStream(std::string filename, std::ios::openmode filemode=std::ios::out)
Create and initialize an output stream object we'll use to write the traced bits. ...
virtual void AddPropagationLossModel(Ptr< PropagationLossModel > loss)
set the single-frequency propagation loss model to be used
int main(int argc, char *argv[])
void McpsDataRequest(McpsDataRequestParams params, Ptr< Packet > p)
IEEE 802.15.4-2006, section 7.1.1.1 MCPS-DATA.request Request to transfer a MSDU. ...
double GetSeconds(void) const
static void DataIndication(McpsDataIndicationParams params, Ptr< Packet > p)
void EnablePcapAll(std::string prefix, bool promiscuous=false)
Enable pcap output on each device (which is of the appropriate type) in the set of all nodes created ...
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
static void ScheduleWithContext(uint32_t context, Time const &time, MEM mem_ptr, OBJ obj)
Schedule an event with the given context.
Parse command-line arguments.
static void Destroy(void)
Every event scheduled by the Simulator::insertAtDestroy method is invoked.
LrWpanMcpsDataConfirmStatus m_status
LrWpanAddressMode m_srcAddrMode
#define NS_LOG_UNCOND(msg)
Output the requested message unconditionaly.
This class can contain 16 bit addresses.
void SetPosition(const Vector &position)
uint32_t AddDevice(Ptr< NetDevice > device)
void AddValue(const std::string &name, const std::string &help, T &value)
Add a program argument, assigning to POD.
virtual void SetPropagationDelayModel(Ptr< PropagationDelayModel > delay)
set the propagation delay model to be used
void Parse(int argc, char *argv[])
Parse the program arguments.
void EnableAsciiAll(std::string prefix)
Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes c...
helps to manage and create IEEE 802.15.4 NetDevice objects
void EnableLogComponents(void)
Helper to enable all LrWpan log components with one statement.
static void DataConfirm(McpsDataConfirmParams params)
static std::string LrWpanPhyEnumerationPrinter(LrWpanPhyEnumeration)
LrWpanPhyEnumeration
IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3.