More RDS finetuning

This commit is contained in:
Sjef Verhoeven PE5PVB
2023-10-11 19:53:26 +02:00
parent ac640d08f8
commit f6386f1fd0
4 changed files with 29 additions and 12 deletions

View File

@@ -263,6 +263,7 @@ String PTYold;
String rds_clock; String rds_clock;
String rds_clockold; String rds_clockold;
String RDSSPYRDS; String RDSSPYRDS;
String RDSSPYRDSold;
String RTold; String RTold;
String rtplusstringold; String rtplusstringold;
String salt; String salt;
@@ -271,6 +272,7 @@ String SWMIBandstring = String();
String SWMIBandstringold = String(); String SWMIBandstringold = String();
String XDRGTK_key; String XDRGTK_key;
String XDRGTKRDS; String XDRGTKRDS;
String XDRGTKRDSold;
uint16_t BW; uint16_t BW;
uint16_t MStatus; uint16_t MStatus;
uint16_t SWMIBandPos; uint16_t SWMIBandPos;

View File

@@ -773,10 +773,12 @@ void TEF6686::readRDS(byte showrdserrors)
} }
if (togglebit) { if (togglebit) {
for (int i = 0; i < 45; i++) { for (int i = 0; i < 44; i++) {
RDSplus1[i] = 0; RDSplus1[i] = 0x20;
RDSplus2[i] = 0; RDSplus2[i] = 0x20;
} }
RDSplus1[44] = 0;
RDSplus2[44] = 0;
} }
if (rds.rtAB == rtABold) { if (rds.rtAB == rtABold) {
@@ -888,16 +890,25 @@ void TEF6686::clearRDS (bool fullsearchrds)
rds.RTContent2 = ""; rds.RTContent2 = "";
rds.PTYN = ""; rds.PTYN = "";
for (i = 0; i < 9; i++) { for (i = 0; i < 8; i++) {
ps_buffer[i] = 0; ps_buffer[i] = 0x20;
PStext[i] = L'\0'; PStext[i] = L'\0';
ptyn_buffer[i] = 0; ptyn_buffer[i] = 0x20;
PTYNtext[i] = L'\0'; PTYNtext[i] = L'\0';
} }
for (i = 0; i < 65; i++) rt_buffer[i] = 0; ps_buffer[8] = 0;
for (i = 0; i < 33; i++) rt_buffer32[i] = 0; ptyn_buffer[8] = 0;
for (i = 0; i < 18; i++) rds.stationType[i] = 0; PStext[8] = L'\0';
for (i = 0; i < 6; i++) rds.picode[i] = 0; PTYNtext[8] = L'\0';
for (i = 0; i < 64; i++) rt_buffer[i] = 0x20;
rt_buffer[64] = 0;
for (i = 0; i < 32; i++) rt_buffer32[i] = 0x20;
rt_buffer32[32] = 0;
for (i = 0; i < 17; i++) rds.stationType[i] = 0x20;
rds.stationType[17] = 0;
for (i = 0; i < 6; i++) rds.picode[i] = 0x20;
rds.picode[6] = 0;
for (i = 0; i < 50; i++) { for (i = 0; i < 50; i++) {
af[i].frequency = 0; af[i].frequency = 0;

View File

@@ -626,8 +626,9 @@ void readRds() {
if (radio.rds.rdsDerror) RDSSPYRDS += "----"; else RDSSPYRDS += String(((radio.rds.rdsD >> 8) >> 4) & 0xF, HEX) + String((radio.rds.rdsD >> 8) & 0xF, HEX) + String(((radio.rds.rdsD) >> 4) & 0xF, HEX) + String((radio.rds.rdsD) & 0xF, HEX); if (radio.rds.rdsDerror) RDSSPYRDS += "----"; else RDSSPYRDS += String(((radio.rds.rdsD >> 8) >> 4) & 0xF, HEX) + String((radio.rds.rdsD >> 8) & 0xF, HEX) + String(((radio.rds.rdsD) >> 4) & 0xF, HEX) + String((radio.rds.rdsD) & 0xF, HEX);
RDSSPYRDS += "\r\n\r\n"; RDSSPYRDS += "\r\n\r\n";
if (bitRead(radio.rds.rdsStat, 9)) { if (RDSSPYRDS != RDSSPYRDSold) {
if (RDSSPYUSB) Serial.print(RDSSPYRDS); else RemoteClient.print(RDSSPYRDS); if (RDSSPYUSB) Serial.print(RDSSPYRDS); else RemoteClient.print(RDSSPYRDS);
RDSSPYRDSold = RDSSPYRDS;
} }
} }
@@ -661,8 +662,9 @@ void readRds() {
XDRGTKRDS += String(erroutput, HEX); XDRGTKRDS += String(erroutput, HEX);
XDRGTKRDS += "\n"; XDRGTKRDS += "\n";
if (bitRead(radio.rds.rdsStat, 9)) { if (XDRGTKRDS != XDRGTKRDSold) {
DataPrint(XDRGTKRDS); DataPrint(XDRGTKRDS);
XDRGTKRDSold = XDRGTKRDS;
} }
} }
} }

View File

@@ -82,9 +82,11 @@ extern String PTYold;
extern String rds_clock; extern String rds_clock;
extern String rds_clockold; extern String rds_clockold;
extern String RDSSPYRDS; extern String RDSSPYRDS;
extern String RDSSPYRDSold;
extern String RTold; extern String RTold;
extern String rtplusstringold; extern String rtplusstringold;
extern String XDRGTKRDS; extern String XDRGTKRDS;
extern String XDRGTKRDSold;
extern unsigned int mappedfreqold[20]; extern unsigned int mappedfreqold[20];
extern unsigned long afticker; extern unsigned long afticker;
extern unsigned long aftickerhold; extern unsigned long aftickerhold;