CCSDS 508.1-B Re-entry Data Message parser and serializer
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

OCaml 93.3%
Dune 1.8%
Other 4.8%
17 1 0

Clone this repository

https://tangled.org/gazagnaire.org/ocaml-rdm https://tangled.org/did:plc:jhift2vwcxhou52p3sewcrpx/ocaml-rdm
git@git.recoil.org:gazagnaire.org/ocaml-rdm git@git.recoil.org:did:plc:jhift2vwcxhou52p3sewcrpx/ocaml-rdm

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

rdm#

CCSDS 508.1-B Re-entry Data Message parser and serializer.

Parses the KVN (Keyword=Value Notation) text format for re-entry prediction data messages. Contains impact time, location, object properties, and uncertainty information for controlled and uncontrolled re-entries.

Reference: CCSDS 508.1-B-1 Re-entry Data Message.

Installation#

Install with opam:

$ opam install rdm

If opam cannot find the package, it may not yet be released in the public opam-repository. Add the overlay repository, then install it:

$ opam repo add samoht https://tangled.org/gazagnaire.org/opam-overlay.git
$ opam update
$ opam install rdm

Usage#

let report kvn_text =
  match Rdm.of_string kvn_text with
  | Error e -> Fmt.epr "%a@." Rdm.pp_error e
  | Ok rdm -> (
      Fmt.pr "Object: %s@." rdm.metadata.object_name;
      Fmt.pr "Reentry epoch: %s@." rdm.reentry.reentry_epoch;
      match (rdm.reentry.impact_latitude, rdm.reentry.impact_longitude) with
      | Some lat, Some lon -> Fmt.pr "Impact: %.3f N, %.3f E@." lat lon
      | _ -> Fmt.pr "Impact location unknown@.")

API Overview#

  • type t -- Complete RDM: header, metadata, re-entry and object data
  • type metadata -- Object identification, reference frame, time system
  • of_string, of_channel, of_file -- Parse KVN format
  • to_string -- Serialize back to KVN format

License#

ISC