Skip to content
/ astroz Public

Astrodynamics and Spacecraft Toolkit Written in Zig! Features orbit prop, celestial precession, CCSDS parsing, RF parsing, fits image parsing, and more!

License

Notifications You must be signed in to change notification settings

ATTron/astroz

Repository files navigation

ASTROZ

CI CD DC

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
  • 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

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 your build.zig.zon.
zig fetch --save https://github.com/ATTron/astroz/archive/<git_tag_or_commit_hash>.tar.gz
  • Use astroz as a module in your build.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

visualization of orbit prop

visualization of orbit prop with impulse

NOTE THIS IS CURRENTLY BROKEN DUE TO ZIGIMG DEPENDENCY BREAKING ON THE MAIN BRANCH

sample fits image as png