Skip to content

Radio daemon Connection - #201

Open
mtsthibau wants to merge 20 commits into
developmentfrom
radio-daemon
Open

Radio daemon Connection#201
mtsthibau wants to merge 20 commits into
developmentfrom
radio-daemon

Conversation

@mtsthibau

@mtsthibau mtsthibau commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

e1a671b9Feat: New radio daemon websocket connection

Introduced the RadioDaemonWebsocketService as an alternative WebSocket data source for the radio system. This service connects to the radio daemon on a separate endpoint (port 8080 or 8081) and receives RadioDaemonState messages. Added mutual exclusion via a daemonActive$ flag in SharedService so only one data source feeds the shared radio state at a time. The original WebsocketService now checks this flag before publishing data, preventing conflicts when both connections are active. Also added the RadioDaemon TypeScript interfaces and the alternate daemon URL to global constants.

This PR introduces spectrum visualization features and various fixes for the Hermes GUI radio interface.

Main Features

Spectrum Graph Implementation (#204, #202)

  • Added spectrum graph visualization with real-time RF spectrum display
  • Implemented parsing of binary spectrum frames from the radio daemon WebSocket
  • Added light theme support for spectrum and waterfall displays
  • Added localization markers (i18n) to spectrum graph UI elements
  • Spectrum controls include: floor/ceiling dB adjustment, palette selection (Turbo/Grey/Green), and speed control (1x/2x/3x)

Bug Fixes

  • Translation merging: Added missing @peertube/xliffmerge dependency for XLIFF translation merging
  • Operator view: Commented out waterfall graph in operator view (temporary fix)
  • Idle detector: Temporarily disabled idle detector
  • Voice component: Added timeout_raw field and fixed null safety issues
  • USB/LSB mode: Fixed mode display to use p1_digital_voice field for determining USB/LSB mode

Files Modified

  • src/app/components/utils/spectrum-graph/spectrum-graph.component.html - Added i18n localization markers
  • src/app/components/utils/spectrum-graph/spectrum-graph.component.less - Light theme support
  • src/app/_services/radio-daemon-websocket.service.ts - Binary spectrum frame parsing
  • src/app/components/public/operator/operator.component.html - Waterfall graph adjustments
  • src/locale/messages.*.xlf - Updated translation files

Related Issues

mtsthibau and others added 16 commits June 22, 2026 14:33
The websocket service hardcoded fwd_raw=0, fwd_watts='0', swr='1.0', so the
SWR and Power cards never reflected the radio. The daemon now ships fwd/swr/
ref_power/operating_mode in the 1 Hz status push; map them into the shared
Radio object. fwd/swr are sent x10 and mountRadioObj already applies
formatPower/formatSWR (/10), so the units line up. Adds the new fields to the
RadioDaemonState interface.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feat: add radio-daemon connection to HERMES GUI Feat: add light theme support for spectrum and waterfall

2 participants