Collision Avoidance Maneuver design for conjunction assessment
0
fork

Configure Feed

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

ocaml-cam: enable MDX on lib/cam.mli, fix broken doc example

Run mdx on lib/cam.mli so the {[ ... ]} odoc block now type-checks.

The example used `let cdm = ... in` where `...` is not OCaml syntax.
Wrapped the avoid + Printf.printf flow in
`let plan_burn (cdm : Cdm.t) = ...` so the example takes a real
typed CDM as input and shows both the Some / None branches of the
avoid search.

+8 -4
+4 -4
lib/cam.mli
··· 3 3 {2 Quick start} 4 4 5 5 {[ 6 - (* Find the minimum burn to make a conjunction safe *) 7 - let cdm = ... in 6 + (* Find the minimum burn to make a conjunction safe. The CDM is 7 + loaded from CCSDS XML or KVN with [Cdm.parse]. *) 8 + let plan_burn (cdm : Cdm.t) = 8 9 match Cam.avoid cdm ~dt:21600.0 with 9 10 | Some result -> 10 11 Printf.printf "Burn %.2f m/s, Pc drops from %e to %e\n" 11 12 result.delta_v result.pc_before result.pc_after 12 - | None -> 13 - Printf.printf "Cannot reduce Pc below threshold\n" 13 + | None -> Printf.printf "Cannot reduce Pc below threshold\n" 14 14 ]} 15 15 16 16 Uses Kepler propagation when satellite state vectors are available, linear
+4
lib/dune
··· 2 2 (name cam) 3 3 (public_name cam) 4 4 (libraries kepler collision cdm vec3 ptime fmt)) 5 + 6 + (mdx 7 + (files cam.mli) 8 + (libraries cam cdm))