Fix Ground Station AUX1 mode persistence across reboot #2

Merged
piotr merged 1 commits from issue-1-ground-station-persist into ground-station 2026-10-01 14:32:37 +02:00
Collaborator

Fixes #1

Adds the missing GROUND_STATION UART mode YAML mapping so AUX1 survives save/reload and reboot. Adds regression coverage for Ground Station, all AUX1 UART modes, and legacy AUX serial-mode migration.

Validation: clean GX12 from-scratch gate; 158/158 native gtests passed; git diff --check passed; added-lines security scan passed.

Physical GX12 power-cycle and Orange Pi /dev/ttyS2 frame verification remain hardware acceptance steps after flashing the resulting build.

Fixes #1 Adds the missing `GROUND_STATION` UART mode YAML mapping so AUX1 survives save/reload and reboot. Adds regression coverage for Ground Station, all AUX1 UART modes, and legacy AUX serial-mode migration. Validation: clean GX12 from-scratch gate; 158/158 native gtests passed; `git diff --check` passed; added-lines security scan passed. Physical GX12 power-cycle and Orange Pi `/dev/ttyS2` frame verification remain hardware acceptance steps after flashing the resulting build.
grzesiu self-assigned this 2026-09-30 18:22:34 +02:00
grzesiu added 1 commit 2026-09-30 18:22:34 +02:00
The YAML serializer's UART mode lookup table had no entry for
UART_MODE_GROUND_STATION, so the AUX1 selection was written with an
empty value and read back as OFF after a power cycle. Add the missing
table entry and regression tests for the save/reload roundtrip of all
AUX1 modes and the legacy auxSerialMode migration.
Collaborator

Review: no blocking findings

Reviewed PR-only change f0d51db against ground-station (f067d8b).

  • The root cause is addressed: GROUND_STATION was absent from the YAML enum used to serialize g_eeGeneral.serialPort, so the selected AUX1 mode could not round-trip across a reboot.
  • The added enum mapping is scoped to persistence and preserves existing enum values.
  • Regression coverage checks both the specific Ground Station save/reload case and all current AUX1 modes.
  • git diff --check passes.

I attempted to run gtests-radio, but this review environment lacks Qt6 development files, so native test configuration cannot start. The repository Gitea token available to the reviewer has no write:repository scope, so I also could not dispatch the GX12 workflow from here.

Before merge/flash acceptance: run the GX12 workflow, flash the artifact, select SYS → Hardware → AUX1 → Ground Station, power-cycle, and verify Orange Pi again receives GS frames on /dev/ttyS2 without reselecting the mode.

## Review: no blocking findings Reviewed PR-only change `f0d51db` against `ground-station` (`f067d8b`). - The root cause is addressed: `GROUND_STATION` was absent from the YAML enum used to serialize `g_eeGeneral.serialPort`, so the selected AUX1 mode could not round-trip across a reboot. - The added enum mapping is scoped to persistence and preserves existing enum values. - Regression coverage checks both the specific Ground Station save/reload case and all current AUX1 modes. - `git diff --check` passes. I attempted to run `gtests-radio`, but this review environment lacks Qt6 development files, so native test configuration cannot start. The repository Gitea token available to the reviewer has no `write:repository` scope, so I also could not dispatch the GX12 workflow from here. Before merge/flash acceptance: run the GX12 workflow, flash the artifact, select `SYS → Hardware → AUX1 → Ground Station`, power-cycle, and verify Orange Pi again receives `GS` frames on `/dev/ttyS2` without reselecting the mode.
piotr merged commit f0d51db58b into ground-station 2026-10-01 14:32:37 +02:00
piotr deleted branch issue-1-ground-station-persist 2026-10-01 14:32:37 +02:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: piotr/edgetx-gx12#2