CCSDS 503.0-B Tracking Data Message parser and serializer
0
fork

Configure Feed

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

OCaml 46.2%
Java 40.9%
Dune 0.9%
Shell 0.6%
Other 11.4%
25 1 0

Clone this repository

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

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

Download tar.gz
README.md

tdm#

CCSDS 503.0-B Tracking Data Message parser and serializer.

Parses the KVN (Keyword=Value Notation) text format for tracking data messages. Supports range, Doppler, and angle measurements between ground stations and spacecraft.

Reference: CCSDS 503.0-B-2 Tracking Data Message.

Installation#

Install with opam:

$ opam install tdm

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 tdm

Usage#

let report kvn_text =
  match Tdm.of_string kvn_text with
  | Ok tdm ->
      Fmt.pr "Participants: %s -> %s@." tdm.metadata.participant_1
        tdm.metadata.participant_2;
      List.iter
        (fun obs ->
          Fmt.pr "  %s: %s = %.6f@." obs.Tdm.epoch obs.Tdm.keyword obs.Tdm.value)
        tdm.observations
  | Error e -> Fmt.epr "%a@." Tdm.pp_error e

API Overview#

  • type t -- Complete TDM: header, metadata, observations
  • type observation -- Epoch + keyword + value (e.g., RANGE, DOPPLER)
  • type metadata -- Participants, modes, path, integration intervals
  • of_string, of_channel, of_file -- Parse KVN format
  • to_string -- Serialize back to KVN format

License#

ISC