diff --git a/examples/leo-delay-tracing-example.cc b/examples/leo-delay-tracing-example.cc index 0cda989..c0d66f4 100644 --- a/examples/leo-delay-tracing-example.cc +++ b/examples/leo-delay-tracing-example.cc @@ -45,8 +45,12 @@ public: int main (int argc, char *argv[]) { std::vector orbits = { - Orbit (1150, 53.0, 32, 50), - Orbit (1110, 53.8, 32, 50), + //Orbit (1000.0, 99.5, 6, 12), + //Orbit (1248.0, 37.4, 5, 9), +Orbit (1150, 53.0, 32, 50), +Orbit (1110, 53.8, 32, 50), +// Orbit (1150, 53.0, 32, 50), + // Orbit (1110, 53.8, 32, 50), }; NodeContainer satellites; for (Orbit orb: orbits) @@ -78,12 +82,12 @@ int main (int argc, char *argv[]) islNet = islCh.Install (satellites); LeoChannelHelper utCh; - utCh.SetConstellation ("TelesatUser"); + utCh.SetConstellation ("StarlinkUser"); utNet = utCh.Install (satellites, stations); // Install internet stack on nodes AodvHelper aodv; - // This is far better for performance (huge network) + // This disabled is far better for performance (huge network) aodv.Set ("EnableHello", BooleanValue (false)); //aodv.Set ("HelloInterval", TimeValue (Seconds (10))); //aodv.Set ("TtlStart", UintegerValue (2)); @@ -121,7 +125,7 @@ int main (int argc, char *argv[]) ApplicationContainer clientApps; Address remote = server->GetObject ()->GetAddress (1, 0).GetLocal (); UdpClientHelper echoClient (remote, 9); - echoClient.SetAttribute ("MaxPackets", UintegerValue (60)); + echoClient.SetAttribute ("MaxPackets", UintegerValue (6000)); echoClient.SetAttribute ("Interval", TimeValue (Seconds (1))); echoClient.SetAttribute ("PacketSize", UintegerValue (1024)); clientApps.Add (echoClient.Install (client)); @@ -136,8 +140,6 @@ int main (int argc, char *argv[]) serverApps.Start (Seconds (1)); clientApps.Start (Seconds (1)); - serverApps.Stop (Minutes (1)); - clientApps.Stop (Minutes (1)); Simulator::Stop (Minutes (10)); Simulator::Run (); diff --git a/helper/leo-channel-helper.cc b/helper/leo-channel-helper.cc index e861bdd..9364d5f 100644 --- a/helper/leo-channel-helper.cc +++ b/helper/leo-channel-helper.cc @@ -33,6 +33,7 @@ LeoChannelHelper::LeoChannelHelper () m_satDeviceFactory.Set ("DeviceType", EnumValue (LeoMockNetDevice::SAT)); m_channelFactory.SetTypeId ("ns3::LeoMockChannel"); + m_channelFactory.Set ("PropagationDelay", StringValue ("ns3::ConstantSpeedPropagationDelayModel")); m_propagationLossFactory.SetTypeId ("ns3::LeoPropagationLossModel"); diff --git a/model/isl-propagation-loss-model.cc b/model/isl-propagation-loss-model.cc index b0d9f4e..1f1111a 100644 --- a/model/isl-propagation-loss-model.cc +++ b/model/isl-propagation-loss-model.cc @@ -22,7 +22,7 @@ IslPropagationLossModel::GetTypeId (void) .AddConstructor () .AddAttribute ("MaxDistance", "Cut-off distance for signal propagation", - DoubleValue (1000.0), + DoubleValue (2000.0), MakeDoubleAccessor (&IslPropagationLossModel::SetCutoffDistance, &IslPropagationLossModel::GetCutoffDistance), MakeDoubleChecker ()) @@ -41,6 +41,8 @@ IslPropagationLossModel::~IslPropagationLossModel () bool IslPropagationLossModel::GetLos (Ptr moda, Ptr modb) { + // TODO get max distance with line-sphere intersection + // origin of LOS Vector3D oc = moda->GetPosition (); Vector3D bp = modb->GetPosition ();