Added coaxswitch via GPIO0 (XDRGTK)

Optimised XDRGTK parsing
Fix problem where PS/PTY/PI sometimes turned blue on correct RDS when switching from Adv. RDS to normal screen
This commit is contained in:
Sjef Verhoeven PE5PVB
2024-02-12 23:17:46 +01:00
parent 388231a4b4
commit 2a3e8d7197
7 changed files with 34 additions and 20 deletions
+15 -17
View File
@@ -189,30 +189,29 @@ void Communication() {
void XDRGTKRoutine() {
if (XDRGTKUSB) {
if (Serial.available())
{
buff[buff_pos] = Serial.read();
if (buff[buff_pos] != '\n' && buff_pos != 16 - 1)
{
buff_pos++;
while (Serial.available() > 0) {
char c = Serial.read();
if (buff_pos < 16 && c != '\n') {
buff[buff_pos++] = c;
} else {
buff[buff_pos] = 0;
buff[buff_pos] = '\0';
buff_pos = 0;
XDRGTKdata = true;
break;
}
}
}
if (XDRGTKTCP) {
if (RemoteClient.available() > 0) {
buff[buff_pos] = RemoteClient.read();
if (buff[buff_pos] != '\n' && buff_pos != 16 - 1)
{
buff_pos++;
if (XDRGTKTCP && RemoteClient.available() > 0) {
while (RemoteClient.available() > 0) {
char c = RemoteClient.read();
if (buff_pos < 16 && c != '\n') {
buff[buff_pos++] = c;
} else {
buff[buff_pos] = 0;
buff[buff_pos] = '\0';
buff_pos = 0;
XDRGTKdata = true;
break;
}
}
}
@@ -393,7 +392,6 @@ void XDRGTKRoutine() {
radio.SetFreq(frequency);
}
if (band == BAND_FM) DataPrint("T" + String((frequency + ConverterSet * 100) * 10) + "\n"); else DataPrint("T" + String(frequency_AM) + "\n");
ShowFreq(0);
radio.clearRDS(fullsearchrds);
RDSstatus = false;
@@ -528,11 +526,11 @@ void XDRGTKRoutine() {
ANT = atol(buff + 1);
switch (ANT) {
case 0:
// Antenna A
if (BAND_FM || BAND_OIRT) radio.setCoax(2); else radio.setCoax(0);
break;
case 1:
// Antenna B
if (BAND_FM || BAND_OIRT) radio.setCoax(3); else radio.setCoax(1);
break;
case 2: