little funcitonal changes, just performance

This commit is contained in:
2026-01-07 21:42:22 +01:00
parent aa5bd3f847
commit 3a92d1cdf1
9 changed files with 297 additions and 308 deletions

View File

@@ -535,7 +535,7 @@ void TEF6686::readRDS(byte showrdserrors) {
if(bitRead(rds.rdsStat, 12) && (rdsgroup & 1) == 0) goto end; // Modulation says type B, but data says otherwise? Dunno what to treat it as, thus skip
rds.TP = (bitRead(rds.rdsB, 10));
rds.PTY = (rds.rdsB >> 5) & 0x1F;
rds.PTY.set((rds.rdsB >> 5) & 0x1F);
rds.blockcounter[rdsgroup]++;
processed_rdsblocks++;
@@ -760,297 +760,297 @@ void TEF6686::readRDS(byte showrdserrors) {
case RDS_GROUP_1A: {
if (!rdsCerrorThreshold && ((rds.rdsC >> 12) & 0x07) == 0) {
rds.ECC = rds.rdsC & 0xff;
rds.ECC.set(rds.rdsC & 0xff);
rds.hasECC = true;
switch (rds.picode[0]) {
case '1': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[129];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[136];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[152];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[104];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[73];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[83];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[0];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[1];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[2];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[59];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[3];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[179];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[197];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[124];
else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[200];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[129];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[136];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[152];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[104];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[73];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[83];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[0];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[1];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[2];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[59];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[3];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[179];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[197];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[124];
else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[200];
break;
}
case '2': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[130];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[141];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[155];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[106];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[126];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[95];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[4];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[5];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[6];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[7];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[8];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[180];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[187];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[77];
else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[218];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[130];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[141];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[155];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[106];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[126];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[95];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[4];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[5];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[6];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[7];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[8];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[180];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[187];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[77];
else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[218];
break;
}
case '3': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[224];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[156];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[132];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[112];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[119];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[72];
else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[92];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[9];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[10];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[11];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[12];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[16];
else if (rds.ECC == 0xE5) rds.ECCtext = ECCtext[63];
else if (rds.ECC == 0xE6) rds.ECCtext = ECCtext[228];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[181];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[227];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[189];
else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[219];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[224];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[156];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[132];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[112];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[119];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[72];
else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[92];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[9];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[10];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[11];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[12];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[16];
else if (rds.ECC.get() == 0xE5) rds.ECCtext = ECCtext[63];
else if (rds.ECC.get() == 0xE6) rds.ECCtext = ECCtext[228];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[181];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[227];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[189];
else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[219];
break;
}
case '4': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[148];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[157];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[127];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[69];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[91];
else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[103];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[13];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[14];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[15];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[182];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[210];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[213];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[148];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[157];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[127];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[69];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[91];
else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[103];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[13];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[14];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[15];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[182];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[210];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[213];
break;
}
case '5': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[133];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[159];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[68];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[79];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[88];
else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[78];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[17];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[18];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[19];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[65];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[183];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[191];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[193];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[133];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[159];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[68];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[79];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[88];
else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[78];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[17];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[18];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[19];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[65];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[183];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[191];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[193];
break;
}
case '6': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[134];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[163];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[171];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[96];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[105];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[123];
else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[125];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[20];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[21];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[22];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[24];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[184];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[76];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[201];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[134];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[163];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[171];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[96];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[105];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[123];
else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[125];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[20];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[21];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[22];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[24];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[184];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[76];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[201];
break;
}
case '7': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[139];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[161];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[164];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[113];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[81];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[84];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[25];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[26];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[27];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[62];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[185];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[207];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[221];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[139];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[161];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[164];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[113];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[81];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[84];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[25];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[26];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[27];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[62];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[185];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[207];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[221];
break;
}
case '8': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[142];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[170];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[116];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[117];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[74];
else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[82];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[28];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[29];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[30];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[31];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[32];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[186];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[195];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[212];
else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[190];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[142];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[170];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[116];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[117];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[74];
else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[82];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[28];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[29];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[30];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[31];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[32];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[186];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[195];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[212];
else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[190];
break;
}
case '9': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[143];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[162];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[174];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[120];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[102];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[107];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[33];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[34];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[35];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[36];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[37];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[80];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[209];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[196];
else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[211];
else if (rds.ECC == 0xF4) rds.ECCtext = ECCtext[190];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[143];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[162];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[174];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[120];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[102];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[107];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[33];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[34];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[35];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[36];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[37];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[80];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[209];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[196];
else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[211];
else if (rds.ECC.get() == 0xF4) rds.ECCtext = ECCtext[190];
break;
}
case 'A': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[131];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[144];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[166];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[85];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[97];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[121];
else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[70];
else if (rds.ECC == 0xD4) rds.ECCtext = ECCtext[86];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[38];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[39];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[40];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[41];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[60];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[178];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[215];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[214];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[131];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[144];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[166];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[85];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[97];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[121];
else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[70];
else if (rds.ECC.get() == 0xD4) rds.ECCtext = ECCtext[86];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[38];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[39];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[40];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[41];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[60];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[178];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[215];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[214];
break;
}
case 'B': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[137];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[145];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[167];
else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[101];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[100];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[109];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[42];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[43];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[44];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[61];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[66];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[206];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[188];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[203];
else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[93];
else if (rds.ECC == 0xF4) rds.ECCtext = ECCtext[204];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[138];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[137];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[145];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[167];
else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[158];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[101];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[100];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[109];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[42];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[43];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[44];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[61];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[66];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[206];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[188];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[203];
else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[93];
else if (rds.ECC.get() == 0xF4) rds.ECCtext = ECCtext[204];
break;
}
case 'C': {
if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[223];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[140];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[146];
else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[169];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[110];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[108];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[111];
else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[87];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[45];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[46];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[47];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[48];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[118];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[190];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[216];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[194];
if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[138];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[223];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[140];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[146];
else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[169];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[110];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[108];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[111];
else if (rds.ECC.get() == 0xD3) rds.ECCtext = ECCtext[87];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[45];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[46];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[47];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[48];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[118];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[190];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[216];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[194];
break;
}
case 'D': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[225];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[150];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[154];
else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[90];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[89];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[0];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[49];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[23];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[122];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[198];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[217];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[128];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[138];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[225];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[150];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[154];
else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[158];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[90];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[89];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[0];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[49];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[23];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[122];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[198];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[217];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[128];
break;
}
case 'E': {
if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[151];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[172];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[175];
else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[99];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[115];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[94];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[50];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[51];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[52];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[53];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[64];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[98];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[199];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[208];
else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[205];
if (rds.ECC.get() == 0xA0) rds.ECCtext = ECCtext[226];
else if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[138];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[151];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[172];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[175];
else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[158];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[99];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[115];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[94];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[50];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[51];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[52];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[53];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[64];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[98];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[199];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[208];
else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[205];
break;
}
case 'F': {
if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[149];
else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[222];
else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[153];
else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[176];
else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158];
else if (rds.ECC == 0xA6) rds.ECCtext = ECCtext[168];
else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[67];
else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[75];
else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[114];
else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[54];
else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[55];
else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[56];
else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[57];
else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[58];
else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[202];
else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[192];
else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[220];
else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[71];
if (rds.ECC.get() == 0xA1) rds.ECCtext = ECCtext[149];
else if (rds.ECC.get() == 0xA2) rds.ECCtext = ECCtext[222];
else if (rds.ECC.get() == 0xA3) rds.ECCtext = ECCtext[153];
else if (rds.ECC.get() == 0xA4) rds.ECCtext = ECCtext[176];
else if (rds.ECC.get() == 0xA5) rds.ECCtext = ECCtext[158];
else if (rds.ECC.get() == 0xA6) rds.ECCtext = ECCtext[168];
else if (rds.ECC.get() == 0xD0) rds.ECCtext = ECCtext[67];
else if (rds.ECC.get() == 0xD1) rds.ECCtext = ECCtext[75];
else if (rds.ECC.get() == 0xD2) rds.ECCtext = ECCtext[114];
else if (rds.ECC.get() == 0xE0) rds.ECCtext = ECCtext[54];
else if (rds.ECC.get() == 0xE1) rds.ECCtext = ECCtext[55];
else if (rds.ECC.get() == 0xE2) rds.ECCtext = ECCtext[56];
else if (rds.ECC.get() == 0xE3) rds.ECCtext = ECCtext[57];
else if (rds.ECC.get() == 0xE4) rds.ECCtext = ECCtext[58];
else if (rds.ECC.get() == 0xF0) rds.ECCtext = ECCtext[202];
else if (rds.ECC.get() == 0xF1) rds.ECCtext = ECCtext[192];
else if (rds.ECC.get() == 0xF2) rds.ECCtext = ECCtext[220];
else if (rds.ECC.get() == 0xF3) rds.ECCtext = ECCtext[71];
break;
}
default: {
@@ -1596,9 +1596,10 @@ void TEF6686::clearRDS(bool fullsearchrds) {
for (uint8_t i = 0; i < 10; i++) rds.aid[i] = 0;
rdsgroup = rds.ECC = 254;
rdsgroup = 254;
rds.ECC.set(0);
rds.dabaffreq = rds.correctPI = correctPIold = processed_rdsblocks = piold = 0;
rds.PTY = 32;
rds.PTY.set(0);
rds.hasECC = rds.hasRT = rds.hasRDS = false;
rds.TP = rds.hasAF = rds.hasTA = false;
rds.hasEON = rds.hasCT = false;