Add SSA (Sweden) band plan#2805
Conversation
…nciple IV. Adds resources/bandplans/ssa-sweden.json — a Swedish national overlay on IARU Region 1 with the correct 6 m band edge (50–52 MHz, not the IARU R1 file's 50–54 MHz), embedded power-limit suffixes on bands where PTSFS 2025:1 imposes substantially lower caps (60 m 15 W e.i.r.p., 30 m 150 W p.e.p.), Swedish segment labels (ALLA, FYRAR, SMAL DIGI), and finer 6 m segmentation matching SSA's published v3.0 plan (separate beacon-only 50.400–50.500 segment, FM/DV repeater input 51.210–51.390, output 51.810–51.990). Registered in resources.qrc under the existing /bandplans qresource block. No code changes — BandPlanManager::loadPlans() auto-discovers :/bandplans/*.json, and the View → Band Plan submenu auto-populates from availablePlans(). Honors Principle IV (region-aware data comes from BandPlanManager): the new plan adds another region-specific JSON the manager loads rather than hardcoding Swedish edges anywhere in C++. Blast radius: not applicable — static resource file only, no symbols touched.
There was a problem hiding this comment.
Verified end-to-end and this looks good to merge.
Loader compatibility: the JSON schema matches what BandPlanManager::loadPlanFromJson actually reads — low/high/label/license/color for segments and freq/label for spots (src/models/BandPlanManager.cpp:86-101). loadPlans() auto-discovers :/bandplans/*.json via QDir::entryList, so the new <file alias="ssa-sweden.json"> entry in resources.qrc is all the wiring this needs. The View → Band Plan submenu will pick "SSA (Sweden)" up from availablePlans() with zero code changes.
Data spot-checks:
- 6 m correctly stops at 52.000 (not 54.000 like the IARU R1 file) — matches PTSFS 2025:1.
- The intentional gaps in the 10 m FM repeater section (29.510–29.520, 29.601–29.620) mirror the IARU R1 file's pattern, so rendering will be consistent.
- 60 m segments (
5.3515 → 5.3665) and 30 m (10.100 → 10.150) are bounded correctly. - Power-constraint suffixes ("15W", "150W") embedded in segment labels is a reasonable workaround given the schema has no dedicated power field — and the PR description flags it explicitly.
"name": "SSA (Sweden)"is unique against the existing five plans, so no collision with the savedBandPlanNamesetting.
Principle IV: clean — region-specific edges live in JSON; nothing hardcoded in C++.
Thanks @NF0T — nicely scoped contribution.
|
Claude here — merged. Tack Ryan! Region-data PRs like this are exactly what Principle IV exists for: regulatory accuracy (PTSFS 2025:1 6m edge, 60m/30m power suffixes), Swedish-language segment labels respecting localization rather than forcing English, and zero code surface — drops straight into BandPlanManager's auto-discovery. The 89 Swedish-language spots are a particularly nice touch for SM operators. Second region-data PR you've shipped this cycle on top of the FreeDV indicator, FlexWaveformModel, hex meter parser, CWX context menu, RADE auto-deactivate, tx_slice_mode, and RX-applet emit restoration. Quite a run. 73, Jeremy KK7GWY & Claude (AI dev partner) |
Hotfix recommended for TCI digital-mode operators, Windows users with MQTT or floating-panel windows, and Linux Ubuntu 22.04 builders. - TCI TX audio level regression vs v26.5.1 (#2806/#2807) — restores WSJT-X / JTDX output to full level by reverting only the device + protocol identity strings from #2597 to a form that bypasses WSJT-X's TCITransceiver SunSDR2DX/non-ExpertSDR3 gain trap. - Windows process lingering in Task Manager after close (#2802, chibondking) — three independent root causes addressed: Channel Strip + applet-panel float window WA_QuitOnClose, MqttClient destructor loop_stop. - AppImage CI build failure on gcc 11 strict mode (#2799) — qualifies bitstream.h:192 member access with `this->` for two-phase name lookup. Restores the v26.5.2 x86_64 AppImage artifact. - SSA (Sweden) band plan (#2805, NF0T) — Swedish national overlay with PTSFS 2025:1 constraints, Swedish labels, 89 spots. Bumps version 26.5.2 → 26.5.2.1 in CMakeLists.txt, README.md, CLAUDE.md; regenerates WhatsNewData.cpp from CHANGELOG.md. CalVer scheme expanded to YY.M.patch[.hotfix] to document the 4th-component hotfix convention used historically. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add SSA (Sweden) band plan with PTSFS 2025:1 constraints (#2801). Principle IV.
Adds resources/bandplans/ssa-sweden.json — a Swedish national overlay on IARU Region 1 with the correct 6 m band edge (50–52 MHz, not the IARU R1 file's 50–54 MHz), embedded power-limit suffixes on bands where PTSFS 2025:1 imposes substantially lower caps (60 m 15 W e.i.r.p., 30 m 150 W p.e.p.), Swedish segment labels (ALLA, FYRAR, SMAL DIGI), and finer 6 m segmentation matching SSA's published v3.0 plan (separate beacon-only 50.400–50.500 segment, FM/DV repeater input 51.210–51.390, output 51.810–51.990).
Registered in resources.qrc under the existing /bandplans qresource block. No code changes — BandPlanManager::loadPlans() auto-discovers :/bandplans/*.json, and the View → Band Plan submenu auto-populates from availablePlans().
Honors Principle IV (region-aware data comes from BandPlanManager): the new plan adds another region-specific JSON the manager loads rather than hardcoding Swedish edges anywhere in C++.
Blast radius: not applicable — static resource file only, no symbols touched.