21 #include "ns3/uan-net-device.h"
22 #include "ns3/uan-channel.h"
23 #include "ns3/uan-mac-aloha.h"
24 #include "ns3/uan-phy-gen.h"
25 #include "ns3/uan-transducer-hd.h"
26 #include "ns3/uan-prop-model-ideal.h"
27 #include "ns3/constant-position-mobility-model.h"
28 #include "ns3/simulator.h"
31 #include "ns3/object-factory.h"
32 #include "ns3/pointer.h"
33 #include "ns3/callback.h"
42 virtual void DoRun (
void);
46 uint32_t DoOnePhyTest (
Time t1,
Time t2, uint32_t r1, uint32_t r2,
Ptr<UanPropModel> prop, uint32_t mode1 = 0, uint32_t mode2 = 0);
86 mobility->SetPosition (pos);
87 node->AggregateObject (mobility);
88 mac->SetAddress (UanAddress::Allocate ());
92 dev->SetChannel (chan);
93 dev->SetTransducer (trans);
94 node->AddDevice (dev);
123 Simulator::Stop (Seconds (20.0));
125 Simulator::Destroy ();
136 UanTxMode mode = UanTxModeFactory::CreateMode (UanTxMode::FSK, 80, 80, 10000, 4000, 2,
"TestMode");
143 m_phyFac.
Set (
"SupportedModes", UanModesListValue (mList));
149 34,
"Should have received 34 bytes from 2 disjoint packets");
153 0,
"Expected collision resulting in loss of both packets");
161 m_phyFac.
Set (
"SupportedModes", UanModesListValue (mList));
163 #ifdef UAN_PROP_BH_INSTALLED
165 #endif // UAN_PROP_BH_INSTALLED
169 34,
"Should have received 34 bytes from 2 disjoint packets");
173 17,
"Should have recieved 17 bytes from first arriving packet");
177 0,
"Packets should collide, but received data");
180 UanTxMode mode00 = UanTxModeFactory::CreateMode (UanTxMode::FSK, 80, 80, 10000, 4000, 2,
"TestMode00");
181 UanTxMode mode10 = UanTxModeFactory::CreateMode (UanTxMode::FSK, 80, 80, 11000, 4000, 2,
"TestMode10");
182 UanTxMode mode20 = UanTxModeFactory::CreateMode (UanTxMode::FSK, 80, 80, 15000, 4000, 2,
"TestMode20");
183 UanTxMode mode01 = UanTxModeFactory::CreateMode (UanTxMode::FSK, 80, 80, 10000, 4000, 2,
"TestMode01");
184 UanTxMode mode11 = UanTxModeFactory::CreateMode (UanTxMode::FSK, 80, 80, 11000, 4000, 2,
"TestMode11");
185 UanTxMode mode21 = UanTxModeFactory::CreateMode (UanTxMode::FSK, 80, 80, 15000, 4000, 2,
"TestMode21");
198 m_phyFac.
Set (
"SupportedModesPhy1", UanModesListValue (m0));
199 m_phyFac.
Set (
"SupportedModesPhy2", UanModesListValue (m1));
203 34,
"Expected no collision");
206 0,
"Expected collision with both packets lost");
209 17,
"Expected collision with only one packets lost");
212 34,
"Expected no collision");
215 34,
"Expected no collision");
226 double error = per->
CalcPer (pkt, 9, UanPhyGen::GetDefaultModes ()[0]);
229 #ifdef UAN_PROP_BH_INSTALLED
232 BellhopResp resp = propBh->GetResp (10000, 50, 50, 1000);
238 #endif // UAN_PROP_BH_INSTALLED