Add preset polish and broadcast metadata (fw 0.8.0).

Ship station reorder, DAB playing ids in presets, RDS PS/RT and DAB DLS in tuner status, Si4684 data-service read, host tests, and UI now-playing lines.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-07 00:01:49 +02:00
co-authored by Cursor
parent 9f76ab9e74
commit 0fc714e431
34 changed files with 1379 additions and 65 deletions
+12
View File
@@ -230,6 +230,18 @@ Validated at the HTTP boundary by \texttt{core::parseEnhanceLevelJson()}.
Strong type for a preset label (1--32 bytes). Parsed at the HTTP boundary
via \texttt{StationName::tryFrom()}.
\section{BroadcastLabel}\label{cls:BroadcastLabel}
Trimmed on-air label from RDS or DAB chip byte buffers (up to 128 bytes).
Built by \texttt{BroadcastLabel::tryFromChipBytes()} in the pure core.
\section{RdsMetadataAccumulator}\label{cls:RdsMetadataAccumulator}
Stateful RDS decoder assembling program service name and radiotext from
raw block~A--D snapshots returned by the Si4684 driver.
\section{DabDynamicLabelAccumulator}\label{cls:DabDynamicLabelAccumulator}
Reassembles segmented DAB DLS payloads into one dynamic label for
\texttt{TunerStatus}.
\section{PresetSlot}\label{cls:PresetSlot}
Optional hardware preset button index (1--20). Validated by
\texttt{PresetSlot::tryFrom()}.