GithubHelp home page GithubHelp logo

neuromorphicsystems / sgp4 Goto Github PK

View Code? Open in Web Editor NEW
59.0 6.0 18.0 213 KB

A Rust implementation of the SGP4 satellite propagation algorithm

Home Page: https://crates.io/crates/sgp4

License: MIT License

Rust 100.00%
omm sgp4 sdp4 tle

sgp4's People

Contributors

amarcireau avatar armavica avatar berke avatar dynamite-bud avatar elouanpetereau avatar mahran-sayed avatar mateder avatar tjerand-bjornsen-ksat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sgp4's Issues

AeroRust's "Are we in space yet?" catalogue and `no_std` support

Hello,
I'm the community manager of the AeroRust community and while researching different crates for orbital determination and propagation I landed on your project.

We have an ongoing effort to create a catalogue of crates related to aerospace.
I'd love to see sgp4 added to the Are we in space yet? catalogue - https://aerorust.org/catalogue/.
You can find sgp4 and other crates for addition to the website here - AeroRust/AeroRust.github.io#6
The categories are still a Work in progress and any additions/alterations are welcome.

On another note, I would love to see whether no_std is possible for the sgp4 crate at this stage and if all dependencies are needed to minimise the crate size for use in embedded.

Support converting `Prediction` from TEME reference frame to J2000

This may be out of scope for this crate.

Currently, the Prediction output produces Cartesian coordinates in the TEME reference frame, whilst most other calculation and interfaces surrounding space calculations work with the J2000 earth centered inertial (commonly known as EME2000) reference frame.

It would be desirable to have a rust-equivalent implementation of performing the correct reference frame conversion. As stated, this may be out of scope for this crate.

A reference to this conversion and applicability of it is discussion in AIAA 2006 rev 3, Appendix C

Broken `no_std` support

Hi,

I am using your crate as part as a no_std project without any default-features and only the libm feature.
I wanted to update my dependencies to the latest version of your crate (2.0) but it seems that it is not no_std ready anymore since you added the thiserror dependency.

Are you aware of this problem and, if not, do you plan to keep the support of no_std for your crate?

Here is the result of a build with the --no-default-features --features libm arguments:

    Checking sgp4 v2.0.0 (/home/elouan/Workspaces/Git_Workspace/sgp4)
error[E0433]: failed to resolve: use of undeclared crate or module `std`
 --> src/gp.rs:3:1
  |
3 | pub enum Error {
  | ^^^ use of undeclared crate or module `std`
  |
help: consider importing this module
  |
1 + use core::error;
  |
help: if you import `error`, refer to it directly
  |
3 | pub enum Error {
  |

error[E0433]: failed to resolve: use of undeclared crate or module `std`
  --> src/tle.rs:17:1
   |
17 | pub enum ErrorWhat {
   | ^^^ use of undeclared crate or module `std`
   |
help: consider importing this module
   |
1  + use core::error;
   |
help: if you import `error`, refer to it directly
   |
17 | pub enum ErrorWhat {
   |

error[E0433]: failed to resolve: use of undeclared crate or module `std`
  --> src/tle.rs:60:1
   |
60 | pub enum ErrorLine {
   | ^^^ use of undeclared crate or module `std`
   |
help: consider importing this module
   |
1  + use core::error;
   |
help: if you import `error`, refer to it directly
   |
60 | pub enum ErrorLine {
   |

error[E0433]: failed to resolve: use of undeclared crate or module `std`
  --> src/tle.rs:74:1
   |
74 | pub struct Error {
   | ^^^ use of undeclared crate or module `std`
   |
help: consider importing this module
   |
1  + use core::error;
   |
help: if you import `error`, refer to it directly
   |
74 | pub struct Error {
   |

error[E0433]: failed to resolve: use of undeclared crate or module `std`
   --> src/tle.rs:501:1
    |
501 | pub struct DatetimeToMinutesSinceEpochError {
    | ^^^ use of undeclared crate or module `std`
    |
help: consider importing this module
    |
1   + use core::error;
    |
help: if you import `error`, refer to it directly
    |
501 | pub struct DatetimeToMinutesSinceEpochError {
    |

error[E0433]: failed to resolve: use of undeclared crate or module `std`
   --> src/tle.rs:511:1
    |
511 | pub enum MinutesSinceEpochToDatetimeError {
    | ^^^ use of undeclared crate or module `std`
    |
help: consider importing this module
    |
1   + use core::error;
    |
help: if you import `error`, refer to it directly
    |
511 | pub enum MinutesSinceEpochToDatetimeError {
    |

error[E0433]: failed to resolve: use of undeclared crate or module `std`
  --> src/lib.rs:90:1
   |
90 | pub enum KozaiElementsError {
   | ^^^ use of undeclared crate or module `std`
   |
help: consider importing this module
   |
49 + use core::error;
   |
help: if you import `error`, refer to it directly
   |
90 | pub enum KozaiElementsError {
   |

error[E0433]: failed to resolve: use of undeclared crate or module `std`
   --> src/lib.rs:101:1
    |
101 | pub struct OutOfRangeEpochEccentricity(pub f64);
    | ^^^ use of undeclared crate or module `std`
    |
help: consider importing this module
    |
49  + use core::error;
    |
help: if you import `error`, refer to it directly
    |
101 | pub struct OutOfRangeEpochEccentricity(pub f64);
    |

error[E0433]: failed to resolve: use of undeclared crate or module `std`
   --> src/lib.rs:105:1
    |
105 | pub enum ElementsError {
    | ^^^ use of undeclared crate or module `std`
    |
help: consider importing this module
    |
49  + use core::error;
    |
help: if you import `error`, refer to it directly
    |
105 | pub enum ElementsError {
    |

error[E0433]: failed to resolve: use of undeclared crate or module `std`
   --> src/lib.rs:104:10
    |
104 | #[derive(thiserror::Error, Debug, Clone)]
    |          ^^^^^^^^^^^^^^^^ use of undeclared crate or module `std`
    |
    = note: this error originates in the derive macro `thiserror::Error` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider importing this module
    |
49  + use core::error;
    |
help: if you import `error`, refer to it directly
    |
104 | #[derive(thiserror::Error, Debug, Clone)]
    |

For more information about this error, try `rustc --explain E0433`.
error: could not compile `sgp4` (lib) due to 10 previous errors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.