|
|
4318589496
|
feat: BME280 baro pressure & ambient temp driver (Issue #672)
- New baro module (include/baro.h, src/baro.c): reads BME280/BMP280
at 1 Hz on I2C1, computes pressure altitude (ISA formula), publishes
JLINK_TLM_BARO (0x8D) telemetry to Orin. Runs entirely on Mamba F722S
with no Orin dependency. baro_get_alt_cm() exposes altitude to balance
PID slope compensation.
- New JLink telemetry frame 0x8D (jlink_tlm_baro_t, 12 bytes packed):
pressure_pa (int32), temp_x10 (int16), alt_cm (int32),
humidity_pct_x10 (int16; -1 = BMP280/absent).
- Wire into main.c: baro_init() after bmp280_init(), baro_tick(now)
each ms (self-rate-limits to 1 Hz).
- Unit tests (test/test_baro.c): 31 tests, all pass. Build:
gcc -I include -I test/stubs -DTEST_HOST -lm -o /tmp/test_baro test/test_baro.c
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-18 08:25:07 -04:00 |
|