firmware: add persistent level calibration

This commit is contained in:
2026-07-17 02:37:49 -06:00
parent fb2ca464b9
commit 4f96902068
9 changed files with 212 additions and 9 deletions
+12
View File
@@ -44,6 +44,18 @@ def test_gps_auto_detects_common_nmea_baud_rates():
assert "{9600, 38400, 115200, 4800}" in gps
assert "passedChecksum() > 0" in gps
def test_level_calibration_is_persistent_and_non_blocking():
calibration = source("calibration.cpp")
transport = source("rs485_transport.cpp")
loop = source("xiao-esp32c6-sensor-node.ino").split("void loop()", 1)[1]
assert 'preferences.begin("sensor_cal"' in calibration
assert 'putFloat("pitch_zero"' in calibration
assert 'putFloat("roll_zero"' in calibration
assert 'type == "calibrate_level"' in transport
assert 'type == "clear_level_calibration"' in transport
assert "updateLevelCalibration" in loop
assert "delay(5000)" not in calibration
def test_node_does_not_take_cargo_or_ble_authority():
combined = "\n".join(p.read_text() for p in NODE.glob("*.*"))
assert "NimBLE" not in combined and "JBD" not in combined and "server.on(" not in combined