Awesome
ASTROZ
<img src="https://repository-images.githubusercontent.com/819657891/291c28ef-4c03-4d0e-bb0c-41d4662867c3" width="100" height="100"/>Astronomical and Spacecraft Toolkit Written in Zig for Zig!
Features / Plans
Spacecraft
- CCSDS Packets
- CCSDS Stream Parser
- VITA49 Packets
- Vita49 Stream Parser
- TLE Support
- Orbital Propagation
- RK4
- Orbital Maneuvers
- Impulse Maneuvers
- Phase Maneuvers
- Plane Change Maneuvers
- Orbital Propagation
- Orientation Determination
Astronomical
- Astronomical References
- J2000 and JD
- Celestial Bodies
- Mass
- Radius
- Orbital Details
- Astronomical Coordinates
- Equatorial Coordinate System
- World Coordinate System
- Astronomical Computation
- Precession
- Celestial Bodies
- Orbital Mechanics
- Interplanetary Maneuvers
- FITS File Parsing - BROKEN DUE TO ZIGIMG DEPENDENCY BREAKING ON MAIN
- Image Generation
- Multi Image Parsing/Generation
- Table Parsing
- Image Generation
Feature not listed ?
To request a feature, please create an issue for this project and I will try my best to be responsive.
Usage
- Add
astroz
as a dependency in yourbuild.zig.zon
.
zig fetch --save https://github.com/ATTron/astroz/archive/<git_tag_or_commit_hash>.tar.gz
- Use
astroz
as a module in yourbuild.zig
.
const astroz_dep = b.dependency("astroz", .{
.target = target,
.optimize = optimize,
});
const astroz_mod = astroz_dep.module("astroz");
exe.root_module.addImport("astroz", astroz_mod);
Examples
<img src="assets/orbit_prop.gif" width="450" height="400" alt="visualization of orbit prop"/> <img src="assets/orbit_prop_impulse.gif" width="450" height="400" alt="visualization of orbit prop with impulse"/>-
Orbit Plane Change
-
Orbit Phase Change
-
Orbit Orientation Determination
-
Parse Vita49
-
Parse Vita49 with Callback
-
Parse CCSDS from File
-
Parse CCSDS from File with File Sync
-
Create CCSDS Packet
-
Create CCSDS Packet with Config
NOTE THIS IS CURRENTLY BROKEN DUE TO ZIGIMG DEPENDENCY BREAKING ON THE MAIN BRANCH
<img src="test/test.png" width="450" height="400" alt="sample fits image as png"/> <!-- MARKDOWN LINKS -->