From dede573d07141ed358f0a5ae5fb53ef682047a67 Mon Sep 17 00:00:00 2001 From: chrisdebian Date: Wed, 1 Jul 2026 11:09:30 +0100 Subject: [PATCH] fix: correct 14.112-14.150 MHz to CW-only for ITU Region 2 The 20m Phone segment (14112-14350 kHz) was tagged for both Region 1 and Region 2, but Region 2 (Americas) band plans restrict phone to 14150 kHz and above; 14112-14150 is CW-only there. Region 1 correctly allows phone from 14112. Split the segment into a Region-1-only entry (unchanged range) and a new Region-2-only entry starting at 14150, mirroring the existing US-specific override. Updated the test that was asserting the old (incorrect) behavior. Reported on the forum: a Region 2 station at 14.115 MHz was getting SSB instead of CW. --- src/data/bandPlans.json | 3 ++- src/lib/modes.spec.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/data/bandPlans.json b/src/data/bandPlans.json index 2d94614..5d19855 100644 --- a/src/data/bandPlans.json +++ b/src/data/bandPlans.json @@ -69,7 +69,8 @@ { "name": "Data", "mhz": [14070, 14095], "mode": "RTTY" }, { "name": "FT8", "mhz": [14074, 14077], "mode": "FT8", "priority": 100 }, { "name": "FT4", "mhz": [14080, 14083], "mode": "FT4", "priority": 100 }, - { "name": "Phone", "mhz": [14112, 14350], "mode": "SSB", "submode": "USB", "regions": [ 1, 2 ] }, + { "name": "Phone", "mhz": [14112, 14350], "mode": "SSB", "submode": "USB", "regions": [ 1 ] }, + { "name": "Phone", "mhz": [14150, 14350], "mode": "SSB", "submode": "USB", "regions": [ 2 ] }, { "name": "Phone", "mhz": [14150, 14350], "mode": "SSB", "submode": "USB", "countries": [ "us" ] }, { "name": "Australia", "mhz": [14000, 14350], "mode": null, "countries": ["au"] } ] diff --git a/src/lib/modes.spec.ts b/src/lib/modes.spec.ts index a3c69cb..97e3a02 100644 --- a/src/lib/modes.spec.ts +++ b/src/lib/modes.spec.ts @@ -9,7 +9,7 @@ describe('modeForFrequency', () => { it('should handle different bandplans for different regions', () => { expect(modeForFrequency(14140)).toEqual('CW') - expect(modeForFrequency(14140, { ituRegion: 2 })).toEqual('SSB') + expect(modeForFrequency(14140, { ituRegion: 2 })).toEqual('CW') }) it('should handle different priorities', () => {