-
-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Read SPK files directly #36
Read SPK files directly #36
Conversation
Use the dev-env-setup.sh script to install CSPICE on Linux Exhaustive tests show some errors to be very large (0.1 meters), and I'm not sure why Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Lots of refactoring that helps me understand where things live Two important tasks coming up: 1. Add a Cartesian State type 2. Copy the Orbit type from Nyx 3. Change the SPICE reading to not use any allocation so that an ANISE structure can be built and used without creating a file. Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Will now write the API to build frames Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
MAX TRAJ seems to be limited to 31 items. That is probably not large enough to be usable. Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Co-authored-by: Chris de Claverie <c.de-claverie@protonmail.com> Co-authored-by: Grégoire Henry <greg.henry@mail.com> Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
I actually can't believe this works, but this is FANTASTIC! I'll implement this for all of the other types, and that should significantly reduce stack size Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
I don't know how to allow a Vec to move into a large lifetime... There is a big issue when building a DataArray: we don't know how many items exist, so we need an allocator. If the solution is to allow for allocs when building, that's OK, but then we can't easily read data from SPICE without allocating before reading. The only good thing here is that we use very little stack space for passing the data around Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Can now correctly parse PCK summaries! Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Almost done with Hermite unequal step, I think. Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Co-authored-by: Chris de Claverie <c.de-claverie@protonmail.com> Co-authored-by: Grégoire Henry <greg.henry@mail.com> Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
I'm likely taking one too many or one too few samples causing the interpolation to be slightly off. Added a bunch of debugging messages Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
My algorithm to build the polynomial is probably wrong. Although it works perfectly for the example of SPICE Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
The reference does not exactly use divided differences but it obviously leads to more precise computation Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Works, when using exactly the same algorithm as SPICE. Validation of a GMAT-generated SPK file, sampled 999 times over 3h 20 mins:
|
Eventually, I'll remove F64TupleArray Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Eventually, I'll remove F64TupleArray Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
…-anise-file-equivalent' of github.com:anise-toolkit/anise.rs into 30-spice-bsp-files-should-be-usable-without-needing-the-anise-file-equivalent
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Hopefully this also stores the artifacts, but I'm not sure this will work Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
Might add it back latter if we have a need for custom serialization. This work removes all custom serialization
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #36 +/- ##
=========================================
Coverage ? 30.15%
=========================================
Files ? 37
Lines ? 2557
Branches ? 0
=========================================
Hits ? 771
Misses ? 1786
Partials ? 0 Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
…-anise-file-equivalent' of github.com:anise-toolkit/anise.rs into 30-spice-bsp-files-should-be-usable-without-needing-the-anise-file-equivalent
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
This replaces the ASN1 based Ephemeris and Orientation data. There may be a future use case for orientation data that is in ASN.1 encoding, but SPK files are way too common in the industry to require folks to switch from one file type to another.
This structure whoever removes the need to
unload
(orunfurnsh
) files thanks to the proper use of lifetimes in Rust.I will need to check whether one can deliberately violate these lifetimes in C (they might!).
TODO:
Closes #15 . Closes #30