The speed rules behind touchPrefsGetGpsBaud / touchPrefsSetGpsBaudFound
move into src/helpers/esp32/GpsBaudPrefs.h (same results, same single
write per change), so the test runs the real rules.
test/test_gps_baud_probe.cpp compiles the real WadaNmeaLocationProvider.h
over a fake UART whose receiver talks NMEA at one speed and reads as noise
at every other, with a fake NVS that counts writes. T-Deck default 38400
with a 9600 receiver: found on the first probe step, stored once as the
found speed (never as the user's choice), no reopen or write over two more
minutes or a GPS saver rest; the next start opens at 9600 and writes
nothing. M9 default 115200 with a 38400 receiver: 9600, 19200, 38400. A
picked speed is never probed past and nothing is stored; a swapped
receiver rewrites the found speed once; no receiver or an unlisted speed
never stores anything; a stop mid-probe still finds the speed; the
CAP_GPS_BAUD_AUTO path stores to the setting instead.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>