fix: correct SPE band-code map (00=160m,01=80m,02=60m...confirmed on hw); add output-power bar to SPE amp card

This commit is contained in:
2026-07-21 01:19:24 +02:00
parent 50157a25d3
commit be1ae76eb3
3 changed files with 25 additions and 8 deletions
+8 -6
View File
@@ -309,16 +309,18 @@ 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", …).
// SPE band index, verified against a live 1.3K-FA: the status frame reports the
// band as a 2-digit decimal string ordered by descending wavelength — 80m→"01"
// and 20m→"05" were both confirmed on hardware (the printed manual's table was
// off by one). 00=160m, 01=80m, 02=60m, 03=40m, 04=30m, 05=20m, 06=17m, 07=15m,
// 08=12m, 09=10m, 10=6m.
switch strings.TrimSpace(code) {
case "00":
return "60m"
case "01":
return "160m"
case "02":
case "01":
return "80m"
case "02":
return "60m"
case "03":
return "40m"
case "04":