From f709dbec42e8127e809681fd9def77f2f4aaf3a0 Mon Sep 17 00:00:00 2001 From: Sjef Verhoeven PE5PVB Date: Wed, 18 Oct 2023 13:30:54 +0200 Subject: [PATCH] Moved ECC and LIC text conversion to API --- src/TEF6686.cpp | 326 +++++++++++++++++++++++++++++++++++++++++++++++- src/TEF6686.h | 2 + src/rds.cpp | 283 ++--------------------------------------- 3 files changed, 330 insertions(+), 281 deletions(-) diff --git a/src/TEF6686.cpp b/src/TEF6686.cpp index 0627039..6ecbb10 100644 --- a/src/TEF6686.cpp +++ b/src/TEF6686.cpp @@ -676,11 +676,321 @@ void TEF6686::readRDS(byte showrdserrors) if (rds.rdsC >> 12 == 0) { // ECC code readout rds.ECC = rds.rdsC & 0xff; rds.hasECC = true; + + switch (rds.picode[0]) { + case '1': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[129]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[136]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[152]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[104]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[73]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[83]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[0]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[1]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[2]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[59]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[3]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[179]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[197]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[124]; + if (rds.ECC == 243) rds.ECCtext = ECCtext[200]; + break; + } + + case '2': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[130]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[141]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[155]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[106]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[126]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[95]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[4]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[5]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[6]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[7]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[8]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[180]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[187]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[77]; + if (rds.ECC == 243) rds.ECCtext = ECCtext[218]; + break; + } + + case '3': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[224]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[156]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[132]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[112]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[119]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[72]; + if (rds.ECC == 211) rds.ECCtext = ECCtext[92]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[9]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[10]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[11]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[12]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[16]; + if (rds.ECC == 229) rds.ECCtext = ECCtext[63]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[181]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[227]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[189]; + if (rds.ECC == 243) rds.ECCtext = ECCtext[219]; + break; + } + + case '4': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[148]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[157]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[127]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[69]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[91]; + if (rds.ECC == 211) rds.ECCtext = ECCtext[103]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[13]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[14]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[15]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[182]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[210]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[213]; + break; + } + + case '5': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[133]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[159]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[68]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[79]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[88]; + if (rds.ECC == 211) rds.ECCtext = ECCtext[78]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[17]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[18]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[19]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[65]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[183]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[191]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[193]; + break; + } + + case '6': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[134]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[163]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[171]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[96]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[105]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[123]; + if (rds.ECC == 211) rds.ECCtext = ECCtext[125]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[20]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[21]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[22]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[24]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[184]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[76]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[201]; + break; + } + + case '7': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[139]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[161]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[164]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[113]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[81]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[84]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[25]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[26]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[27]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[62]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[185]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[207]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[221]; + break; + } + + case '8': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[142]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[170]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[116]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[117]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[74]; + if (rds.ECC == 211) rds.ECCtext = ECCtext[82]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[28]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[29]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[30]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[31]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[32]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[186]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[195]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[212]; + if (rds.ECC == 243) rds.ECCtext = ECCtext[190]; + break; + } + + case '9': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[143]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[162]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[174]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[120]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[102]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[107]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[33]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[34]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[35]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[36]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[37]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[80]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[209]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[196]; + if (rds.ECC == 243) rds.ECCtext = ECCtext[211]; + if (rds.ECC == 244) rds.ECCtext = ECCtext[190]; + break; + } + + case 'A': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[131]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[144]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[166]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[85]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[97]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[121]; + if (rds.ECC == 211) rds.ECCtext = ECCtext[70]; + if (rds.ECC == 212) rds.ECCtext = ECCtext[86]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[38]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[39]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[40]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[41]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[60]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[178]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[215]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[214]; + break; + } + + case 'B': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[137]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[145]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[167]; + if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[101]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[109]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[100]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[42]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[43]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[44]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[61]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[66]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[206]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[188]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[203]; + if (rds.ECC == 243) rds.ECCtext = ECCtext[93]; + if (rds.ECC == 244) rds.ECCtext = ECCtext[204]; + break; + } + + case 'C': { + if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[223]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[140]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[146]; + if (rds.ECC == 165) rds.ECCtext = ECCtext[169]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[110]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[108]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[111]; + if (rds.ECC == 211) rds.ECCtext = ECCtext[87]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[45]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[46]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[47]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[48]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[118]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[190]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[216]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[194]; + break; + } + + case 'D': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[225]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[150]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[154]; + if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[90]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[89]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[0]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[49]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[23]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[122]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[198]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[217]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[128]; + break; + } + + case 'E': { + if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; + if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[151]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[172]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[175]; + if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[99]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[115]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[94]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[50]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[51]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[52]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[53]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[64]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[98]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[199]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[208]; + if (rds.ECC == 243) rds.ECCtext = ECCtext[205]; + break; + } + + case 'F': { + if (rds.ECC == 161) rds.ECCtext = ECCtext[149]; + if (rds.ECC == 162) rds.ECCtext = ECCtext[222]; + if (rds.ECC == 163) rds.ECCtext = ECCtext[153]; + if (rds.ECC == 164) rds.ECCtext = ECCtext[176]; + if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; + if (rds.ECC == 166) rds.ECCtext = ECCtext[168]; + if (rds.ECC == 208) rds.ECCtext = ECCtext[67]; + if (rds.ECC == 209) rds.ECCtext = ECCtext[75]; + if (rds.ECC == 210) rds.ECCtext = ECCtext[114]; + if (rds.ECC == 224) rds.ECCtext = ECCtext[54]; + if (rds.ECC == 225) rds.ECCtext = ECCtext[55]; + if (rds.ECC == 226) rds.ECCtext = ECCtext[56]; + if (rds.ECC == 227) rds.ECCtext = ECCtext[57]; + if (rds.ECC == 228) rds.ECCtext = ECCtext[58]; + if (rds.ECC == 240) rds.ECCtext = ECCtext[202]; + if (rds.ECC == 241) rds.ECCtext = ECCtext[192]; + if (rds.ECC == 242) rds.ECCtext = ECCtext[220]; + if (rds.ECC == 243) rds.ECCtext = ECCtext[71]; + break; + } + default: { + rds.ECCtext = ""; + break; + } + } } if (rds.rdsC >> 12 == 3) { // LIC code readout rds.LIC = rds.rdsC & 0xff; rds.hasLIC = true; + if (rds.LIC > 0 && rds.LIC < 128) rds.LICtext = LICtext[rds.LIC]; else rds.LICtext = ""; } } @@ -1000,31 +1310,37 @@ void TEF6686::readRDS(byte showrdserrors) void TEF6686::clearRDS (bool fullsearchrds) { devTEF_Radio_Set_RDS(fullsearchrds); - uint8_t i; rds.stationName = ""; rds.stationText = ""; rds.stationText32 = ""; rds.RTContent1 = ""; rds.RTContent2 = ""; rds.PTYN = ""; + rds.ECCtext = ""; + rds.LICtext = ""; + ps_buffer[8] = 0; + ptyn_buffer[8] = 0; + PStext[8] = L'\0'; + PTYNtext[8] = L'\0'; + + uint8_t i; for (i = 0; i < 8; i++) { ps_buffer[i] = 0x20; PStext[i] = L'\0'; ptyn_buffer[i] = 0x20; PTYNtext[i] = L'\0'; } - ps_buffer[8] = 0; - ptyn_buffer[8] = 0; - PStext[8] = L'\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; diff --git a/src/TEF6686.h b/src/TEF6686.h index 15498e4..30b7d74 100644 --- a/src/TEF6686.h +++ b/src/TEF6686.h @@ -534,6 +534,8 @@ typedef struct _rds_ { String RTContent1; String RTContent2; String PTYN; + String ECCtext; + String LICtext; char stationType[18]; char picode[7]; uint16_t hour, minute, day, month, year, rdsA, rdsB, rdsC, rdsD, rdsErr, rdsStat, correctPI, rdsplusTag1, rdsplusTag2; diff --git a/src/rds.cpp b/src/rds.cpp index cee912f..905712b 100644 --- a/src/rds.cpp +++ b/src/rds.cpp @@ -53,19 +53,11 @@ void ShowAdvancedRDS() { } if (licold != radio.rds.LIC || rdsreset) { - if (!screenmute) tftPrint(-1, "N/A", 242, 208, BackgroundColor, BackgroundColor, 16); - if (!screenmute) tftPrint(-1, LIColdString, 242, 208, BackgroundColor, BackgroundColor, 16); - - if (radio.rds.LIC > 0 && radio.rds.LIC < 128) { - if (!screenmute) { - if (radio.rds.hasLIC) tftPrint(-1, LICtext[radio.rds.LIC], 242, 208, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "N/A", 242, 208, PrimaryColor, PrimaryColorSmooth, 16); - } - LIColdString = LICtext[radio.rds.LIC]; - } else { - if (!screenmute) { - if (radio.rds.hasLIC) tftPrint(-1, LICtext[0], 242, 208, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "N/A", 242, 208, PrimaryColor, PrimaryColorSmooth, 16); - } - LIColdString = LICtext[0]; + if (!screenmute) { + tftPrint(-1, "N/A", 242, 208, BackgroundColor, BackgroundColor, 16); + tftPrint(-1, LIColdString, 242, 208, BackgroundColor, BackgroundColor, 16); + if (radio.rds.hasLIC) tftPrint(-1, (radio.rds.LICtext.length() == 0 ? myLanguage[language][73] : radio.rds.LICtext), 242, 208, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "N/A", 242, 208, PrimaryColor, PrimaryColorSmooth, 16); + if (radio.rds.LICtext.length() == 0) LIColdString = myLanguage[language][73]; else LIColdString = radio.rds.LICtext; } licold = radio.rds.LIC; } @@ -276,274 +268,13 @@ void doAF() { void showECC() { if (ECCold != radio.rds.ECC) { - String ECC; - ECC = myLanguage[language][73]; - if (radio.rds.picode[0] == '1') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[129]; - if (radio.rds.ECC == 163) ECC = ECCtext[136]; - if (radio.rds.ECC == 164) ECC = ECCtext[152]; - if (radio.rds.ECC == 208) ECC = ECCtext[104]; - if (radio.rds.ECC == 209) ECC = ECCtext[73]; - if (radio.rds.ECC == 210) ECC = ECCtext[83]; - if (radio.rds.ECC == 224) ECC = ECCtext[0]; - if (radio.rds.ECC == 225) ECC = ECCtext[1]; - if (radio.rds.ECC == 226) ECC = ECCtext[2]; - if (radio.rds.ECC == 227) ECC = ECCtext[59]; - if (radio.rds.ECC == 228) ECC = ECCtext[3]; - if (radio.rds.ECC == 240) ECC = ECCtext[179]; - if (radio.rds.ECC == 241) ECC = ECCtext[197]; - if (radio.rds.ECC == 242) ECC = ECCtext[124]; - if (radio.rds.ECC == 243) ECC = ECCtext[200]; - } else if (radio.rds.picode[0] == '2') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[130]; - if (radio.rds.ECC == 163) ECC = ECCtext[141]; - if (radio.rds.ECC == 164) ECC = ECCtext[155]; - if (radio.rds.ECC == 208) ECC = ECCtext[106]; - if (radio.rds.ECC == 209) ECC = ECCtext[126]; - if (radio.rds.ECC == 210) ECC = ECCtext[95]; - if (radio.rds.ECC == 224) ECC = ECCtext[4]; - if (radio.rds.ECC == 225) ECC = ECCtext[5]; - if (radio.rds.ECC == 226) ECC = ECCtext[6]; - if (radio.rds.ECC == 227) ECC = ECCtext[7]; - if (radio.rds.ECC == 228) ECC = ECCtext[8]; - if (radio.rds.ECC == 240) ECC = ECCtext[180]; - if (radio.rds.ECC == 241) ECC = ECCtext[187]; - if (radio.rds.ECC == 242) ECC = ECCtext[77]; - if (radio.rds.ECC == 243) ECC = ECCtext[218]; - } else if (radio.rds.picode[0] == '3') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[224]; - if (radio.rds.ECC == 163) ECC = ECCtext[156]; - if (radio.rds.ECC == 164) ECC = ECCtext[132]; - if (radio.rds.ECC == 208) ECC = ECCtext[112]; - if (radio.rds.ECC == 209) ECC = ECCtext[119]; - if (radio.rds.ECC == 210) ECC = ECCtext[72]; - if (radio.rds.ECC == 211) ECC = ECCtext[92]; - if (radio.rds.ECC == 224) ECC = ECCtext[9]; - if (radio.rds.ECC == 225) ECC = ECCtext[10]; - if (radio.rds.ECC == 226) ECC = ECCtext[11]; - if (radio.rds.ECC == 227) ECC = ECCtext[12]; - if (radio.rds.ECC == 228) ECC = ECCtext[16]; - if (radio.rds.ECC == 229) ECC = ECCtext[63]; - if (radio.rds.ECC == 240) ECC = ECCtext[181]; - if (radio.rds.ECC == 241) ECC = ECCtext[227]; - if (radio.rds.ECC == 242) ECC = ECCtext[189]; - if (radio.rds.ECC == 243) ECC = ECCtext[219]; - } else if (radio.rds.picode[0] == '4') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[148]; - if (radio.rds.ECC == 163) ECC = ECCtext[157]; - if (radio.rds.ECC == 208) ECC = ECCtext[127]; - if (radio.rds.ECC == 209) ECC = ECCtext[69]; - if (radio.rds.ECC == 210) ECC = ECCtext[91]; - if (radio.rds.ECC == 211) ECC = ECCtext[103]; - if (radio.rds.ECC == 224) ECC = ECCtext[13]; - if (radio.rds.ECC == 225) ECC = ECCtext[14]; - if (radio.rds.ECC == 226) ECC = ECCtext[15]; - if (radio.rds.ECC == 240) ECC = ECCtext[182]; - if (radio.rds.ECC == 241) ECC = ECCtext[210]; - if (radio.rds.ECC == 242) ECC = ECCtext[213]; - } else if (radio.rds.picode[0] == '5') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[133]; - if (radio.rds.ECC == 164) ECC = ECCtext[159]; - if (radio.rds.ECC == 208) ECC = ECCtext[68]; - if (radio.rds.ECC == 209) ECC = ECCtext[79]; - if (radio.rds.ECC == 210) ECC = ECCtext[88]; - if (radio.rds.ECC == 211) ECC = ECCtext[78]; - if (radio.rds.ECC == 224) ECC = ECCtext[17]; - if (radio.rds.ECC == 225) ECC = ECCtext[18]; - if (radio.rds.ECC == 226) ECC = ECCtext[19]; - if (radio.rds.ECC == 227) ECC = ECCtext[65]; - if (radio.rds.ECC == 240) ECC = ECCtext[183]; - if (radio.rds.ECC == 241) ECC = ECCtext[191]; - if (radio.rds.ECC == 242) ECC = ECCtext[193]; - } else if (radio.rds.picode[0] == '6') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[134]; - if (radio.rds.ECC == 163) ECC = ECCtext[163]; - if (radio.rds.ECC == 164) ECC = ECCtext[171]; - if (radio.rds.ECC == 208) ECC = ECCtext[96]; - if (radio.rds.ECC == 209) ECC = ECCtext[105]; - if (radio.rds.ECC == 210) ECC = ECCtext[123]; - if (radio.rds.ECC == 211) ECC = ECCtext[125]; - if (radio.rds.ECC == 224) ECC = ECCtext[20]; - if (radio.rds.ECC == 225) ECC = ECCtext[21]; - if (radio.rds.ECC == 226) ECC = ECCtext[22]; - if (radio.rds.ECC == 228) ECC = ECCtext[24]; - if (radio.rds.ECC == 240) ECC = ECCtext[184]; - if (radio.rds.ECC == 241) ECC = ECCtext[76]; - if (radio.rds.ECC == 242) ECC = ECCtext[201]; - } else if (radio.rds.picode[0] == '7') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[139]; - if (radio.rds.ECC == 163) ECC = ECCtext[161]; - if (radio.rds.ECC == 164) ECC = ECCtext[164]; - if (radio.rds.ECC == 208) ECC = ECCtext[113]; - if (radio.rds.ECC == 209) ECC = ECCtext[81]; - if (radio.rds.ECC == 210) ECC = ECCtext[84]; - if (radio.rds.ECC == 224) ECC = ECCtext[25]; - if (radio.rds.ECC == 225) ECC = ECCtext[26]; - if (radio.rds.ECC == 226) ECC = ECCtext[27]; - if (radio.rds.ECC == 228) ECC = ECCtext[62]; - if (radio.rds.ECC == 240) ECC = ECCtext[185]; - if (radio.rds.ECC == 241) ECC = ECCtext[207]; - if (radio.rds.ECC == 242) ECC = ECCtext[221]; - } else if (radio.rds.picode[0] == '8') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[142]; - if (radio.rds.ECC == 164) ECC = ECCtext[170]; - if (radio.rds.ECC == 208) ECC = ECCtext[116]; - if (radio.rds.ECC == 209) ECC = ECCtext[117]; - if (radio.rds.ECC == 210) ECC = ECCtext[74]; - if (radio.rds.ECC == 211) ECC = ECCtext[82]; - if (radio.rds.ECC == 224) ECC = ECCtext[28]; - if (radio.rds.ECC == 225) ECC = ECCtext[29]; - if (radio.rds.ECC == 226) ECC = ECCtext[30]; - if (radio.rds.ECC == 227) ECC = ECCtext[31]; - if (radio.rds.ECC == 228) ECC = ECCtext[32]; - if (radio.rds.ECC == 240) ECC = ECCtext[186]; - if (radio.rds.ECC == 241) ECC = ECCtext[195]; - if (radio.rds.ECC == 242) ECC = ECCtext[212]; - if (radio.rds.ECC == 243) ECC = ECCtext[190]; - } else if (radio.rds.picode[0] == '9') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[143]; - if (radio.rds.ECC == 163) ECC = ECCtext[162]; - if (radio.rds.ECC == 164) ECC = ECCtext[174]; - if (radio.rds.ECC == 208) ECC = ECCtext[120]; - if (radio.rds.ECC == 209) ECC = ECCtext[102]; - if (radio.rds.ECC == 210) ECC = ECCtext[107]; - if (radio.rds.ECC == 224) ECC = ECCtext[33]; - if (radio.rds.ECC == 225) ECC = ECCtext[34]; - if (radio.rds.ECC == 226) ECC = ECCtext[35]; - if (radio.rds.ECC == 227) ECC = ECCtext[36]; - if (radio.rds.ECC == 228) ECC = ECCtext[37]; - if (radio.rds.ECC == 240) ECC = ECCtext[80]; - if (radio.rds.ECC == 241) ECC = ECCtext[209]; - if (radio.rds.ECC == 242) ECC = ECCtext[196]; - if (radio.rds.ECC == 243) ECC = ECCtext[211]; - if (radio.rds.ECC == 244) ECC = ECCtext[190]; - } else if (radio.rds.picode[0] == 'A') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 162) ECC = ECCtext[131]; - if (radio.rds.ECC == 163) ECC = ECCtext[144]; - if (radio.rds.ECC == 164) ECC = ECCtext[166]; - if (radio.rds.ECC == 208) ECC = ECCtext[85]; - if (radio.rds.ECC == 209) ECC = ECCtext[97]; - if (radio.rds.ECC == 210) ECC = ECCtext[121]; - if (radio.rds.ECC == 211) ECC = ECCtext[70]; - if (radio.rds.ECC == 212) ECC = ECCtext[86]; - if (radio.rds.ECC == 224) ECC = ECCtext[38]; - if (radio.rds.ECC == 225) ECC = ECCtext[39]; - if (radio.rds.ECC == 226) ECC = ECCtext[40]; - if (radio.rds.ECC == 227) ECC = ECCtext[41]; - if (radio.rds.ECC == 228) ECC = ECCtext[60]; - if (radio.rds.ECC == 240) ECC = ECCtext[178]; - if (radio.rds.ECC == 241) ECC = ECCtext[215]; - if (radio.rds.ECC == 242) ECC = ECCtext[214]; - } else if (radio.rds.picode[0] == 'B') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 161) ECC = ECCtext[138]; - if (radio.rds.ECC == 162) ECC = ECCtext[137]; - if (radio.rds.ECC == 163) ECC = ECCtext[145]; - if (radio.rds.ECC == 164) ECC = ECCtext[167]; - if (radio.rds.ECC == 165) ECC = ECCtext[158]; - if (radio.rds.ECC == 208) ECC = ECCtext[101]; - if (radio.rds.ECC == 210) ECC = ECCtext[109]; - if (radio.rds.ECC == 209) ECC = ECCtext[100]; - if (radio.rds.ECC == 224) ECC = ECCtext[42]; - if (radio.rds.ECC == 225) ECC = ECCtext[43]; - if (radio.rds.ECC == 226) ECC = ECCtext[44]; - if (radio.rds.ECC == 227) ECC = ECCtext[61]; - if (radio.rds.ECC == 228) ECC = ECCtext[66]; - if (radio.rds.ECC == 240) ECC = ECCtext[206]; - if (radio.rds.ECC == 241) ECC = ECCtext[188]; - if (radio.rds.ECC == 242) ECC = ECCtext[203]; - if (radio.rds.ECC == 243) ECC = ECCtext[93]; - if (radio.rds.ECC == 244) ECC = ECCtext[204]; - } else if (radio.rds.picode[0] == 'C') { - if (radio.rds.ECC == 161) ECC = ECCtext[138]; - if (radio.rds.ECC == 162) ECC = ECCtext[223]; - if (radio.rds.ECC == 163) ECC = ECCtext[140]; - if (radio.rds.ECC == 164) ECC = ECCtext[146]; - if (radio.rds.ECC == 165) ECC = ECCtext[169]; - if (radio.rds.ECC == 208) ECC = ECCtext[110]; - if (radio.rds.ECC == 209) ECC = ECCtext[108]; - if (radio.rds.ECC == 210) ECC = ECCtext[111]; - if (radio.rds.ECC == 211) ECC = ECCtext[87]; - if (radio.rds.ECC == 224) ECC = ECCtext[45]; - if (radio.rds.ECC == 225) ECC = ECCtext[46]; - if (radio.rds.ECC == 226) ECC = ECCtext[47]; - if (radio.rds.ECC == 227) ECC = ECCtext[48]; - if (radio.rds.ECC == 228) ECC = ECCtext[118]; - if (radio.rds.ECC == 240) ECC = ECCtext[190]; - if (radio.rds.ECC == 241) ECC = ECCtext[216]; - if (radio.rds.ECC == 242) ECC = ECCtext[194]; - } else if (radio.rds.picode[0] == 'D') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 161) ECC = ECCtext[138]; - if (radio.rds.ECC == 162) ECC = ECCtext[225]; - if (radio.rds.ECC == 163) ECC = ECCtext[150]; - if (radio.rds.ECC == 164) ECC = ECCtext[154]; - if (radio.rds.ECC == 165) ECC = ECCtext[158]; - if (radio.rds.ECC == 208) ECC = ECCtext[90]; - if (radio.rds.ECC == 209) ECC = ECCtext[89]; - if (radio.rds.ECC == 224) ECC = ECCtext[0]; - if (radio.rds.ECC == 225) ECC = ECCtext[49]; - if (radio.rds.ECC == 226) ECC = ECCtext[23]; - if (radio.rds.ECC == 227) ECC = ECCtext[122]; - if (radio.rds.ECC == 240) ECC = ECCtext[198]; - if (radio.rds.ECC == 241) ECC = ECCtext[217]; - if (radio.rds.ECC == 242) ECC = ECCtext[128]; - } else if (radio.rds.picode[0] == 'E') { - if (radio.rds.ECC == 160) ECC = ECCtext[226]; - if (radio.rds.ECC == 161) ECC = ECCtext[138]; - if (radio.rds.ECC == 162) ECC = ECCtext[151]; - if (radio.rds.ECC == 163) ECC = ECCtext[172]; - if (radio.rds.ECC == 164) ECC = ECCtext[175]; - if (radio.rds.ECC == 165) ECC = ECCtext[158]; - if (radio.rds.ECC == 208) ECC = ECCtext[99]; - if (radio.rds.ECC == 209) ECC = ECCtext[115]; - if (radio.rds.ECC == 210) ECC = ECCtext[94]; - if (radio.rds.ECC == 224) ECC = ECCtext[50]; - if (radio.rds.ECC == 225) ECC = ECCtext[51]; - if (radio.rds.ECC == 226) ECC = ECCtext[52]; - if (radio.rds.ECC == 227) ECC = ECCtext[53]; - if (radio.rds.ECC == 228) ECC = ECCtext[64]; - if (radio.rds.ECC == 240) ECC = ECCtext[98]; - if (radio.rds.ECC == 241) ECC = ECCtext[199]; - if (radio.rds.ECC == 242) ECC = ECCtext[208]; - if (radio.rds.ECC == 243) ECC = ECCtext[205]; - } else if (radio.rds.picode[0] == 'F') { - if (radio.rds.ECC == 161) ECC = ECCtext[149]; - if (radio.rds.ECC == 162) ECC = ECCtext[222]; - if (radio.rds.ECC == 163) ECC = ECCtext[153]; - if (radio.rds.ECC == 164) ECC = ECCtext[176]; - if (radio.rds.ECC == 165) ECC = ECCtext[158]; - if (radio.rds.ECC == 166) ECC = ECCtext[168]; - if (radio.rds.ECC == 208) ECC = ECCtext[67]; - if (radio.rds.ECC == 209) ECC = ECCtext[75]; - if (radio.rds.ECC == 210) ECC = ECCtext[114]; - if (radio.rds.ECC == 224) ECC = ECCtext[54]; - if (radio.rds.ECC == 225) ECC = ECCtext[55]; - if (radio.rds.ECC == 226) ECC = ECCtext[56]; - if (radio.rds.ECC == 227) ECC = ECCtext[57]; - if (radio.rds.ECC == 228) ECC = ECCtext[58]; - if (radio.rds.ECC == 240) ECC = ECCtext[202]; - if (radio.rds.ECC == 241) ECC = ECCtext[192]; - if (radio.rds.ECC == 242) ECC = ECCtext[220]; - if (radio.rds.ECC == 243) ECC = ECCtext[71]; - } if (advancedRDS) { if (!screenmute) { tftPrint(-1, "N/A", 242, 193, BackgroundColor, BackgroundColor, 16); tftPrint(-1, ECColdtxt, 242, 193, BackgroundColor, BackgroundColor, 16); - if (radio.rds.hasECC) tftPrint(-1, ECC, 242, 193, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "N/A", 242, 193, PrimaryColor, PrimaryColorSmooth, 16); + if (radio.rds.hasECC) tftPrint(-1, (radio.rds.ECCtext.length() == 0 ? myLanguage[language][73] : radio.rds.ECCtext), 242, 193, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "N/A", 242, 193, PrimaryColor, PrimaryColorSmooth, 16); } - ECColdtxt = ECC; + if (radio.rds.ECCtext.length() == 0) ECColdtxt = myLanguage[language][87]; else ECColdtxt = radio.rds.ECCtext; } if (wifi) {