PE5PVB / TEF6686_ESP32

Advanced arduino based firmware for TEF6686 with ESP32
GNU General Public License v3.0
114 stars 44 forks source link

ECC not decoded on UK stations #544

Closed mrwish7 closed 7 months ago

mrwish7 commented 7 months ago

There seems to be a decode issue with the ECC in the advanced RDS view on UK stations that carry it.

BBC stations transmit the correct ECC flag for the UK (E1), but the TEF always shows ECC: N/A when tuned to them. The fm-dx-webserver (using librdsparser) and RDS Spy both parse the ECC correctly on these transmissions.

IMG_4139

2024-04-19

Screenshot 2024-04-19 095624

andimik commented 7 months ago

Confirmed. This has already been discussed in https://discord.com/channels/1053804249651359765/1053804431721898056/1230804054452736012 and following posts.

the ECC for UK is listed in TEF6686.cpp

if (rds.ECC == 225) rds.ECCtext = ECCtext[46];

(225 dec is 0xE1)

"U.K.", // 46

And I've tested an MPX from Croatia (also PI-Code starting with Cxxx, but ECC is E3), there I can see it (Hint: Please ignore Italian in LIC, this is not an error on TEF side).

IMG_20240423_203049

And I could not find a problem in the table below. UK is listed only once and E1 with Cxxx is uniq.

Code case ECC ECC_hex ECC_text Lookup
if (rds.ECC == 162) rds.ECCtext = ECCtext[129]; 1 162 A2 129 Anguilla
if (rds.ECC == 240) rds.ECCtext = ECCtext[179]; 1 240 F0 179 Aus. ACT
if (rds.ECC == 163) rds.ECCtext = ECCtext[136]; 1 163 A3 136 Bolivia
if (rds.ECC == 208) rds.ECCtext = ECCtext[104]; 1 208 D0 104 Cameroon
if (rds.ECC == 224) rds.ECCtext = ECCtext[0]; 1 224 E0 0 Germany
if (rds.ECC == 225) rds.ECCtext = ECCtext[1]; 1 225 E1 1 Greece
if (rds.ECC == 164) rds.ECCtext = ECCtext[152]; 1 164 A4 152 Guatemala
if (rds.ECC == 241) rds.ECCtext = ECCtext[197]; 1 241 F1 197 Kiribati
if (rds.ECC == 242) rds.ECCtext = ECCtext[124]; 1 242 F2 124 Kuwait
if (rds.ECC == 243) rds.ECCtext = ECCtext[200]; 1 243 F3 200 Laos
if (rds.ECC == 228) rds.ECCtext = ECCtext[3]; 1 228 E4 3 Moldova
if (rds.ECC == 227) rds.ECCtext = ECCtext[59]; 1 227 E3 59 Monteneg.
if (rds.ECC == 226) rds.ECCtext = ECCtext[2]; 1 226 E2 2 Morocco
if (rds.ECC == 209) rds.ECCtext = ECCtext[73]; 1 209 D1 73 Namibia
if (rds.ECC == 210) rds.ECCtext = ECCtext[83]; 1 210 D2 83 S. Leone
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; 1 160 A0 226 USA/VI/ PR
if (rds.ECC == 224) rds.ECCtext = ECCtext[4]; 2 224 E0 4 Algeria
if (rds.ECC == 162) rds.ECCtext = ECCtext[130]; 2 162 A2 130 Antigua.
if (rds.ECC == 240) rds.ECCtext = ECCtext[180]; 2 240 F0 180 Aus. NSW
if (rds.ECC == 241) rds.ECCtext = ECCtext[187]; 2 241 F1 187 Bhutan
if (rds.ECC == 208) rds.ECCtext = ECCtext[106]; 2 208 D0 106 Centr. Af.
if (rds.ECC == 163) rds.ECCtext = ECCtext[141]; 2 163 A3 141 Colombia
if (rds.ECC == 225) rds.ECCtext = ECCtext[5]; 2 225 E1 5 Cyprus
if (rds.ECC == 226) rds.ECCtext = ECCtext[6]; 2 226 E2 6 Czech R.
if (rds.ECC == 228) rds.ECCtext = ECCtext[8]; 2 228 E4 8 Estonia
if (rds.ECC == 164) rds.ECCtext = ECCtext[155]; 2 164 A4 155 Honduras
if (rds.ECC == 227) rds.ECCtext = ECCtext[7]; 2 227 E3 7 Ireland
if (rds.ECC == 209) rds.ECCtext = ECCtext[126]; 2 209 D1 126 Liberia
if (rds.ECC == 242) rds.ECCtext = ECCtext[77]; 2 242 F2 77 Qatar
if (rds.ECC == 243) rds.ECCtext = ECCtext[218]; 2 243 F3 218 Thailand
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; 2 160 A0 226 USA/VI/ PR
if (rds.ECC == 210) rds.ECCtext = ECCtext[95]; 2 210 D2 95 Zimbabwe
if (rds.ECC == 224) rds.ECCtext = ECCtext[9]; 3 224 E0 9 Andorra
if (rds.ECC == 164) rds.ECCtext = ECCtext[132]; 3 164 A4 132 Aruba
if (rds.ECC == 240) rds.ECCtext = ECCtext[181]; 3 240 F0 181 Aus. VIC
if (rds.ECC == 241) rds.ECCtext = ECCtext[227]; 3 241 F1 227 Bangladesh
if (rds.ECC == 242) rds.ECCtext = ECCtext[189]; 3 242 F2 189 Cambodia
if (rds.ECC == 208) rds.ECCtext = ECCtext[112]; 3 208 D0 112 Djibouti
if (rds.ECC == 162) rds.ECCtext = ECCtext[224]; 3 162 A2 224 EC or BR
if (rds.ECC == 209) rds.ECCtext = ECCtext[119]; 3 209 D1 119 Ghana
if (rds.ECC == 163) rds.ECCtext = ECCtext[156]; 3 163 A3 156 Jamaica
if (rds.ECC == 229) rds.ECCtext = ECCtext[63]; 3 229 E5 63 Kyrgystan
if (rds.ECC == 228) rds.ECCtext = ECCtext[16]; 3 228 E4 16 Macedonia
if (rds.ECC == 210) rds.ECCtext = ECCtext[72]; 3 210 D2 72 Mozambiq.
if (rds.ECC == 226) rds.ECCtext = ECCtext[11]; 3 226 E2 11 Poland
if (rds.ECC == 225) rds.ECCtext = ECCtext[10]; 3 225 E1 10 San Marino
if (rds.ECC == 243) rds.ECCtext = ECCtext[219]; 3 243 F3 219 Tonga
if (rds.ECC == 227) rds.ECCtext = ECCtext[12]; 3 227 E3 12 Turkey
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; 3 160 A0 226 USA/VI/ PR
if (rds.ECC == 211) rds.ECCtext = ECCtext[92]; 3 211 D3 92 W. Sahara
if (rds.ECC == 240) rds.ECCtext = ECCtext[182]; 4 240 F0 182 Aus. QLD
if (rds.ECC == 211) rds.ECCtext = ECCtext[103]; 4 211 D3 103 Cabinda
if (rds.ECC == 162) rds.ECCtext = ECCtext[148]; 4 162 A2 148 Falkland
if (rds.ECC == 224) rds.ECCtext = ECCtext[13]; 4 224 E0 13 Israel
if (rds.ECC == 208) rds.ECCtext = ECCtext[127]; 4 208 D0 127 Madagas.
if (rds.ECC == 163) rds.ECCtext = ECCtext[157]; 4 163 A3 157 Martinique
if (rds.ECC == 209) rds.ECCtext = ECCtext[69]; 4 209 D1 69 Mauritania
if (rds.ECC == 241) rds.ECCtext = ECCtext[210]; 4 241 F1 210 Pakistan
if (rds.ECC == 242) rds.ECCtext = ECCtext[213]; 4 242 F2 213 Samoa
if (rds.ECC == 225) rds.ECCtext = ECCtext[14]; 4 225 E1 14 Switzerl.
if (rds.ECC == 210) rds.ECCtext = ECCtext[91]; 4 210 D2 91 Uganda
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; 4 160 A0 226 USA/VI/ PR
if (rds.ECC == 226) rds.ECCtext = ECCtext[15]; 4 226 E2 15 Vatican
if (rds.ECC == 240) rds.ECCtext = ECCtext[183]; 5 240 F0 183 Aus. SA
if (rds.ECC == 162) rds.ECCtext = ECCtext[133]; 5 162 A2 133 Barbados
if (rds.ECC == 241) rds.ECCtext = ECCtext[191]; 5 241 F1 191 Fiji
if (rds.ECC == 242) rds.ECCtext = ECCtext[193]; 5 242 F2 193 India
if (rds.ECC == 224) rds.ECCtext = ECCtext[17]; 5 224 E0 17 Italy
if (rds.ECC == 225) rds.ECCtext = ECCtext[18]; 5 225 E1 18 Jordan
if (rds.ECC == 208) rds.ECCtext = ECCtext[68]; 5 208 D0 68 Mali
if (rds.ECC == 164) rds.ECCtext = ECCtext[159]; 5 164 A4 159 Montserrat
if (rds.ECC == 211) rds.ECCtext = ECCtext[78]; 5 211 D3 78 Rwanda
if (rds.ECC == 209) rds.ECCtext = ECCtext[79]; 5 209 D1 79 Sao Tome
if (rds.ECC == 226) rds.ECCtext = ECCtext[19]; 5 226 E2 19 Slovakia
if (rds.ECC == 210) rds.ECCtext = ECCtext[88]; 5 210 D2 88 Swaziland
if (rds.ECC == 227) rds.ECCtext = ECCtext[65]; 5 227 E3 65 Tajikistan
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; 5 160 A0 226 USA/VI/ PR
if (rds.ECC == 208) rds.ECCtext = ECCtext[96]; 6 208 D0 96 Angola
if (rds.ECC == 240) rds.ECCtext = ECCtext[184]; 6 240 F0 184 Aus. WA
if (rds.ECC == 224) rds.ECCtext = ECCtext[20]; 6 224 E0 20 Belgium
if (rds.ECC == 162) rds.ECCtext = ECCtext[134]; 6 162 A2 134 Belize
if (rds.ECC == 209) rds.ECCtext = ECCtext[105]; 6 209 D1 105 Cape Ver.
if (rds.ECC == 225) rds.ECCtext = ECCtext[21]; 6 225 E1 21 Finland
if (rds.ECC == 210) rds.ECCtext = ECCtext[123]; 6 210 D2 123 Kenya
if (rds.ECC == 211) rds.ECCtext = ECCtext[125]; 6 211 D3 125 Lesotho
if (rds.ECC == 242) rds.ECCtext = ECCtext[201]; 6 242 F2 201 Macao
if (rds.ECC == 241) rds.ECCtext = ECCtext[76]; 6 241 F1 76 Oman
if (rds.ECC == 163) rds.ECCtext = ECCtext[163]; 6 163 A3 163 Paraguay
if (rds.ECC == 226) rds.ECCtext = ECCtext[22]; 6 226 E2 22 Syria
if (rds.ECC == 164) rds.ECCtext = ECCtext[171]; 6 164 A4 171 T & T
if (rds.ECC == 228) rds.ECCtext = ECCtext[24]; 6 228 E4 24 Ukraine
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; 6 160 A0 226 USA/VI/ PR
if (rds.ECC == 240) rds.ECCtext = ECCtext[185]; 7 240 F0 185 Aus. TAS
if (rds.ECC == 162) rds.ECCtext = ECCtext[139]; 7 162 A2 139 Cayman I.
if (rds.ECC == 208) rds.ECCtext = ECCtext[113]; 7 208 D0 113 E. Guinea
if (rds.ECC == 228) rds.ECCtext = ECCtext[62]; 7 228 E4 62 Kosovo
if (rds.ECC == 225) rds.ECCtext = ECCtext[26]; 7 225 E1 26 Luxemb.
if (rds.ECC == 241) rds.ECCtext = ECCtext[207]; 7 241 F1 207 Nauru
if (rds.ECC == 163) rds.ECCtext = ECCtext[161]; 7 163 A3 161 Nicaragua
if (rds.ECC == 164) rds.ECCtext = ECCtext[164]; 7 164 A4 164 Peru
if (rds.ECC == 224) rds.ECCtext = ECCtext[25]; 7 224 E0 25 Russia
if (rds.ECC == 209) rds.ECCtext = ECCtext[81]; 7 209 D1 81 Senegal
if (rds.ECC == 210) rds.ECCtext = ECCtext[84]; 7 210 D2 84 Somalia
if (rds.ECC == 226) rds.ECCtext = ECCtext[27]; 7 226 E2 27 Tunisia
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; 7 160 A0 226 USA/VI/ PR
if (rds.ECC == 242) rds.ECCtext = ECCtext[221]; 7 242 F2 221 Vietnam
if (rds.ECC == 240) rds.ECCtext = ECCtext[186]; 8 240 F0 186 Aus. NT
if (rds.ECC == 225) rds.ECCtext = ECCtext[29]; 8 225 E1 29 Bulgaria
if (rds.ECC == 243) rds.ECCtext = ECCtext[190]; 8 243 F3 190 China
if (rds.ECC == 162) rds.ECCtext = ECCtext[142]; 8 162 A2 142 Costa R.
if (rds.ECC == 208) rds.ECCtext = ECCtext[116]; 8 208 D0 116 Gabon
if (rds.ECC == 209) rds.ECCtext = ECCtext[117]; 8 209 D1 117 Gambia
if (rds.ECC == 241) rds.ECCtext = ECCtext[195]; 8 241 F1 195 Iran
if (rds.ECC == 226) rds.ECCtext = ECCtext[30]; 8 226 E2 30 Madeira
if (rds.ECC == 227) rds.ECCtext = ECCtext[31]; 8 227 E3 31 Netherl.
if (rds.ECC == 210) rds.ECCtext = ECCtext[74]; 8 210 D2 74 Niger
if (rds.ECC == 224) rds.ECCtext = ECCtext[28]; 8 224 E0 28 Palestine
if (rds.ECC == 242) rds.ECCtext = ECCtext[212]; 8 242 F2 212 Philippin.
if (rds.ECC == 228) rds.ECCtext = ECCtext[32]; 8 228 E4 32 Portugal
if (rds.ECC == 211) rds.ECCtext = ECCtext[82]; 8 211 D3 82 Seychel.
if (rds.ECC == 164) rds.ECCtext = ECCtext[170]; 8 164 A4 170 Suriname
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; 8 160 A0 226 USA/VI/ PR
if (rds.ECC == 224) rds.ECCtext = ECCtext[33]; 9 224 E0 33 Albania
if (rds.ECC == 209) rds.ECCtext = ECCtext[102]; 9 209 D1 102 Burundi
if (rds.ECC == 210) rds.ECCtext = ECCtext[107]; 9 210 D2 107 Chad
if (rds.ECC == 244) rds.ECCtext = ECCtext[190]; 9 244 F4 190 China
if (rds.ECC == 162) rds.ECCtext = ECCtext[143]; 9 162 A2 143 Cuba
if (rds.ECC == 225) rds.ECCtext = ECCtext[34]; 9 225 E1 34 Denmark
if (rds.ECC == 208) rds.ECCtext = ECCtext[120]; 9 208 D0 120 Guinea
if (rds.ECC == 242) rds.ECCtext = ECCtext[196]; 9 242 F2 196 Japan
if (rds.ECC == 227) rds.ECCtext = ECCtext[36]; 9 227 E3 36 Latvia
if (rds.ECC == 226) rds.ECCtext = ECCtext[35]; 9 226 E2 35 Liechtst.
if (rds.ECC == 241) rds.ECCtext = ECCtext[209]; 9 241 F1 209 N.Zealand
if (rds.ECC == 163) rds.ECCtext = ECCtext[162]; 9 163 A3 162 Panama
if (rds.ECC == 243) rds.ECCtext = ECCtext[211]; 9 243 F3 211 Papua N.G
if (rds.ECC == 240) rds.ECCtext = ECCtext[80]; 9 240 F0 80 Saudi Ara.
if (rds.ECC == 228) rds.ECCtext = ECCtext[37]; 9 228 E4 37 Slovenia
if (rds.ECC == 164) rds.ECCtext = ECCtext[174]; 9 164 A4 174 Uruguay
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; 9 160 A0 226 USA/VI/ PR
if (rds.ECC == 240) rds.ECCtext = ECCtext[178]; A 240 F0 178 Afganist.
if (rds.ECC == 162) rds.ECCtext = ECCtext[131]; A 162 A2 131 Argentina
if (rds.ECC == 228) rds.ECCtext = ECCtext[60]; A 228 E4 60 Armenia
if (rds.ECC == 209) rds.ECCtext = ECCtext[97]; A 209 D1 97 Ascn. Isl.
if (rds.ECC == 224) rds.ECCtext = ECCtext[38]; A 224 E0 38 Austria
if (rds.ECC == 163) rds.ECCtext = ECCtext[144]; A 163 A3 144 Dominica
if (rds.ECC == 225) rds.ECCtext = ECCtext[39]; A 225 E1 39 Gibraltar
if (rds.ECC == 210) rds.ECCtext = ECCtext[121]; A 210 D2 121 Guinea-B.
if (rds.ECC == 226) rds.ECCtext = ECCtext[40]; A 226 E2 40 Iceland
if (rds.ECC == 227) rds.ECCtext = ECCtext[41]; A 227 E3 41 Lebanon
if (rds.ECC == 211) rds.ECCtext = ECCtext[70]; A 211 D3 70 Mauritius
if (rds.ECC == 208) rds.ECCtext = ECCtext[85]; A 208 D0 85 S. Africa
if (rds.ECC == 212) rds.ECCtext = ECCtext[86]; A 212 D4 86 S. Sudan
if (rds.ECC == 242) rds.ECCtext = ECCtext[214]; A 242 F2 214 Singapore
if (rds.ECC == 241) rds.ECCtext = ECCtext[215]; A 241 F1 215 Solomon I.
if (rds.ECC == 164) rds.ECCtext = ECCtext[166]; A 164 A4 166 St. Kitts
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; A 160 A0 226 USA/VI/ PR
if (rds.ECC == 227) rds.ECCtext = ECCtext[61]; B 227 E3 61 Azerbaijan
if (rds.ECC == 209) rds.ECCtext = ECCtext[100]; B 209 D1 100 Botswana
if (rds.ECC == 162) rds.ECCtext = ECCtext[137]; B 162 A2 137 Brazil
if (rds.ECC == 241) rds.ECCtext = ECCtext[188]; B 241 F1 188 Brunei D.
if (rds.ECC == 208) rds.ECCtext = ECCtext[101]; B 208 D0 101 Burkina F.
if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; B 161 A1 138 Canada
if (rds.ECC == 210) rds.ECCtext = ECCtext[109]; B 210 D2 109 D. Congo
if (rds.ECC == 163) rds.ECCtext = ECCtext[145]; B 163 A3 145 Domini. R
if (rds.ECC == 224) rds.ECCtext = ECCtext[42]; B 224 E0 42 Hungary
if (rds.ECC == 225) rds.ECCtext = ECCtext[43]; B 225 E1 43 Iraq
if (rds.ECC == 242) rds.ECCtext = ECCtext[203]; B 242 F2 203 Maldives
if (rds.ECC == 244) rds.ECCtext = ECCtext[204]; B 244 F4 204 Marshall I
if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; B 165 A5 158 Mexico
if (rds.ECC == 226) rds.ECCtext = ECCtext[44]; B 226 E2 44 Monaco
if (rds.ECC == 240) rds.ECCtext = ECCtext[206]; B 240 F0 206 Myanmar
if (rds.ECC == 164) rds.ECCtext = ECCtext[167]; B 164 A4 167 St. Lucia
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; B 160 A0 226 USA/VI/ PR
if (rds.ECC == 228) rds.ECCtext = ECCtext[66]; B 228 E4 66 Uzbekistan
if (rds.ECC == 243) rds.ECCtext = ECCtext[93]; B 243 F3 93 Yemen
if (rds.ECC == 162) rds.ECCtext = ECCtext[223]; C 162 A2 223 BM or BR
if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; C 161 A1 138 Canada
if (rds.ECC == 163) rds.ECCtext = ECCtext[140]; C 163 A3 140 Chile
if (rds.ECC == 240) rds.ECCtext = ECCtext[190]; C 240 F0 190 China
if (rds.ECC == 209) rds.ECCtext = ECCtext[108]; C 209 D1 108 Comoros
if (rds.ECC == 208) rds.ECCtext = ECCtext[110]; C 208 D0 110 Congo
if (rds.ECC == 210) rds.ECCtext = ECCtext[111]; C 210 D2 111 Cote d'l.
if (rds.ECC == 227) rds.ECCtext = ECCtext[48]; C 227 E3 48 Croatia
if (rds.ECC == 164) rds.ECCtext = ECCtext[146]; C 164 A4 146 El Salvad.
if (rds.ECC == 228) rds.ECCtext = ECCtext[118]; C 228 E4 118 Georgia
if (rds.ECC == 242) rds.ECCtext = ECCtext[194]; C 242 F2 194 Indonesia
if (rds.ECC == 226) rds.ECCtext = ECCtext[47]; C 226 E2 47 Lithuania
if (rds.ECC == 224) rds.ECCtext = ECCtext[45]; C 224 E0 45 Malta
if (rds.ECC == 241) rds.ECCtext = ECCtext[216]; C 241 F1 216 Sri Lanka
if (rds.ECC == 165) rds.ECCtext = ECCtext[169]; C 165 A5 169 St.Vincent
if (rds.ECC == 211) rds.ECCtext = ECCtext[87]; C 211 D3 87 Sudan
if (rds.ECC == 225) rds.ECCtext = ECCtext[46]; C 225 E1 46 U.K.
if (rds.ECC == 162) rds.ECCtext = ECCtext[225]; D 162 A2 225 AN or BR
if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; D 161 A1 138 Canada
if (rds.ECC == 224) rds.ECCtext = ECCtext[0]; D 224 E0 0 Germany
if (rds.ECC == 163) rds.ECCtext = ECCtext[150]; D 163 A3 150 Grenada
if (rds.ECC == 164) rds.ECCtext = ECCtext[154]; D 164 A4 154 Haiti
if (rds.ECC == 227) rds.ECCtext = ECCtext[122]; D 227 E3 122 Kazakh.
if (rds.ECC == 225) rds.ECCtext = ECCtext[49]; D 225 E1 49 Libya
if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; D 165 A5 158 Mexico
if (rds.ECC == 240) rds.ECCtext = ECCtext[198]; D 240 F0 198 N. Korea
if (rds.ECC == 226) rds.ECCtext = ECCtext[23]; D 226 E2 23 Serbia
if (rds.ECC == 241) rds.ECCtext = ECCtext[217]; D 241 F1 217 Taiwan
if (rds.ECC == 209) rds.ECCtext = ECCtext[89]; D 209 D1 89 Tanzania
if (rds.ECC == 208) rds.ECCtext = ECCtext[90]; D 208 D0 90 Togo
if (rds.ECC == 242) rds.ECCtext = ECCtext[128]; D 242 F2 128 U.Arab.E.
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; D 160 A0 226 USA/VI/ PR
if (rds.ECC == 240) rds.ECCtext = ECCtext[98]; E 240 F0 98 Bahrein
if (rds.ECC == 208) rds.ECCtext = ECCtext[99]; E 208 D0 99 Benin
if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; E 161 A1 138 Canada
if (rds.ECC == 224) rds.ECCtext = ECCtext[50]; E 224 E0 50 Canaries
if (rds.ECC == 209) rds.ECCtext = ECCtext[115]; E 209 D1 115 Ethiopia
if (rds.ECC == 162) rds.ECCtext = ECCtext[151]; E 162 A2 151 Guadeloupe
if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; E 165 A5 158 Mexico
if (rds.ECC == 243) rds.ECCtext = ECCtext[205]; E 243 F3 205 Micronesia
if (rds.ECC == 242) rds.ECCtext = ECCtext[208]; E 242 F2 208 Nepal
if (rds.ECC == 225) rds.ECCtext = ECCtext[51]; E 225 E1 51 Romania
if (rds.ECC == 241) rds.ECCtext = ECCtext[199]; E 241 F1 199 S. Korea
if (rds.ECC == 226) rds.ECCtext = ECCtext[52]; E 226 E2 52 Spain
if (rds.ECC == 227) rds.ECCtext = ECCtext[53]; E 227 E3 53 Sweden
if (rds.ECC == 228) rds.ECCtext = ECCtext[64]; E 228 E4 64 Turkmenis.
if (rds.ECC == 163) rds.ECCtext = ECCtext[172]; E 163 A3 172 Turks & C.
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; E 160 A0 226 USA/VI/ PR
if (rds.ECC == 164) rds.ECCtext = ECCtext[175]; E 164 A4 175 Venezuela
if (rds.ECC == 210) rds.ECCtext = ECCtext[94]; E 210 D2 94 Zambia
if (rds.ECC == 162) rds.ECCtext = ECCtext[222]; F 162 A2 222 Bahamas
if (rds.ECC == 227) rds.ECCtext = ECCtext[57]; F 227 E3 57 Belarus
if (rds.ECC == 228) rds.ECCtext = ECCtext[58]; F 228 E4 58 Bosnia H.
if (rds.ECC == 224) rds.ECCtext = ECCtext[54]; F 224 E0 54 Egypt
if (rds.ECC == 210) rds.ECCtext = ECCtext[114]; F 210 D2 114 Eritrea
if (rds.ECC == 225) rds.ECCtext = ECCtext[55]; F 225 E1 55 France
if (rds.ECC == 161) rds.ECCtext = ECCtext[149]; F 161 A1 149 Greenland
if (rds.ECC == 163) rds.ECCtext = ECCtext[153]; F 163 A3 153 Guyana
if (rds.ECC == 241) rds.ECCtext = ECCtext[192]; F 241 F1 192 Hong Kong
if (rds.ECC == 208) rds.ECCtext = ECCtext[67]; F 208 D0 67 Malawi
if (rds.ECC == 240) rds.ECCtext = ECCtext[202]; F 240 F0 202 Malaysia
if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; F 165 A5 158 Mexico
if (rds.ECC == 243) rds.ECCtext = ECCtext[71]; F 243 F3 71 Mongolia
if (rds.ECC == 209) rds.ECCtext = ECCtext[75]; F 209 D1 75 Nigeria
if (rds.ECC == 226) rds.ECCtext = ECCtext[56]; F 226 E2 56 Norway
if (rds.ECC == 166) rds.ECCtext = ECCtext[168]; F 166 A6 168 St. P.& M.
if (rds.ECC == 242) rds.ECCtext = ECCtext[220]; F 242 F2 220 Vanuatu
if (rds.ECC == 164) rds.ECCtext = ECCtext[176]; F 164 A4 176 Virgin UK
andimik commented 7 months ago

The RDS group 1A says,

C203 11C0 80E1 9C40

redsea has no problem, btw.

$ cat /media/andreas/Data/temp/bbcr3_mpx.wav | redsea -r 192k | grep ountr
{"pi":"0xC203","group":"1A","country":"gb","has_linkage":true,"prog_item_number":40000,"prog_item_started":{"day":19,"time":"17:00"},"prog_type":"Serious classical","tp":false}
{"pi":"0xC203","group":"1A","country":"gb","has_linkage":true,"prog_item_number":40000,"prog_item_started":{"day":19,"time":"17:00"},"prog_type":"Serious classical","tp":false}
andimik commented 7 months ago

It has nothing to do with the dot(s), because I have re-flashed my TEF using "United K" instead of "U.K."

PE5PVB commented 7 months ago

Fixed.

andimik commented 7 months ago

Has been confirmed on discord, issue can be closed.

https://discord.com/channels/1053804249651359765/1053804431721898056/1235670401674121246

grafik

Explanation of the bug:

there is a counter which tells the radio if it is about to receive ECC, LIC or other values. These are in bit 12, 13 and 14. But I also parsed bit 15 by mistake. As long as bit 15 is 0 all is ok, but on BBC bit 15 is set to 1 and then the parsing will fail. So I had to ignore bit 15.