Compare commits

...

4 commits
v0.1 ... main

Author SHA1 Message Date
Tim Schubert
2cde1ba266
Fix fallback to hardcoded orbits 2020-09-19 11:39:47 +02:00
Tim Schubert
a82e22aab7
Fix an error that causes 2*pi*1000 times too fast movement 2020-09-18 15:22:56 +02:00
Tim Schubert
54709ae1fb
Fix orbit definitions 2020-09-18 15:22:45 +02:00
Tim Schubert
0a7f41818d
Fix fallback to hardcoded orbits
If orbitFile was defined a fallback was made to hardcoded orbits.
2020-09-18 15:21:19 +02:00
6 changed files with 14 additions and 6 deletions

5
data/orbits/starlink.csv Normal file
View file

@ -0,0 +1,5 @@
1150.0:53.0:32:50
1110.0:53.8:32:50
1130.0:74.0:8:50
1275.0:81.0:5:75
1325.0:70.0:6:75
1 1150.0:53.0:32:50
2 1110.0:53.8:32:50
3 1130.0:74.0:8:50
4 1275.0:81.0:5:75
5 1325.0:70.0:6:75

2
data/orbits/telesat.csv Normal file
View file

@ -0,0 +1,2 @@
1000.0:99.5:6:12
1248.0:37.4:5:9
1 1000.0:99.5:6:12
2 1248.0:37.4:5:9

View file

@ -84,7 +84,7 @@ int main (int argc, char *argv[])
LeoOrbitNodeHelper orbit; LeoOrbitNodeHelper orbit;
NodeContainer satellites; NodeContainer satellites;
if (orbitFile.empty()) if (!orbitFile.empty())
{ {
satellites = orbit.Install (orbitFile); satellites = orbit.Install (orbitFile);
} }

View file

@ -38,7 +38,7 @@ int main(int argc, char *argv[])
CommandLine cmd; CommandLine cmd;
std::string orbitFile; std::string orbitFile;
std::string traceFile; std::string traceFile;
double duration = 60; std::string duration = "60s";
cmd.AddValue("orbitFile", "CSV file with orbit parameters", orbitFile); cmd.AddValue("orbitFile", "CSV file with orbit parameters", orbitFile);
cmd.AddValue("traceFile", "CSV file to store mobility trace in", traceFile); cmd.AddValue("traceFile", "CSV file to store mobility trace in", traceFile);
cmd.AddValue("precision", "ns3::LeoCircularOrbitMobilityModel::Precision"); cmd.AddValue("precision", "ns3::LeoCircularOrbitMobilityModel::Precision");
@ -47,7 +47,7 @@ int main(int argc, char *argv[])
LeoOrbitNodeHelper orbit; LeoOrbitNodeHelper orbit;
NodeContainer satellites; NodeContainer satellites;
if (orbitFile.empty()) if (!orbitFile.empty())
{ {
satellites = orbit.Install (orbitFile); satellites = orbit.Install (orbitFile);
} }
@ -71,7 +71,7 @@ int main(int argc, char *argv[])
std::cout << "Time,Satellite,x,y,z,Speed" << std::endl; std::cout << "Time,Satellite,x,y,z,Speed" << std::endl;
Simulator::Stop (Seconds (duration)); Simulator::Stop (Time (duration));
Simulator::Run (); Simulator::Run ();
Simulator::Destroy (); Simulator::Destroy ();

View file

@ -136,7 +136,7 @@ int main (int argc, char *argv[])
LeoOrbitNodeHelper orbit; LeoOrbitNodeHelper orbit;
NodeContainer satellites; NodeContainer satellites;
if (orbitFile.empty()) if (!orbitFile.empty())
{ {
satellites = orbit.Install (orbitFile); satellites = orbit.Install (orbitFile);
} }

View file

@ -123,7 +123,8 @@ LeoCircularOrbitMobilityModel::GetProgress (Time t) const
{ {
sign = -1; sign = -1;
} }
return sign * (2 * M_PI * ((GetSpeed () * t.GetSeconds ()) / LEO_EARTH_RAD_KM)) + m_offset; // 2pi * (distance travelled / circumference of earth) + offset
return sign * (((GetSpeed () * t.GetSeconds ()) / (LEO_EARTH_RAD_KM * 1000))) + m_offset;
} }
Vector3D Vector3D