Expand mode and submode mapping in Lotw controller

Added comprehensive handling for various digital modes and submodes in the Lotw controller, including detailed mappings for JT65, JT4, JT9, QRA64, ISCAT, OLIVIA, OPERA, ROS, HELL, DOMINO, CHIP, PAC, PAX, TOR, THRB, SSB, RTTY, CW, CLO, and V4. This improves the accuracy of mode translation and ensures better compatibility with a wider range of digital communication formats.
pull/3299/head
Peter Goodhall 2025-07-29 16:01:57 +01:00
rodzic e47024ee0c
commit f951018ed1
1 zmienionych plików z 343 dodań i 1 usunięć

Wyświetl plik

@ -1044,6 +1044,33 @@ class Lotw extends CI_Controller {
} elseif ($submode == "Q65") {
return "Q65";
break;
} elseif ($submode == "FSQCALL") {
return "DATA";
break;
} elseif ($submode == "JS8") {
return "DATA";
break;
} elseif ($submode == "MFSK11") {
return "DATA";
break;
} elseif ($submode == "MFSK128") {
return "DATA";
break;
} elseif ($submode == "MFSK22") {
return "DATA";
break;
} elseif ($submode == "MFSK31") {
return "DATA";
break;
} elseif ($submode == "MFSK32") {
return "DATA";
break;
} elseif ($submode == "MFSK4") {
return "DATA";
break;
} elseif ($submode == "MFSK64") {
return "DATA";
break;
} else {
return "DATA";
break;
@ -1074,7 +1101,7 @@ class Lotw extends CI_Controller {
return "PSK125";
break;
} elseif ($submode == "PSK500") {
return "PSK500";
return "DATA";
break;
} elseif ($submode == "PSK63F") {
return "PSK63F";
@ -1103,10 +1130,325 @@ class Lotw extends CI_Controller {
} elseif ($submode == "PSK2K") {
return "PSK2K";
break;
} elseif ($submode == "PSK1000") {
return "DATA";
break;
} elseif ($submode == "PSK250") {
return "DATA";
break;
} elseif ($submode == "QPSK250") {
return "DATA";
break;
} elseif ($submode == "QPSK500") {
return "DATA";
break;
} elseif ($submode == "SIM31") {
return "DATA";
break;
} else {
return "DATA";
break;
}
case "JT65":
if ($submode == "JT65A") {
return "JT65A";
break;
} elseif ($submode == "JT65B") {
return "JT65B";
break;
} elseif ($submode == "JT65B2") {
return "JT65B2";
break;
} elseif ($submode == "JT65C") {
return "JT65C";
break;
} elseif ($submode == "JT65C2") {
return "JT65C2";
break;
} else {
return "JT65";
break;
}
case "JT4":
if ($submode == "JT4A") {
return "JT4A";
break;
} elseif ($submode == "JT4B") {
return "JT4B";
break;
} elseif ($submode == "JT4C") {
return "JT4C";
break;
} elseif ($submode == "JT4D") {
return "JT4D";
break;
} elseif ($submode == "JT4E") {
return "JT4E";
break;
} elseif ($submode == "JT4F") {
return "JT4F";
break;
} elseif ($submode == "JT4G") {
return "JT4G";
break;
} else {
return "JT4";
break;
}
case "JT9":
if ($submode == "JT9-1") {
return "JT9-1";
break;
} elseif ($submode == "JT9-10") {
return "JT9-10";
break;
} elseif ($submode == "JT9-2") {
return "JT9-2";
break;
} elseif ($submode == "JT9-30") {
return "JT9-30";
break;
} elseif ($submode == "JT9-5") {
return "JT9-5";
break;
} elseif ($submode == "JT9A") {
return "JT9A";
break;
} elseif ($submode == "JT9B") {
return "JT9B";
break;
} elseif ($submode == "JT9C") {
return "JT9C";
break;
} elseif ($submode == "JT9D") {
return "JT9D";
break;
} elseif ($submode == "JT9E") {
return "JT9E";
break;
} elseif ($submode == "JT9E FAST") {
return "JT9E FAST";
break;
} elseif ($submode == "JT9F") {
return "JT9F";
break;
} elseif ($submode == "JT9F FAST") {
return "JT9F FAST";
break;
} elseif ($submode == "JT9G") {
return "JT9G";
break;
} elseif ($submode == "JT9G FAST") {
return "JT9G FAST";
break;
} elseif ($submode == "JT9H") {
return "JT9H";
break;
} elseif ($submode == "JT9H FAST") {
return "JT9H FAST";
break;
} else {
return "JT9";
break;
}
case "QRA64":
if ($submode == "QRA64A") {
return "QRA64A";
break;
} elseif ($submode == "QRA64B") {
return "QRA64B";
break;
} elseif ($submode == "QRA64C") {
return "QRA64C";
break;
} elseif ($submode == "QRA64D") {
return "QRA64D";
break;
} elseif ($submode == "QRA64E") {
return "QRA64E";
break;
} else {
return "QRA64";
break;
}
case "ISCAT":
if ($submode == "ISCAT-A") {
return "ISCAT-A";
break;
} elseif ($submode == "ISCAT-B") {
return "ISCAT-B";
break;
} else {
return "ISCAT";
break;
}
case "OLIVIA":
if ($submode == "OLIVIA 16/1000") {
return "OLIVIA 16/1000";
break;
} elseif ($submode == "OLIVIA 16/500") {
return "OLIVIA 16/500";
break;
} elseif ($submode == "OLIVIA 32/1000") {
return "OLIVIA 32/1000";
break;
} elseif ($submode == "OLIVIA 4/125") {
return "OLIVIA 4/125";
break;
} elseif ($submode == "OLIVIA 4/250") {
return "OLIVIA 4/250";
break;
} elseif ($submode == "OLIVIA 8/250") {
return "OLIVIA 8/250";
break;
} elseif ($submode == "OLIVIA 8/500") {
return "OLIVIA 8/500";
break;
} else {
return "OLIVIA";
break;
}
case "OPERA":
if ($submode == "OPERA-BEACON") {
return "OPERA-BEACON";
break;
} elseif ($submode == "OPERA-QSO") {
return "OPERA-QSO";
break;
} else {
return "OPERA";
break;
}
case "ROS":
if ($submode == "ROS-EME") {
return "ROS-EME";
break;
} elseif ($submode == "ROS-HF") {
return "ROS-HF";
break;
} elseif ($submode == "ROS-MF") {
return "ROS-MF";
break;
} else {
return "ROS";
break;
}
case "HELL":
if ($submode == "FMHELL") {
return "FMHELL";
break;
} elseif ($submode == "FSKHELL") {
return "FSKHELL";
break;
} elseif ($submode == "HELL80") {
return "HELL80";
break;
} elseif ($submode == "HFSK") {
return "HFSK";
break;
} elseif ($submode == "PSKHELL") {
return "PSKHELL";
break;
} else {
return "HELL";
break;
}
case "DOMINO":
if ($submode == "DOMINOEX") {
return "DOMINOEX";
break;
} elseif ($submode == "DOMINOF") {
return "DOMINOF";
break;
} else {
return "DOMINO";
break;
}
case "CHIP":
if ($submode == "CHIP128") {
return "CHIP128";
break;
} elseif ($submode == "CHIP64") {
return "CHIP64";
break;
} else {
return "CHIP";
break;
}
case "PAC":
if ($submode == "PAC2") {
return "PACTOR";
break;
} elseif ($submode == "PAC3") {
return "PACTOR";
break;
} elseif ($submode == "PAC4") {
return "PACTOR";
break;
} else {
return "PACTOR";
break;
}
case "PAX":
if ($submode == "PAX2") {
return "PAX2";
break;
} else {
return "PAX";
break;
}
case "TOR":
if ($submode == "AMTORFEC") {
return "AMTOR";
break;
} elseif ($submode == "GTOR") {
return "GTOR";
break;
} else {
return "AMTOR";
break;
}
case "THRB":
if ($submode == "THRBX") {
return "THROB";
break;
} else {
return "THROB";
break;
}
case "SSB":
if ($submode == "LSB") {
return "LSB";
break;
} elseif ($submode == "USB") {
return "USB";
break;
} else {
return "SSB";
break;
}
case "RTTY":
if ($submode == "ASCI") {
return "ASCI";
break;
} else {
return "RTTY";
break;
}
case "CW":
if ($submode == "PCW") {
return "PCW";
break;
} else {
return "CW";
break;
}
case "CLO":
return "CLOVER";
break;
case "V4":
return "DATA";
break;
default:
return $mode;
endswitch;