CCSDS Proximity-1 Space Link Protocol (211.0-B)
0
fork

Configure Feed

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

proximity1, space-wire: add c/ scaffold for EverParse 3D codegen

Both packages use Wire.Codec but had no c/ subdirectory, so merlint's
global check flagged them as missing the EverParse 3D entry point.
Add a minimal c/ for each: gen.ml that calls Wire_3d.main on the
codec(s), a dune file with the standard (alias gen) layout, and an
empty dune.inc placeholder. Running `dune build @<pkg>/c/gen` regenerates
dune.inc + the .3d, .h, .c, etc. when the EverParse 3D toolchain is on
PATH.

For proximity1 the codec is the single Proximity1.codec; for space-wire
we generate one .3d per Wire.Everparse.module_ defined in
space-wire/lib/wire/space_wire_3d.ml (frame, error/dp payload,
superblock, parameter entry, event log).

+81
+22
c/Proximity1.3d
··· 1 + extern typedef struct _WireCtx WireCtx 2 + 3 + extern unit Proximity1SetU16BE(mutable WireCtx *ctx, UINT32 idx, UINT16BE v) 4 + 5 + extern unit Proximity1SetU8(mutable WireCtx *ctx, UINT32 idx, UINT8 v) 6 + 7 + extern unit Proximity1SetBytes(mutable WireCtx *ctx, UINT32 idx, UINT32 v) 8 + 9 + entrypoint 10 + typedef struct _Proximity1(mutable WireCtx *ctx) 11 + { 12 + UINT16BE Version : 3 {:act Proximity1SetU16BE(ctx, (UINT32) 0, Version); }; 13 + UINT16BE SCID : 8 {:act Proximity1SetU16BE(ctx, (UINT32) 1, SCID); }; 14 + UINT16BE FrameType : 3 {:act Proximity1SetU16BE(ctx, (UINT32) 2, FrameType); }; 15 + UINT16BE Reserved : 2 {:act Proximity1SetU16BE(ctx, (UINT32) 3, Reserved); }; 16 + UINT8 SeqHi {:on-success Proximity1SetU8(ctx, (UINT32) 4, SeqHi); return true; }; 17 + UINT16BE SeqLo {:on-success Proximity1SetU16BE(ctx, (UINT32) 5, SeqLo); return true; }; 18 + UINT16BE FrameLength {:on-success Proximity1SetU16BE(ctx, (UINT32) 6, FrameLength); return true; }; 19 + UINT8 Data[:byte-size (FrameLength - 7)] {:on-success Proximity1SetBytes(ctx, (UINT32) 7, (UINT32) 13); return true; }; 20 + } Proximity1; 21 + 22 +
+19
c/dune
··· 1 + ; Pure C library for Proximity-1 Transfer Frame (CCSDS 211.0-B-5) 2 + ; 3 + ; The C library files are promoted to the source tree. 4 + ; Regenerate with: dune build @ocaml-proximity1/c/gen 5 + 6 + (executable 7 + (name gen) 8 + (modules gen) 9 + (libraries proximity1 wire.3d)) 10 + 11 + (rule 12 + (mode promote) 13 + (alias gen) 14 + (targets dune.inc) 15 + (deps gen.exe) 16 + (action 17 + (run ./gen.exe dune))) 18 + 19 + (include dune.inc)
+38
c/dune.inc
··· 1 + (rule 2 + (alias gen) 3 + (mode promote) 4 + (targets Proximity1.3d) 5 + (deps gen.exe) 6 + (action 7 + (run ./gen.exe 3d))) 8 + 9 + (rule 10 + (alias gen) 11 + (mode fallback) 12 + (targets EverParse.h EverParseEndianness.h Proximity1.h Proximity1.c Proximity1_ExternalTypedefs.h Proximity1_ExternalAPI.h Proximity1Wrapper.c Proximity1Wrapper.h Proximity1_Fields.h Proximity1_Fields.c test.c) 13 + (deps gen.exe Proximity1.3d) 14 + (action 15 + (run ./gen.exe c))) 16 + 17 + (rule 18 + (alias runtest) 19 + (deps test.c EverParse.h EverParseEndianness.h Proximity1.h Proximity1.c Proximity1_ExternalTypedefs.h Proximity1_ExternalAPI.h Proximity1Wrapper.c Proximity1Wrapper.h Proximity1_Fields.h Proximity1_Fields.c) 20 + (action 21 + (system 22 + "cc -std=c99 -Wall -Wextra -Werror -Wpedantic -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wcast-qual -o test_proximity1 test.c Proximity1.c Proximity1_Fields.c && ./test_proximity1"))) 23 + 24 + (install 25 + (package proximity1) 26 + (section lib) 27 + (files 28 + (Proximity1.3d as c/Proximity1.3d) 29 + (Proximity1.h as c/Proximity1.h) 30 + (Proximity1.c as c/Proximity1.c) 31 + (Proximity1_ExternalTypedefs.h as c/Proximity1_ExternalTypedefs.h) 32 + (Proximity1_ExternalAPI.h as c/Proximity1_ExternalAPI.h) 33 + (Proximity1Wrapper.c as c/Proximity1Wrapper.c) 34 + (Proximity1Wrapper.h as c/Proximity1Wrapper.h) 35 + (Proximity1_Fields.h as c/Proximity1_Fields.h) 36 + (Proximity1_Fields.c as c/Proximity1_Fields.c) 37 + (EverParse.h as c/EverParse.h) 38 + (EverParseEndianness.h as c/EverParseEndianness.h)))
+2
c/gen.ml
··· 1 + let () = 2 + Wire_3d.main ~package:"proximity1" [ Wire.Everparse.schema Proximity1.codec ]