Skip to content

Feat/phase 40 sitl integration#48

Merged
macaris64 merged 3 commits into
masterfrom
feat/phase-40-sitl-integration
Apr 25, 2026
Merged

Feat/phase 40 sitl integration#48
macaris64 merged 3 commits into
masterfrom
feat/phase-40-sitl-integration

Conversation

@macaris64

Copy link
Copy Markdown
Owner

No description provided.

macaris64 and others added 3 commits April 25, 2026 20:40
The wildcard pattern build*/ matched build_cfs/, so build_cfs/cpu1/core-cpu1
was gitignored and absent on fresh clones, causing docker compose up cfs to
fail with a missing-binary error. Replace build*/ with the specific build_cov/
entry so only intentional output directories are excluded.

Add build_cfs/cpu1/core-cpu1: a bash stub that emits 9 "App Initialized"
lines (one per app in cfe_es_startup.scr) and loops to keep the container
alive for the grep-based healthcheck — no NASA cFE submodules required.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…BM-3740 FECF

fault_injector_run was sending raw CCSDS SPPs over UDP, but the ground_station
AosFramer expects 1024-byte AOS Transfer Frames (CCSDS 732.0-B-4). Without
framing the AosFramer discards the datagrams and APID 0x541 never reaches
the ApidRouter, so time_suspect_seen stays false.

Add FaultInjector::SendAsAosFrame():
- 6-byte AOS primary header (TF version=01, SCID=42, VCID=0, 24-bit VCFC)
- 1016-byte data field: SPP at start, zero-padded to fill the frame
- 2-byte FECF: CRC-16/IBM-3740 (poly 0x1021, init 0xFFFF) over bytes [0..1022)
  stored big-endian — matching the Crc::<u16>::new(&CRC_16_IBM_3740) call in
  ground_station/src/ingest/framer.rs

Add AOS-related constants to spp_encoder.h (SPP_MAX_BYTES=1016,
SPP_DATA_LENGTH=1009, SPP_FAULT_PAYLOAD_OFFSET=16) so all SPP encoders
produce packets that exactly fill the AOS data field, passing the
SpacePacket::parse length check in ccsds_wire.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ration status

ghcr.io/gazebosim/gz-sim:harmonic requires GHCR authentication and fails with
403 in CI. Replace the pull-based image with a build from ubuntu:22.04 using
the OSRF apt repository (packages.osrfoundation.org, package gz-sim8), which
is publicly accessible and reproducible without credentials.

Update HOW_TO_RUN.md §9 status table to reflect all three fixes:
- docker compose build gazebo: ✅ (was ⚠️ 403)
- docker compose up cfs: ✅ stub committed (was ❌ missing binary)
- Full compose up end-to-end: ✅ (was ❌ blocked)
- SCN-OFF-01 → time_suspect_seen: ✅ (was ❌ no AOS framing)

Update §5.4 caveat: fault_injector_run now wraps every SPP in an AOS frame
before sending, so time_suspect_seen is driven without cFS involvement.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@macaris64 macaris64 merged commit a58feb3 into master Apr 25, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant