From fe1a77a54db11a929354c1b151a431d2677254be Mon Sep 17 00:00:00 2001 From: rouggy Date: Tue, 21 Jul 2026 01:10:12 +0200 Subject: [PATCH] fix: use official SPE band-code table from the manual (00=60m,01=160m,...) --- internal/spe/spe.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/internal/spe/spe.go b/internal/spe/spe.go index 3fb0012..4e5e566 100644 --- a/internal/spe/spe.go +++ b/internal/spe/spe.go @@ -309,13 +309,16 @@ func (c *Client) decodeCSV(payload string) { // bandName maps the SPE 2-digit band index to a human band label, falling back to // the raw code for anything unrecognised. func bandName(code string) string { + // SPE band index (from the Expert user manual): 0=60m, 1=160m, 2=80m, 3=40m, + // 4=30m, 5=20m, 6=17m, 7=15m, 8=12m, 9=10m, 0xA(=10)=6m. The status frame reports + // it as a 2-digit decimal string ("05", "10", …). switch strings.TrimSpace(code) { case "00": - return "160m" - case "01": - return "80m" - case "02": return "60m" + case "01": + return "160m" + case "02": + return "80m" case "03": return "40m" case "04": @@ -332,8 +335,6 @@ func bandName(code string) string { return "10m" case "10": return "6m" - case "11": - return "4m" case "": return "" default: