Skip to content

Phase 1 - Original F-14 CADC simulation

Latest

Choose a tag to compare

@Layomx Layomx released this 30 Oct 18:16
· 9 commits to main since this release
5751cdb

Frozen snapshot of the original educational F-14 CADC simulator (Phase 1 of 4), taken
before Phase 2 refactoring. Commit 5751cdb.

NOT certified, NOT flight software. DO-178C compliance is not claimed.

Build and run (Linux, gcc + make):

git clone --branch v1.0.0-phase1 https://github.com/Layomx/central-air-data-computer.git
cd central-air-data-computer && make all && ./cadc_f14 --help
for t in atmosphere sensors airdata cadc logger; do ./tests/test_$t </dev/null; done

Verified on Debian 13 (GCC 14.2.0, GNU Make 4.4.1): 0 compiler warnings, all 5 test
binaries exit 0, default run produces 1401 CSV rows.
Reference output, ./cadc_f14 --quiet --output out.csv:
SHA-256 9dcd867be28f4add34b128934ef0767400d4762cfd723246b2cbe7406903ccbc
(Bit-exactness is not guaranteed across libm versions or platforms.)

Includes: ISA 0–20 km, simulated pitot/static/temperature sensors with Gaussian noise,
Mach inversion (analytic + Rayleigh bisection), TAS/CAS/EAS, VSI, wing-sweep schedule,
alerts, CSV logger; bilingual (EN/ES) docs.

Known limitations (found in the pre-Phase-2 audit):

  • dynamic_pressure_Pa holds impact pressure (Pt-Ps); impact_pressure_Pa is Pt-P0.
  • CAS uses the subsonic formula in all regimes (error up to ~3.4% at sea level, M1.5).
  • valid does not guarantee finite/in-range data; ~50% of cycles are invalid at M=0 with noise.
  • VSI can spike after invalid cycles; the flight profile is open-loop.
  • make tests cannot report failure by exit status; test_atmosphere waits for Enter.
  • data/isa_reference.txt contains transcription errors (not used by code).
  • Reproducibility checked on one toolchain family; --seed 0 uses time-based seeding.