···3030let scid = Tm.scid_exn 100 in
3131let vcid = Tm.vcid_exn 2 in
3232let data = String.make 1103 '\x00' in
3333-let frame = Tm.make ~scid ~vcid ~mcfc:1 ~vcfc:2 data in
3333+let frame = Tm.v ~scid ~vcid ~mcfc:1 ~vcfc:2 data in
34343535(* Encode to bytes *)
3636let bytes = Tm.encode frame in
···45454646```ocaml
4747(* Extract CLCW from frame OCF *)
4848-match Tm.get_clcw frame with
4949-| Ok clcw ->
4848+match Tm.clcw frame with
4949+| None -> print_endline "No OCF present"
5050+| Some (Error _e) -> print_endline "Invalid CLCW in OCF"
5151+| Some (Ok clcw) ->
5052 Printf.printf "Report value (N(R)): %d\n" clcw.report_value;
5153 if clcw.flags.lockout then print_endline "FARM-1 in lockout!"
5252-| Error `No_ocf -> print_endline "No OCF present"
5353-| Error (`Invalid_vcid _) -> print_endline "Invalid VCID in CLCW"
54545555(* Create a CLCW *)
5656-let clcw = Tm.make_clcw ~vcid ~report_value:42 ~lockout:false () in
5656+let clcw = Tm.clcw ~vcid ~report_value:42 ~lockout:false () in
5757let ocf_word = Tm.encode_clcw clcw in
5858```
5959
+1-1
fuzz/fuzz_tm.ml
···167167 match Tm.decode ~frame_len:(String.length encoded) encoded with
168168 | Error e -> fail (Fmt.str "decode: %a" Tm.pp_error e)
169169 | Ok decoded -> (
170170- match Tm.clcw decoded with
170170+ match Tm.find_clcw decoded with
171171 | None -> fail "no CLCW in decoded frame"
172172 | Some (Error e) -> fail (Fmt.str "CLCW: %a" Clcw.pp_error e)
173173 | Some (Ok clcw') ->
+1-1
lib/tm.ml
···529529let decode_clcw word = Clcw.decode word
530530let encode_clcw clcw = Clcw.encode clcw
531531532532-let clcw frame =
532532+let find_clcw frame =
533533 match frame.ocf with None -> None | Some word -> Some (Clcw.decode word)
534534535535(* Constructors *)
+3-3
lib/tm.mli
···176176val encode_clcw : Clcw.t -> int
177177(** [encode_clcw clcw] encodes a CLCW to a 32-bit word. *)
178178179179-val clcw : t -> (Clcw.t, Clcw.error) result option
180180-(** [clcw frame] extracts and decodes the CLCW from the frame's OCF if
181181- present. Returns [None] if no OCF. *)
179179+val find_clcw : t -> (Clcw.t, Clcw.error) result option
180180+(** [find_clcw frame] extracts and decodes the CLCW from the frame's OCF if present.
181181+ Returns [None] if no OCF. *)
182182183183(** {1 Constructors} *)
184184