c with classes and also remove useless drivers in tft_espi

This commit is contained in:
2026-01-08 21:43:59 +01:00
parent 67109d544d
commit ccd5ae694b
163 changed files with 387 additions and 12822 deletions
+263 -267
View File
@@ -534,8 +534,8 @@ void TEF6686::readRDS(byte showrdserrors) {
rdsgroup = rds.rdsB >> 11; // Includes version bit as LSB, better for the switch statement
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.set((rds.rdsB >> 5) & 0x1F);
rds.TP = bitRead(rds.rdsB, 10);
rds.PTY = ((rds.rdsB >> 5) & 0x1F);
rds.blockcounter[rdsgroup]++;
processed_rdsblocks++;
@@ -599,12 +599,12 @@ void TEF6686::readRDS(byte showrdserrors) {
}
if(segment == 0) rds.hasDynamicPTY = bitRead(rds.rdsB, 2) & 0x1F;
else if(segment == 1) rds.hasCompressed = bitRead(rds.rdsB, 2) & 0x1F;
else if(segment == 2) rds.hasArtificialhead = bitRead(rds.rdsB, 2) & 0x1F;
else if(segment == 3) rds.hasStereo = bitRead(rds.rdsB, 2) & 0x1F;
else if(segment == 1) rds.hasCompressed = (bitRead(rds.rdsB, 2) & 0x1F);
else if(segment == 2) rds.hasArtificialhead = (bitRead(rds.rdsB, 2) & 0x1F);
else if(segment == 3) rds.hasStereo = (bitRead(rds.rdsB, 2) & 0x1F);
}
rds.hasTA = (bitRead(rds.rdsB, 4));
rds.TA = bitRead(rds.rdsB, 4);
if (!rdsCerrorThreshold && rdsgroup == RDS_GROUP_0A && rds.rdsC != rdsCold) {
if ((rds.rdsC >> 8) > 224 && (rds.rdsC >> 8) < 250) {
@@ -760,297 +760,297 @@ void TEF6686::readRDS(byte showrdserrors) {
case RDS_GROUP_1A: {
if (!rdsCerrorThreshold && ((rds.rdsC >> 12) & 0x07) == 0) {
rds.ECC.set(rds.rdsC & 0xff);
rds.ECC = (rds.rdsC & 0xff);
rds.hasECC = true;
switch (rds.picode[0]) {
case '1': {
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];
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];
break;
}
case '2': {
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];
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];
break;
}
case '3': {
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];
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];
break;
}
case '4': {
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];
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];
break;
}
case '5': {
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];
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];
break;
}
case '6': {
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];
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];
break;
}
case '7': {
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];
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];
break;
}
case '8': {
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];
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];
break;
}
case '9': {
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];
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];
break;
}
case 'A': {
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];
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];
break;
}
case 'B': {
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];
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];
break;
}
case 'C': {
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];
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];
break;
}
case 'D': {
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];
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];
break;
}
case 'E': {
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];
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];
break;
}
case 'F': {
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];
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];
break;
}
default: {
@@ -1190,10 +1190,10 @@ void TEF6686::readRDS(byte showrdserrors) {
rds.aid_counter++;
}
if (rds.rdsD == 0xCD46) rds.hasTMC.set(true);
if (rds.rdsD == 0xCD46) rds.hasTMC = true;
if (rds.rdsD == 0x4BD7) {
rds.hasRTplus.set(true);
rds.hasRTplus = true;
rtplusblock = ((rds.rdsB & 0x1F) >> 1) * 2;
}
@@ -1285,7 +1285,7 @@ void TEF6686::readRDS(byte showrdserrors) {
case RDS_GROUP_11A:
case RDS_GROUP_12A:
case RDS_GROUP_13A: {
if ((!rdsBerrorThreshold && !rdsCerrorThreshold && !rdsDerrorThreshold) && rtplusblock == rdsgroup && rds.hasRTplus.get()) {
if ((!rdsBerrorThreshold && !rdsCerrorThreshold && !rdsDerrorThreshold) && rtplusblock == rdsgroup && rds.hasRTplus) {
rds.rdsplusTag1 = ((rds.rdsB & 0x07) << 3) + (rds.rdsC >> 13);
rds.rdsplusTag2 = ((rds.rdsC & 0x01) << 5) + (rds.rdsD >> 11);
uint16_t start_marker_1 = (rds.rdsC >> 7) & 0x3F;
@@ -1362,7 +1362,7 @@ void TEF6686::readRDS(byte showrdserrors) {
}
}
if (!rdsBerrorThreshold && rdsgroup == RDS_GROUP_8A && (bitRead(rds.rdsB, 15))) rds.hasTMC.set(true);
if (!rdsBerrorThreshold && rdsgroup == RDS_GROUP_8A && (bitRead(rds.rdsB, 15))) rds.hasTMC = true;
if ((!rdsBerrorThreshold && !rdsCerrorThreshold && !rdsDerrorThreshold) && DABAFblock == rdsgroup && rds.hasDABAF) {
rds.dabaffreq = (rds.rdsC * 16);
@@ -1386,7 +1386,7 @@ void TEF6686::readRDS(byte showrdserrors) {
case RDS_GROUP_14A: {
if (!rdsAerrorThreshold && !rdsBerrorThreshold && !rdsCerrorThreshold && !rdsDerrorThreshold) {
rds.hasEON.set(true);
rds.hasEON = true;
bool isValuePresent = false;
int eonIndex = -1;
@@ -1539,8 +1539,8 @@ void TEF6686::clearRDS(bool fullsearchrds) {
devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, fullsearchrds ? 3 : 1, 1, 0);
rds.piBuffer.clear();
rds.stationName = rds.stationText = rds.stationNameLong = "";
rds.stationText32 = rds.RTContent1 = rds.RTContent2 = "";
rds.PTYN = rds.ECCtext = rds.stationIDtext = "";
rds.PTYN = rds.stationText32 = rds.RTContent1 = rds.RTContent2 = "";;
rds.ECCtext = rds.stationIDtext = "";
rds.stationStatetext = rds.enhancedRTtext = PSLongtext = "";
for (uint8_t i = 0; i < 8; i++) {
@@ -1597,21 +1597,17 @@ void TEF6686::clearRDS(bool fullsearchrds) {
for (uint8_t i = 0; i < 10; i++) rds.aid[i] = 0;
rdsgroup = 254;
rds.ECC.set(0);
rds.ECC = rds.PTY = 0;
rds.dabaffreq = rds.correctPI = correctPIold = processed_rdsblocks = piold = 0;
rds.PTY.set(0);
rds.hasECC = rds.hasRT = rds.hasRDS = false;
rds.TP = rds.hasAF = rds.hasTA = false;
rds.hasCT = false;
rds.hasAF = false;
rds.hasCT = rds.hasRTplus = rds.hasTMC = rds.hasEON = false;
rds.hasAID = rds.hasPTYN = rds.hasLongPS = false;
rds.hasRTplus.set(false);
rds.hasTMC.set(false);
rds.hasEON.set(false);
rds.TA = rds.TP = rds.hasCompressed = rds.hasArtificialhead = rds.hasStereo = false;
rds.hasDABAF = rds.hasEnhancedRT = false;
rt_process = ps_process = pslong_process = false;
rds.rdsreset = true;
rds.hasArtificialhead = rds.hasCompressed = false;
rds.hasDynamicPTY = rds.hasStereo = false;
rds.hasDynamicPTY = false;
af_counter = af_updatecounter = eon_counter = 0;
afreset = rds.rdsAerror = rds.rdsBerror = rds.rdsCerror = rds.rdsDerror = true;
initrt = initab = true;
+6 -13
View File
@@ -524,12 +524,10 @@ void XDRGTKRoutine() {
XDRBWset = atol(buff + 1);
DataPrint("F" + String(XDRBWset) + "\n");
if (XDRBWset < 0) {
XDRBWsetold = XDRBWset;
BWset = 0;
} else if (XDRBWset < 16) {
BWset = XDRBWset + 1;
XDRBWsetold = XDRBWset;
} else XDRBWset = XDRBWsetold;
}
doBW();
break;
} case 'G': {
@@ -714,13 +712,9 @@ void XDRGTKRoutine() {
radio.SetFreq(frequency);
}
if (band == BAND_FM) {
DataPrint("T" + String((frequency + ConverterSet * 100) * 10) + "\n");
} else if (band == BAND_OIRT) {
DataPrint("T" + String(frequency_OIRT * 10) + "\n");
} else {
DataPrint("T" + String(frequency_AM) + "\n");
}
if (band == BAND_FM) DataPrint("T" + String((frequency + ConverterSet * 100) * 10) + "\n");
else if (band == BAND_OIRT) DataPrint("T" + String(frequency_OIRT * 10) + "\n");
else DataPrint("T" + String(frequency_AM) + "\n");
ShowFreq(0);
RDSstatus = false;
store = true;
@@ -805,20 +799,19 @@ void XDRGTKRoutine() {
}
DataPrint("U");
frequencyold = frequency;
for (freq_scan = scanner_start; freq_scan <= scanner_end; freq_scan += scanner_step) {
radio.SetFreq(freq_scan);
delay(5);
DataPrint(String(freq_scan * 10, DEC));
DataPrint(" = ");
if (band < BAND_GAP) radio.getStatus(&SStatus, &USN, &WAM, &OStatus, &BW, &MStatus, &CN); else radio.getStatusAM(&SStatus, &USN, &WAM, &OStatus, &BW, &MStatus, &CN);
if (band < BAND_GAP) radio.getStatus(&SStatus, &USN, &WAM, &OStatus, &BW, &MStatus, &CN); else radio.getStatusAM(&SStatus, &USN, &WAM, &OStatus, &BW, &MStatus, &CN);
DataPrint(String((SStatus / 10) + 10, DEC));
DataPrint(", ");
}
DataPrint("\n");
radio.SetFreq(frequencyold);
radio.SetFreq(frequency);
BuildDisplay();
SelectBand();
BWset = BWsetRecall;
+5 -15
View File
@@ -17,18 +17,18 @@ bool dynamicspi = false;
bool Data_Accelerator = false;
bool advancedRDS, afmethodBold, afpage;
bool afscreen, aftest, artheadold;
bool afscreen, aftest;
bool autoDST, autolog, autologged;
bool autosquelch = true, batterydetect = true, beepresetstart;
bool beepresetstop, BWreset, bwtouchtune;
bool BWtune, change, clockampm;
bool compressedold, direction, dropout;
bool direction, dropout;
bool dynamicPTYold, edgebeep, externaltune;
bool findMemoryAF;
bool firstTouchHandled = false;
bool flashing;
bool fmsi, fullsearchrds;
bool hasafold, hasCTold, haseonold;
bool hasafold, haseonold;
bool initdxscan, invertdisplay, leave;
bool LowLevelInit;
bool memorystore;
@@ -42,7 +42,6 @@ bool rdsflagreset;
bool rdsreset;
bool rdsstatscreen;
bool RDSSPYTCP, RDSSPYUSB;
bool rdsstereoold;
bool rotaryaccelerate = true;
bool rtcset;
bool scandxmode;
@@ -65,7 +64,6 @@ bool SQ;
bool Stereostatusold;
bool StereoToggle;
bool store;
bool TAold, TPold;
bool touchrepeat = false;
bool touch_detect;
bool tuned;
@@ -223,7 +221,6 @@ int SStatusold;
int Stereostatus;
int volume;
int XDRBWset;
int XDRBWsetold;
int xPos;
int xPos2;
int16_t OStatus;
@@ -252,7 +249,6 @@ String ECCString;
String eonpsold[20];
String PIold;
String PSold;
String ptynold = " ";
String PTYold;
String rds_clock;
String rds_clockold;
@@ -270,8 +266,7 @@ String StereoStatusCommandold;
String SWMIBandstring = String();
String SWMIBandstringold = String();
String XDRGTK_key;
String XDRGTKRDS;
String XDRGTKRDSold;
Detector<String, 1> XDRGTKRDS{""};
uint16_t BW;
uint16_t MStatus;
uint16_t SWMIBandPos;
@@ -282,7 +277,7 @@ uint16_t WAM;
uint8_t buff_pos;
unsigned int ConverterSet;
unsigned int freq_scan;
unsigned int frequency;
Detector<unsigned int, 1> frequency{0};
unsigned int frequency_OIRT;
unsigned int frequency_AM;
unsigned int frequency_LW;
@@ -303,7 +298,6 @@ unsigned int frequency_MIBand_75M;
unsigned int frequency_MIBand_90M;
unsigned int frequency_MW;
unsigned int frequency_SW;
unsigned int frequencyold;
unsigned int HighEdgeOIRTSet;
unsigned int HighEdgeSet;
unsigned int LowEdgeOIRTSet;
@@ -328,8 +322,6 @@ unsigned long aftickerhold;
unsigned long aftimer;
unsigned long autosquelchtimer;
unsigned long blockcounterold[33];
unsigned long eccticker;
unsigned long ecctickerhold;
unsigned long eonticker;
unsigned long eontickerhold;
unsigned long flashingtimer;
@@ -343,8 +335,6 @@ unsigned long peakholdmillis;
unsigned long processed_rdsblocksold[33];
unsigned long pslongticker;
unsigned long pslongtickerhold;
unsigned long rtplusticker;
unsigned long rtplustickerhold;
unsigned long rtticker;
unsigned long rttickerhold;
unsigned long rotarytimer;
+1 -8
View File
@@ -588,7 +588,7 @@ void BuildAFScreen() {
if (afpagenr == 1) {
if (!radio.rds.hasAF) tftPrint(ALEFT, textUI(87), 6, 48, PrimaryColor, PrimaryColorSmooth, 16);
} else if (afpagenr == 2) {
if (!radio.rds.hasEON.get()) tftPrint(ALEFT, textUI(88), 6, 48, PrimaryColor, PrimaryColorSmooth, 16);
if (!radio.rds.hasEON) tftPrint(ALEFT, textUI(88), 6, 48, PrimaryColor, PrimaryColorSmooth, 16);
}
RDSstatusold = !RDSstatusold;
ShowFreq(0);
@@ -2977,12 +2977,7 @@ void BuildAdvancedRDS() {
stationIDold = " ";
stationStateold = " ";
af_counterold = 254;
TAold = false;
TPold = false;
dynamicPTYold = false;
artheadold = false;
compressedold = false;
rdsstereoold = false;
hasafold = false;
haseonold = false;
BWreset = true;
@@ -3102,8 +3097,6 @@ void BuildDisplay() {
batteryold = 6;
batteryVold = 0;
vPerold = 0;
TAold = false;
TPold = false;
haseonold = false;
rds_clockold = "";
PIold = " ";
+5 -5
View File
@@ -222,10 +222,10 @@ byte addRowToCSV() {
stationName.replace(",", " ");
radioTextModified.replace(",", " ");
String TA = radio.rds.hasTA ? "" : " ";
String TA = radio.rds.TA ? "" : " ";
String TP = radio.rds.TP ? "" : " ";
String Stereo = radio.getStereoStatus() ? "" : " ";
String pty = String(radio.rds.PTY.get());
String pty = String(radio.rds.PTY);
String ECC = "--";
if (radio.rds.hasECC) {
char eccBuffer[3];
@@ -412,13 +412,13 @@ void sendUDPlog() {
}
String RTPLUS = "";
if (radio.rds.hasRTplus.get()) RTPLUS += radio.rds.RTContent1 + ";" + radio.rds.RTContent2;
if (radio.rds.hasRTplus) RTPLUS += radio.rds.RTContent1 + ";" + radio.rds.RTContent2;
// Construct the data row to send via UDP
String row = CHIP + "," + VERSION + "," + String(scandxmode) + "," +
currentDateTime + "," + frequencyFormatted + "," + String(radio.rds.picode).substring(0, 4) + "," +
signal + "," + String(radio.getStereoStatus()) + "," + String(radio.rds.hasTA) + "," +
String(radio.rds.TP) + "," + String(radio.rds.hasTMC.get()) + "," + String(radio.rds.PTY.get()) + "," +
signal + "," + String(radio.getStereoStatus()) + "," + String(radio.rds.TA) + "," +
String(radio.rds.TP) + "," + String(radio.rds.hasTMC) + "," + String(radio.rds.PTY) + "," +
ECC + "," + stationName + "," + radioTextModified + "," +
AF + "," + EON + "," + RTPLUS + "\n";
+22 -32
View File
@@ -23,30 +23,26 @@ void ShowAdvancedRDS() {
dynamicPTYold = radio.rds.hasDynamicPTY;
}
if (radio.rds.hasArtificialhead != artheadold) {
if (radio.rds.hasArtificialhead.changed(0)) {
if (radio.rds.hasArtificialhead) tft.fillCircle(310, 153, 5, InsignificantColor); else tft.fillCircle(310, 153, 5, SignificantColor);
artheadold = radio.rds.hasArtificialhead;
}
if (radio.rds.hasCompressed != compressedold) {
if (radio.rds.hasCompressed.changed(0)) {
if (radio.rds.hasCompressed) tft.fillCircle(310, 168, 5, InsignificantColor); else tft.fillCircle(310, 168, 5, SignificantColor);
compressedold = radio.rds.hasCompressed;
}
if (radio.rds.hasStereo != rdsstereoold) {
if (radio.rds.hasStereo.changed(0)) {
if (radio.rds.hasStereo) tft.fillCircle(310, 183, 5, InsignificantColor); else tft.fillCircle(310, 183, 5, SignificantColor);
rdsstereoold = radio.rds.hasStereo;
}
if (ptynold != radio.rds.PTYN || rdsreset) {
if (radio.rds.PTYN.changed(0) || rdsreset) {
if (!screenmute) {
if (ptynold != "PTYN N/A" || radio.rds.hasPTYN) {
if (radio.rds.PTYN.getPrev() != "PTYN N/A" || radio.rds.hasPTYN) {
tftPrint(ALEFT, "PTYN N/A", 216, 109, BackgroundColor, BackgroundColor, 16);
tftPrint(ALEFT, ptynold, 216, 109, BackgroundColor, BackgroundColor, 16);
tftPrint(ALEFT, radio.rds.PTYN.getPrev(), 216, 109, BackgroundColor, BackgroundColor, 16);
}
if (!radio.rds.hasPTYN) radio.rds.PTYN = "PTYN N/A";
tftPrint(ALEFT, String(radio.rds.PTYN), 216, 109, RDSColor, RDSColorSmooth, 16);
ptynold = radio.rds.PTYN;
}
}
@@ -65,8 +61,8 @@ void ShowAdvancedRDS() {
if (wifi) {
Udp.beginPacket(remoteip, 9030);
Udp.print("from=TEF_tuner_" + String(stationlistid, DEC) + ";ECC=");
if (radio.rds.ECC.get() < 0x10) Udp.print("0");
Udp.print(String(radio.rds.ECC.get(), HEX));
if (radio.rds.ECC < 0x10) Udp.print("0");
Udp.print(String(radio.rds.ECC, HEX));
Udp.endPacket();
}
}
@@ -83,27 +79,21 @@ void ShowAdvancedRDS() {
if(!screenmute) eonDisplay.update(eonstring, RDSstatus, RDSColor, RDSColorSmooth, RDSDropoutColor, RDSDropoutColorSmooth, BackgroundColor);
String rtplusstring;
if (radio.rds.hasRTplus.get()) rtplusstring = (radio.rds.rdsplusTag1 != 169 ? String(textUI(radio.rds.rdsplusTag1)) + ": " + String(radio.rds.RTContent1) : "") + (radio.rds.rdsplusTag2 != 169 ? " - " + String(textUI(radio.rds.rdsplusTag2)) + ": " + String(radio.rds.RTContent2) : "") + " "; else rtplusstring = textUI(89);
if (radio.rds.hasRTplus) rtplusstring = (radio.rds.rdsplusTag1 != 169 ? String(textUI(radio.rds.rdsplusTag1)) + ": " + String(radio.rds.RTContent1) : "") + (radio.rds.rdsplusTag2 != 169 ? " - " + String(textUI(radio.rds.rdsplusTag2)) + ": " + String(radio.rds.RTContent2) : "") + " "; else rtplusstring = textUI(89);
if (radio.rds.hasRTplus.changed(0)) {
if (!screenmute) {
if (radio.rds.hasRTplus.get()) tftPrint(ALEFT, "RT+", 123, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "RT+", 123, 51, GreyoutColor, BackgroundColor, 16);
if (radio.rds.hasRTplus) tftPrint(ALEFT, "RT+", 123, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "RT+", 123, 51, GreyoutColor, BackgroundColor, 16);
}
}
if(!screenmute) rtplusDisplay.update(rtplusstring, RDSstatus, RDSColor, RDSColorSmooth, RDSDropoutColor, RDSDropoutColorSmooth, BackgroundColor);
if (TPold != radio.rds.TP) {
if (!screenmute) {
if (radio.rds.TP) tftPrint(ALEFT, "TP", 2, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TP", 2, 51, GreyoutColor, BackgroundColor, 16);
}
TPold = radio.rds.TP;
if (radio.rds.TP.changed(0) && !screenmute) {
if (radio.rds.TP) tftPrint(ALEFT, "TP", 2, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TP", 2, 51, GreyoutColor, BackgroundColor, 16);
}
if (TAold != radio.rds.hasTA) {
if (!screenmute) {
if (radio.rds.hasTA) tftPrint(ALEFT, "TA", 24, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TA", 24, 51, GreyoutColor, BackgroundColor, 16);
}
TAold = radio.rds.hasTA;
if (radio.rds.TA.changed(0) && !screenmute) {
if (radio.rds.TA) tftPrint(ALEFT, "TA", 24, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TA", 24, 51, GreyoutColor, BackgroundColor, 16);
}
if (afmethodBold != radio.afmethodB || rdsreset) {
@@ -121,7 +111,7 @@ void ShowAdvancedRDS() {
if (radio.rds.hasTMC.changed(0)) {
if (!screenmute) {
if (radio.rds.hasTMC.get()) tftPrint(ALEFT, "TMC", 88, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TMC", 88, 51, GreyoutColor, BackgroundColor, 16);
if (radio.rds.hasTMC) tftPrint(ALEFT, "TMC", 88, 51, RDSColor, RDSColorSmooth, 16); else tftPrint(ALEFT, "TMC", 88, 51, GreyoutColor, BackgroundColor, 16);
}
}
@@ -266,7 +256,7 @@ void readRds() {
XDRGTKRDS += hexbuf;
XDRGTKRDS += '\n';
if (XDRGTKRDS != XDRGTKRDSold) {
if (XDRGTKRDS.changed(0)) {
uint8_t piError = radio.rds.rdsErr >> 14;
if (piError < 3) {
uint8_t piState = radio.rds.piBuffer.add(radio.rds.rdsA, piError);
@@ -278,8 +268,9 @@ void readRds() {
DataPrint(F("\n"));
}
}
XDRGTKRDSold = XDRGTKRDS;
XDRGTKRDS.toUpperCase();
String upper_buffer = XDRGTKRDS;
upper_buffer.toUpperCase();
XDRGTKRDS.amend(upper_buffer);
DataPrint(XDRGTKRDS);
}
}
@@ -418,7 +409,7 @@ void showPI() {
void showPTY() {
if(radio.rds.PTY.changed(0)) {
String PTYString = String(radio.rds.PTY.get()) + "/" + (radio.rds.region != 0 ? (radio.rds.region == 0 ? PTY_EU[radio.rds.PTY.get()] : PTY_USA[radio.rds.PTY.get()]) : textUI(228 + radio.rds.PTY.get()));
String PTYString = String(radio.rds.PTY) + "/" + (radio.rds.region != 0 ? (radio.rds.region == 0 ? PTY_EU[radio.rds.PTY] : PTY_USA[radio.rds.PTY]) : textUI(228 + radio.rds.PTY));
if (!screenmute) {
if (advancedRDS) {
@@ -434,7 +425,7 @@ void showPTY() {
if (wifi) {
Udp.beginPacket(remoteip, 9030);
Udp.print("from=TEF_tuner_" + String(stationlistid, DEC) + ";PTY=");
Udp.print(String(radio.rds.PTY.get(), HEX));
Udp.print(String(radio.rds.PTY, HEX));
Udp.endPacket();
}
}
@@ -567,7 +558,7 @@ void showCT() {
else strftime(dateStr, sizeof(dateStr), "%d-%m-%y", localtime(&t));
rds_date = String(dateStr);
if (!screenmute && showclock && (rds_clock != rds_clockold || rds_date != rds_dateold || hasCTold != radio.rds.hasCT)) {
if (!screenmute && showclock && (rds_clock != rds_clockold || rds_date != rds_dateold || radio.rds.hasCT.changed(0))) {
if ((radio.rds.hasCT && RDSstatus) || NTPupdated) {
rtcset = true;
@@ -590,7 +581,6 @@ void showCT() {
rds_clockold = rds_clock;
rds_dateold = rds_date;
hasCTold = radio.rds.hasCT;
}
void showRadioText() {