complete ecc

This commit is contained in:
2026-01-06 12:21:29 +01:00
parent ec9800d180
commit 528dc76ec0
7 changed files with 469 additions and 440 deletions

View File

@@ -142,196 +142,196 @@ static const char* const ECCtext[] {
"Republic of Latvia", // 36 "Republic of Latvia", // 36
"Republic of Slovenia", // 37 "Republic of Slovenia", // 37
"Federal Republic of Austria", // 38 "Federal Republic of Austria", // 38
// TODO after this "United Kingdom of Great Britain and Northern Ireland (Gibraltar)", // 39
"Gibraltar", // 39 "Republic of Iceland", // 40
"Iceland", // 40 "Republic of Lebanon", // 41
"Lebanon", // 41
"Hungary", // 42 "Hungary", // 42
"Iraq", // 43 "Republic of Iraq", // 43
"Monaco", // 44 "Principality of Monaco", // 44
"Malta", // 45 "Republic of Malta", // 45
"U.K.", // 46 "United Kingdom of Great Britain and Northern Ireland", // 46
"Lithuania", // 47 "Republic of Lithuania", // 47
"Croatia", // 48 "Republic of Croatia", // 48
"Libya", // 49 "Libya", // 49
"Canaries", // 50 "Kingdom of Spain (Canary Islands)", // 50
"Romania", // 51 "Romania", // 51
"Spain", // 52 "Kingdom of Spain", // 52
"Sweden", // 53 "Kingdom of Sweden", // 53
"Egypt", // 54 "Arab Republic of Egypt", // 54
"France", // 55 "Republic of France", // 55
"Norway", // 56 "Kingdom of Norway", // 56
"Belarus", // 57 "Republic of Belarus", // 57
"Bosnia H.", // 58 "Bosnia and Herzegovina", // 58
"Monteneg.", // 59 "Montenegro", // 59
"Armenia", // 60 "Republic of Armenia", // 60
"Azerbaijan", // 61 "Republic of Azerbaijan", // 61
"Kosovo", // 62 "Republic of Kosovo", // 62
"Kyrgystan", // 63 "Kyrgyz Republic", // 63
"Turkmenis.", // 64 "Turkmenistan", // 64
"Tajikistan", // 65 "Republic of Tajikistan", // 65
"Uzbekistan", // 66 "Republic of Uzbekistan", // 66
"Malawi", // 67 "Republic of Malawi", // 67
"Mali", // 68 "Republic of Mali", // 68
"Mauritania", // 69 "Islamic Republic of Mauritania", // 69
"Mauritius", // 70 "Republic of Mauritius", // 70
"Mongolia", // 71 "Mongolia", // 71
"Mozambiq.", // 72 "Republic of Mozambique", // 72
"Namibia", // 73 "Republic of Namibia", // 73
"Niger", // 74 "Republic of the Niger", // 74
"Nigeria", // 75 "Federal Republic of Nigeria", // 75
"Oman", // 76 "Sultanate of Oman", // 76
"Qatar", // 77 "State of Qatar", // 77
"Rwanda", // 78 "Republic of Rwanda", // 78
"Sao Tome", // 79 "Democratic Republic of Sao Tome and Principe", // 79
"Saudi Ara.", // 80 "Kingdom of Saudi Arabia", // 80
"Senegal", // 81 "Republic of Senegal", // 81
"Seychel.", // 82 "Republic of Seychelles", // 82
"S. Leone", // 83 "Republic of Sierra Leone", // 83
"Somalia", // 84 "Federal Republic of Somalia", // 84
"S. Africa", // 85 "Republic of South Africa", // 85
"S. Sudan", // 86 "Republic of South Sudan", // 86
"Sudan", // 87 "Republic of the Sudan", // 87
"Swaziland", // 88 "Kingdom of Swaziland", // 88
"Tanzania", // 89 "United Republic of Tanzania", // 89
"Togo", // 90 "Republic of Togo", // 90
"Uganda", // 91 "Republic of Uganda", // 91
"W. Sahara", // 92 "Polisario Front / Kingdom of Morocco (Western Sahara)", // 92
"Yemen", // 93 "Republic of Yemen", // 93
"Zambia", // 94 "Republic of Zambia", // 94
"Zimbabwe", // 95 "Republic of Zimbabwe", // 95
"Angola", // 96 "Republic of Angola", // 96
"Ascn. Isl.", // 97 "United Kingdom of Great Britain and Northern Ireland (Ascension Island)", // 97
"Bahrein", // 98 "Kingdom of Bahrain", // 98
"Benin", // 99 "Republic of Benin", // 99
"Botswana", // 100 "Republic of Botswana", // 100
"Burkina F.", // 101 "Burkina Faso", // 101
"Burundi", // 102 "Republic of Burundi", // 102
"Cabinda", // 103 "Republic of Cabinda / Republic of Angola", // 103
"Cameroon", // 104 "Republic of Cameroon", // 104
"Cape Ver.", // 105 "Republic of Cabo Verde (Cape Verde)", // 105
"Centr. Af.", // 106 "Central African Republic", // 106
"Chad", // 107 "Republic of Chad", // 107
"Comoros", // 108 "Union of the Comoros", // 108
"D. Congo", // 109 "Democratic Republic of the Congo", // 109
"Congo", // 110 "Republic of the Congo", // 110
"Cote d'l.", // 111 "Republic of Côte d'Ivoire (Ivory Coast)", // 111
"Djibouti", // 112 "Republic of Djibouti", // 112
"E. Guinea", // 113 "Republic of Equatorial Guinea", // 113
"Eritrea", // 114 "State of Eritrea", // 114
"Ethiopia", // 115 "Federal Democratic Republic of Ethiopia", // 115
"Gabon", // 116 "Gabonese Republic", // 116
"Gambia", // 117 "Islamic Republic of the Gambia", // 117
"Georgia", // 118 "Georgia", // 118
"Ghana", // 119 "Republic of Ghana", // 119
"Guinea", // 120 "Republic of Guinea", // 120
"Guinea-B.", // 121 "Republic of Guinea-Bissau", // 121
"Kazakh.", // 122 "Republic of Kazakhstan", // 122
"Kenya", // 123 "Republic of Kenya", // 123
"Kuwait", // 124 "State of Kuwait", // 124
"Lesotho", // 125 "Kingdom of Lesotho", // 125
"Liberia", // 126 "Republic of Liberia", // 126
"Madagas.", // 127 "Republic of Madagascar", // 127
"U.Arab.E.", // 128 "United Arab Emirates", // 128
"Anguilla", // 129 "United Kingdom of Great Britain and Northern Ireland (Anguilla)", // 129
"Antigua.", // 130 "Antigua and Barbuda", // 130
"Argentina", // 131 "Republic of Argentina", // 131
"Aruba", // 132 "Kingdom of the Netherlands (Aruba)", // 132
"Barbados", // 133 "Barbados", // 133
"Belize", // 134 "Belize", // 134
"Bermuda", // 135 "United Kingdom of Great Britain and Northern Ireland (Bermuda)", // 135
"Bolivia", // 136 "Plurinational State of Bolivia", // 136
"Brazil", // 137 "Federative Republic of Brazil", // 137
"Canada", // 138 "Canada", // 138
"Cayman I.", // 139 "United Kingdom of Great Britain and Northern Ireland (Cayman Islands)", // 139
"Chile", // 140 "Republic of Chile", // 140
"Colombia", // 141 "Republic of Colombia", // 141
"Costa R.", // 142 "Republic of Costa Rica", // 142
"Cuba", // 143 "Republic of Cuba", // 143
"Dominica", // 144 "Commonwealth of Dominica", // 144
"Domini. R", // 145 "Dominican Republic", // 145
"El Salvad.", // 146 "Republic of El Salvador", // 146
"Equador", // 147 "Republic of Ecuador", // 147
"Falkland", // 148 "United Kingdom of Great Britain and Northern Ireland (Falkland Islands)", // 148
"Greenland", // 149 "Kingdom of Denmark (Greenland)", // 149
"Grenada", // 150 "Grenada", // 150
"Guadeloupe", // 151 "Republic of France (Guadeloupe)", // 151
"Guatemala", // 152 "Republic of Guatemala", // 152
"Guyana", // 153 "Republic of Guyana", // 153
"Haiti", // 154 "Republic of Haiti", // 154
"Honduras", // 155 "Republic of Honduras", // 155
"Jamaica", // 156 "Jamaica", // 156
"Martinique", // 157 "Republic of France (Martinique)", // 157
"Mexico", // 158 "United Mexican States", // 158
"Montserrat", // 159 "United Kingdom of Great Britain and Northern Ireland (Montserrat)", // 159
"Nether. A.", // 160 "Netherlands Antilles (does not exist)", // 160
"Nicaragua", // 161 "Republic of Nicaragua", // 161
"Panama", // 162 "Republic of Panama", // 162
"Paraguay", // 163 "Republic of Paraguay", // 163
"Peru", // 164 "Republic of Peru", // 164
"Puerto R.", // 165 "United States of America (Puerto Rico)", // 165
"St. Kitts", // 166 "Saint Kitts and Nevis", // 166
"St. Lucia", // 167 "Saint Lucia", // 167
"St. P.& M.", // 168 "Republic of France (Saint Pierre and Miquelon)", // 168
"St.Vincent", // 169 "Saint Vincent and the Grenadines", // 169
"Suriname", // 170 "Republic of Suriname", // 170
"T & T", // 171 "Republic of Trinidad and Tobago", // 171
"Turks & C.", // 172 "United Kingdom of Great Britain and Northern Ireland (Turks and Caicos Islands)", // 172
"U.S.A.", // 173 "United States of America", // 173
"Uruguay", // 174 "Oriental Republic of Uruguay", // 174
"Venezuela", // 175 "Bolivarian Republic of Venezuela", // 175
"Virgin UK", // 176 "United Kingdom of Great Britain and Northern Ireland (Virgin Islands)", // 176
"Virgin USA", // 177 "United States of America (Virgin Islands)", // 177
"Afganist.", // 178 "Islamic Republic of Afghanistan", // 178
"Aus. ACT", // 179 "Commonwealth of Australia - Capital Territory", // 179
"Aus. NSW", // 180 "Commonwealth of Australia - New South Wales", // 180
"Aus. VIC", // 181 "Commonwealth of Australia - Victoria", // 181
"Aus. QLD", // 182 "Commonwealth of Australia - Queensland", // 182
"Aus. SA", // 183 "Commonwealth of Australia - South Australia", // 183
"Aus. WA", // 184 "Commonwealth of Australia - Western Australia", // 184
"Aus. TAS", // 185 "Commonwealth of Australia - Tasmania", // 185
"Aus. NT", // 186 "Commonwealth of Australia - Northern Territory", // 186
"Bhutan", // 187 "Kingdom of Bhutan", // 187
"Brunei D.", // 188 "Negara Brunei Darussalam", // 188
"Cambodia", // 189 "Kingdom of Cambodia", // 189
"China", // 190 "People's Republic of China", // 190
"Fiji", // 191 "Republic of Fiji", // 191
"Hong Kong", // 192 "People's Republic of China (Hong Kong)", // 192
"India", // 193 "Republic of India", // 193
"Indonesia", // 194 "Republic of Indonesia", // 194
"Iran", // 195 "Islamic Republic of Iran", // 195
"Japan", // 196 "Japan", // 196
"Kiribati", // 197 "Republic of Kiribati", // 197
"N. Korea", // 198 "Democratic People's Republic of Korea (North Korea)", // 198
"S. Korea", // 199 "Republic of Korea (South Korea)", // 199
"Laos", // 200 "Lao People's Democratic Republic", // 200
"Macao", // 201 "People's Republic of China (Macao)", // 201
"Malaysia", // 202 "Malaysia", // 202
"Maldives", // 203 "Republic of Maldives", // 203
"Marshall I", // 204 "United States of America (Marshall Islands)", // 204
"Micronesia", // 205 "Federated States of Micronesia", // 205
"Myanmar", // 206 "Republic of the Union of Myanmar", // 206
"Nauru", // 207 "Republic of Nauru", // 207
"Nepal", // 208 "Federal Democratic Republic of Nepal", // 208
"N.Zealand", // 209 "New Zealand", // 209
"Pakistan", // 210 "Islamic Republic of Pakistan", // 210
"Papua N.G", // 211 "Independent State of Papua New Guinea", // 211
"Philippin.", // 212 "Republic of the Philippines", // 212
"Samoa", // 213 "Independent State of Samoa", // 213
"Singapore", // 214 "Republic of Singapore", // 214
"Solomon I.", // 215 "Solomon Islands", // 215
"Sri Lanka", // 216 "Democratic Socialist Republic of Sri Lanka", // 216
"Taiwan", // 217 "Republic of China (Taiwan)", // 217
"Thailand", // 218 "Kingdom of Thailand", // 218
"Tonga", // 219 "Kingdom of Tonga", // 219
"Vanuatu", // 220 "Republic of Vanuatu", // 220
"Vietnam", // 221 "Socialist Republic of Viet Nam", // 221
"Bahamas", // 222 "Commonwealth of the Bahamas", // 222
"BM or BR", // 223 "United Kingdom of Great Britain and Northern Ireland (Bermuda) / Federative Republic of Brazil", // 223
"EC or BR", // 224 "Federative Republic of Brazil / Republic of Ecuador", // 224
"AN or BR", // 225 "Netherlands Antilles (does not exist) / Federative Republic of Brazil", // 225
"USA/VI/ PR", // 226 "United States of America", // 226
"Bangladesh" // 227 "People's Republic of Bangladesh", // 227
"Republic of West Poland" // 228 - doesn't exist, YET, we don't want a fucking pimp for president here
}; };
static const char* const oda_app_names[] { static const char* const oda_app_names[] {

View File

@@ -759,7 +759,7 @@ static const char* const myLanguage[22][301] PROGMEM = {
"Częstotliwość", // 149 "Częstotliwość", // 149
"Strona domowa", // 150 "Strona domowa", // 150
"Podkanał", // 151 "Podkanał", // 151
"Gorąca linia", // 152 "Infolinia", // 152
"Telefon do studia", // 153 "Telefon do studia", // 153
"Telefon", // 154 "Telefon", // 154
"SMS do studia", // 155 "SMS do studia", // 155

View File

@@ -92,6 +92,7 @@ extern int xPos2;
extern int xPos3; extern int xPos3;
extern int xPos4; extern int xPos4;
extern int xPos5; extern int xPos5;
extern int xPos6;
extern int8_t NTPoffset; extern int8_t NTPoffset;
extern int16_t SAvg3; extern int16_t SAvg3;
extern IPAddress remoteip; extern IPAddress remoteip;
@@ -121,6 +122,8 @@ extern unsigned long afticker;
extern unsigned long aftickerhold; extern unsigned long aftickerhold;
extern unsigned long aftimer; extern unsigned long aftimer;
extern unsigned long blockcounterold[33]; extern unsigned long blockcounterold[33];
extern unsigned long eccticker;
extern unsigned long ecctickerhold;
extern unsigned long eonticker; extern unsigned long eonticker;
extern unsigned long eontickerhold; extern unsigned long eontickerhold;
extern unsigned long processed_rdsblocksold[33]; extern unsigned long processed_rdsblocksold[33];

View File

@@ -760,305 +760,306 @@ void TEF6686::readRDS(byte showrdserrors) {
switch (rds.picode[0]) { switch (rds.picode[0]) {
case '1': { case '1': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[129]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[129];
if (rds.ECC == 163) rds.ECCtext = ECCtext[136]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[136];
if (rds.ECC == 164) rds.ECCtext = ECCtext[152]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[152];
if (rds.ECC == 208) rds.ECCtext = ECCtext[104]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[104];
if (rds.ECC == 209) rds.ECCtext = ECCtext[73]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[73];
if (rds.ECC == 210) rds.ECCtext = ECCtext[83]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[83];
if (rds.ECC == 224) rds.ECCtext = ECCtext[0]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[0];
if (rds.ECC == 225) rds.ECCtext = ECCtext[1]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[1];
if (rds.ECC == 226) rds.ECCtext = ECCtext[2]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[2];
if (rds.ECC == 227) rds.ECCtext = ECCtext[59]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[59];
if (rds.ECC == 228) rds.ECCtext = ECCtext[3]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[3];
if (rds.ECC == 240) rds.ECCtext = ECCtext[179]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[179];
if (rds.ECC == 241) rds.ECCtext = ECCtext[197]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[197];
if (rds.ECC == 242) rds.ECCtext = ECCtext[124]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[124];
if (rds.ECC == 243) rds.ECCtext = ECCtext[200]; else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[200];
break; break;
} }
case '2': { case '2': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[130]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[130];
if (rds.ECC == 163) rds.ECCtext = ECCtext[141]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[141];
if (rds.ECC == 164) rds.ECCtext = ECCtext[155]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[155];
if (rds.ECC == 208) rds.ECCtext = ECCtext[106]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[106];
if (rds.ECC == 209) rds.ECCtext = ECCtext[126]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[126];
if (rds.ECC == 210) rds.ECCtext = ECCtext[95]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[95];
if (rds.ECC == 224) rds.ECCtext = ECCtext[4]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[4];
if (rds.ECC == 225) rds.ECCtext = ECCtext[5]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[5];
if (rds.ECC == 226) rds.ECCtext = ECCtext[6]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[6];
if (rds.ECC == 227) rds.ECCtext = ECCtext[7]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[7];
if (rds.ECC == 228) rds.ECCtext = ECCtext[8]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[8];
if (rds.ECC == 240) rds.ECCtext = ECCtext[180]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[180];
if (rds.ECC == 241) rds.ECCtext = ECCtext[187]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[187];
if (rds.ECC == 242) rds.ECCtext = ECCtext[77]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[77];
if (rds.ECC == 243) rds.ECCtext = ECCtext[218]; else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[218];
break; break;
} }
case '3': { case '3': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[224]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[224];
if (rds.ECC == 163) rds.ECCtext = ECCtext[156]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[156];
if (rds.ECC == 164) rds.ECCtext = ECCtext[132]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[132];
if (rds.ECC == 208) rds.ECCtext = ECCtext[112]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[112];
if (rds.ECC == 209) rds.ECCtext = ECCtext[119]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[119];
if (rds.ECC == 210) rds.ECCtext = ECCtext[72]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[72];
if (rds.ECC == 211) rds.ECCtext = ECCtext[92]; else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[92];
if (rds.ECC == 224) rds.ECCtext = ECCtext[9]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[9];
if (rds.ECC == 225) rds.ECCtext = ECCtext[10]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[10];
if (rds.ECC == 226) rds.ECCtext = ECCtext[11]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[11];
if (rds.ECC == 227) rds.ECCtext = ECCtext[12]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[12];
if (rds.ECC == 228) rds.ECCtext = ECCtext[16]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[16];
if (rds.ECC == 229) rds.ECCtext = ECCtext[63]; else if (rds.ECC == 0xE5) rds.ECCtext = ECCtext[63];
if (rds.ECC == 240) rds.ECCtext = ECCtext[181]; else if (rds.ECC == 0xE6) rds.ECCtext = ECCtext[228];
if (rds.ECC == 241) rds.ECCtext = ECCtext[227]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[181];
if (rds.ECC == 242) rds.ECCtext = ECCtext[189]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[227];
if (rds.ECC == 243) rds.ECCtext = ECCtext[219]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[189];
else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[219];
break; break;
} }
case '4': { case '4': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[148]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[148];
if (rds.ECC == 163) rds.ECCtext = ECCtext[157]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[157];
if (rds.ECC == 208) rds.ECCtext = ECCtext[127]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[127];
if (rds.ECC == 209) rds.ECCtext = ECCtext[69]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[69];
if (rds.ECC == 210) rds.ECCtext = ECCtext[91]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[91];
if (rds.ECC == 211) rds.ECCtext = ECCtext[103]; else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[103];
if (rds.ECC == 224) rds.ECCtext = ECCtext[13]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[13];
if (rds.ECC == 225) rds.ECCtext = ECCtext[14]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[14];
if (rds.ECC == 226) rds.ECCtext = ECCtext[15]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[15];
if (rds.ECC == 240) rds.ECCtext = ECCtext[182]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[182];
if (rds.ECC == 241) rds.ECCtext = ECCtext[210]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[210];
if (rds.ECC == 242) rds.ECCtext = ECCtext[213]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[213];
break; break;
} }
case '5': { case '5': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[133]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[133];
if (rds.ECC == 164) rds.ECCtext = ECCtext[159]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[159];
if (rds.ECC == 208) rds.ECCtext = ECCtext[68]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[68];
if (rds.ECC == 209) rds.ECCtext = ECCtext[79]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[79];
if (rds.ECC == 210) rds.ECCtext = ECCtext[88]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[88];
if (rds.ECC == 211) rds.ECCtext = ECCtext[78]; else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[78];
if (rds.ECC == 224) rds.ECCtext = ECCtext[17]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[17];
if (rds.ECC == 225) rds.ECCtext = ECCtext[18]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[18];
if (rds.ECC == 226) rds.ECCtext = ECCtext[19]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[19];
if (rds.ECC == 227) rds.ECCtext = ECCtext[65]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[65];
if (rds.ECC == 240) rds.ECCtext = ECCtext[183]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[183];
if (rds.ECC == 241) rds.ECCtext = ECCtext[191]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[191];
if (rds.ECC == 242) rds.ECCtext = ECCtext[193]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[193];
break; break;
} }
case '6': { case '6': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[134]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[134];
if (rds.ECC == 163) rds.ECCtext = ECCtext[163]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[163];
if (rds.ECC == 164) rds.ECCtext = ECCtext[171]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[171];
if (rds.ECC == 208) rds.ECCtext = ECCtext[96]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[96];
if (rds.ECC == 209) rds.ECCtext = ECCtext[105]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[105];
if (rds.ECC == 210) rds.ECCtext = ECCtext[123]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[123];
if (rds.ECC == 211) rds.ECCtext = ECCtext[125]; else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[125];
if (rds.ECC == 224) rds.ECCtext = ECCtext[20]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[20];
if (rds.ECC == 225) rds.ECCtext = ECCtext[21]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[21];
if (rds.ECC == 226) rds.ECCtext = ECCtext[22]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[22];
if (rds.ECC == 228) rds.ECCtext = ECCtext[24]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[24];
if (rds.ECC == 240) rds.ECCtext = ECCtext[184]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[184];
if (rds.ECC == 241) rds.ECCtext = ECCtext[76]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[76];
if (rds.ECC == 242) rds.ECCtext = ECCtext[201]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[201];
break; break;
} }
case '7': { case '7': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[139]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[139];
if (rds.ECC == 163) rds.ECCtext = ECCtext[161]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[161];
if (rds.ECC == 164) rds.ECCtext = ECCtext[164]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[164];
if (rds.ECC == 208) rds.ECCtext = ECCtext[113]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[113];
if (rds.ECC == 209) rds.ECCtext = ECCtext[81]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[81];
if (rds.ECC == 210) rds.ECCtext = ECCtext[84]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[84];
if (rds.ECC == 224) rds.ECCtext = ECCtext[25]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[25];
if (rds.ECC == 225) rds.ECCtext = ECCtext[26]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[26];
if (rds.ECC == 226) rds.ECCtext = ECCtext[27]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[27];
if (rds.ECC == 228) rds.ECCtext = ECCtext[62]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[62];
if (rds.ECC == 240) rds.ECCtext = ECCtext[185]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[185];
if (rds.ECC == 241) rds.ECCtext = ECCtext[207]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[207];
if (rds.ECC == 242) rds.ECCtext = ECCtext[221]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[221];
break; break;
} }
case '8': { case '8': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[142]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[142];
if (rds.ECC == 164) rds.ECCtext = ECCtext[170]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[170];
if (rds.ECC == 208) rds.ECCtext = ECCtext[116]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[116];
if (rds.ECC == 209) rds.ECCtext = ECCtext[117]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[117];
if (rds.ECC == 210) rds.ECCtext = ECCtext[74]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[74];
if (rds.ECC == 211) rds.ECCtext = ECCtext[82]; else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[82];
if (rds.ECC == 224) rds.ECCtext = ECCtext[28]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[28];
if (rds.ECC == 225) rds.ECCtext = ECCtext[29]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[29];
if (rds.ECC == 226) rds.ECCtext = ECCtext[30]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[30];
if (rds.ECC == 227) rds.ECCtext = ECCtext[31]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[31];
if (rds.ECC == 228) rds.ECCtext = ECCtext[32]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[32];
if (rds.ECC == 240) rds.ECCtext = ECCtext[186]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[186];
if (rds.ECC == 241) rds.ECCtext = ECCtext[195]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[195];
if (rds.ECC == 242) rds.ECCtext = ECCtext[212]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[212];
if (rds.ECC == 243) rds.ECCtext = ECCtext[190]; else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[190];
break; break;
} }
case '9': { case '9': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[143]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[143];
if (rds.ECC == 163) rds.ECCtext = ECCtext[162]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[162];
if (rds.ECC == 164) rds.ECCtext = ECCtext[174]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[174];
if (rds.ECC == 208) rds.ECCtext = ECCtext[120]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[120];
if (rds.ECC == 209) rds.ECCtext = ECCtext[102]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[102];
if (rds.ECC == 210) rds.ECCtext = ECCtext[107]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[107];
if (rds.ECC == 224) rds.ECCtext = ECCtext[33]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[33];
if (rds.ECC == 225) rds.ECCtext = ECCtext[34]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[34];
if (rds.ECC == 226) rds.ECCtext = ECCtext[35]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[35];
if (rds.ECC == 227) rds.ECCtext = ECCtext[36]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[36];
if (rds.ECC == 228) rds.ECCtext = ECCtext[37]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[37];
if (rds.ECC == 240) rds.ECCtext = ECCtext[80]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[80];
if (rds.ECC == 241) rds.ECCtext = ECCtext[209]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[209];
if (rds.ECC == 242) rds.ECCtext = ECCtext[196]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[196];
if (rds.ECC == 243) rds.ECCtext = ECCtext[211]; else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[211];
if (rds.ECC == 244) rds.ECCtext = ECCtext[190]; else if (rds.ECC == 0xF4) rds.ECCtext = ECCtext[190];
break; break;
} }
case 'A': { case 'A': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 162) rds.ECCtext = ECCtext[131]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[131];
if (rds.ECC == 163) rds.ECCtext = ECCtext[144]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[144];
if (rds.ECC == 164) rds.ECCtext = ECCtext[166]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[166];
if (rds.ECC == 208) rds.ECCtext = ECCtext[85]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[85];
if (rds.ECC == 209) rds.ECCtext = ECCtext[97]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[97];
if (rds.ECC == 210) rds.ECCtext = ECCtext[121]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[121];
if (rds.ECC == 211) rds.ECCtext = ECCtext[70]; else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[70];
if (rds.ECC == 212) rds.ECCtext = ECCtext[86]; else if (rds.ECC == 0xD4) rds.ECCtext = ECCtext[86];
if (rds.ECC == 224) rds.ECCtext = ECCtext[38]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[38];
if (rds.ECC == 225) rds.ECCtext = ECCtext[39]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[39];
if (rds.ECC == 226) rds.ECCtext = ECCtext[40]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[40];
if (rds.ECC == 227) rds.ECCtext = ECCtext[41]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[41];
if (rds.ECC == 228) rds.ECCtext = ECCtext[60]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[60];
if (rds.ECC == 240) rds.ECCtext = ECCtext[178]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[178];
if (rds.ECC == 241) rds.ECCtext = ECCtext[215]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[215];
if (rds.ECC == 242) rds.ECCtext = ECCtext[214]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[214];
break; break;
} }
case 'B': { case 'B': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; else if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138];
if (rds.ECC == 162) rds.ECCtext = ECCtext[137]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[137];
if (rds.ECC == 163) rds.ECCtext = ECCtext[145]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[145];
if (rds.ECC == 164) rds.ECCtext = ECCtext[167]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[167];
if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158];
if (rds.ECC == 208) rds.ECCtext = ECCtext[101]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[101];
if (rds.ECC == 210) rds.ECCtext = ECCtext[109]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[100];
if (rds.ECC == 209) rds.ECCtext = ECCtext[100]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[109];
if (rds.ECC == 224) rds.ECCtext = ECCtext[42]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[42];
if (rds.ECC == 225) rds.ECCtext = ECCtext[43]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[43];
if (rds.ECC == 226) rds.ECCtext = ECCtext[44]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[44];
if (rds.ECC == 227) rds.ECCtext = ECCtext[61]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[61];
if (rds.ECC == 228) rds.ECCtext = ECCtext[66]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[66];
if (rds.ECC == 240) rds.ECCtext = ECCtext[206]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[206];
if (rds.ECC == 241) rds.ECCtext = ECCtext[188]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[188];
if (rds.ECC == 242) rds.ECCtext = ECCtext[203]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[203];
if (rds.ECC == 243) rds.ECCtext = ECCtext[93]; else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[93];
if (rds.ECC == 244) rds.ECCtext = ECCtext[204]; else if (rds.ECC == 0xF4) rds.ECCtext = ECCtext[204];
break; break;
} }
case 'C': { case 'C': {
if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138];
if (rds.ECC == 162) rds.ECCtext = ECCtext[223]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[223];
if (rds.ECC == 163) rds.ECCtext = ECCtext[140]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[140];
if (rds.ECC == 164) rds.ECCtext = ECCtext[146]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[146];
if (rds.ECC == 165) rds.ECCtext = ECCtext[169]; else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[169];
if (rds.ECC == 208) rds.ECCtext = ECCtext[110]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[110];
if (rds.ECC == 209) rds.ECCtext = ECCtext[108]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[108];
if (rds.ECC == 210) rds.ECCtext = ECCtext[111]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[111];
if (rds.ECC == 211) rds.ECCtext = ECCtext[87]; else if (rds.ECC == 0xD3) rds.ECCtext = ECCtext[87];
if (rds.ECC == 224) rds.ECCtext = ECCtext[45]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[45];
if (rds.ECC == 225) rds.ECCtext = ECCtext[46]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[46];
if (rds.ECC == 226) rds.ECCtext = ECCtext[47]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[47];
if (rds.ECC == 227) rds.ECCtext = ECCtext[48]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[48];
if (rds.ECC == 228) rds.ECCtext = ECCtext[118]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[118];
if (rds.ECC == 240) rds.ECCtext = ECCtext[190]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[190];
if (rds.ECC == 241) rds.ECCtext = ECCtext[216]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[216];
if (rds.ECC == 242) rds.ECCtext = ECCtext[194]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[194];
break; break;
} }
case 'D': { case 'D': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; else if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138];
if (rds.ECC == 162) rds.ECCtext = ECCtext[225]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[225];
if (rds.ECC == 163) rds.ECCtext = ECCtext[150]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[150];
if (rds.ECC == 164) rds.ECCtext = ECCtext[154]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[154];
if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158];
if (rds.ECC == 208) rds.ECCtext = ECCtext[90]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[90];
if (rds.ECC == 209) rds.ECCtext = ECCtext[89]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[89];
if (rds.ECC == 224) rds.ECCtext = ECCtext[0]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[0];
if (rds.ECC == 225) rds.ECCtext = ECCtext[49]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[49];
if (rds.ECC == 226) rds.ECCtext = ECCtext[23]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[23];
if (rds.ECC == 227) rds.ECCtext = ECCtext[122]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[122];
if (rds.ECC == 240) rds.ECCtext = ECCtext[198]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[198];
if (rds.ECC == 241) rds.ECCtext = ECCtext[217]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[217];
if (rds.ECC == 242) rds.ECCtext = ECCtext[128]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[128];
break; break;
} }
case 'E': { case 'E': {
if (rds.ECC == 160) rds.ECCtext = ECCtext[226]; if (rds.ECC == 0xA0) rds.ECCtext = ECCtext[226];
if (rds.ECC == 161) rds.ECCtext = ECCtext[138]; else if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[138];
if (rds.ECC == 162) rds.ECCtext = ECCtext[151]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[151];
if (rds.ECC == 163) rds.ECCtext = ECCtext[172]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[172];
if (rds.ECC == 164) rds.ECCtext = ECCtext[175]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[175];
if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158];
if (rds.ECC == 208) rds.ECCtext = ECCtext[99]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[99];
if (rds.ECC == 209) rds.ECCtext = ECCtext[115]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[115];
if (rds.ECC == 210) rds.ECCtext = ECCtext[94]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[94];
if (rds.ECC == 224) rds.ECCtext = ECCtext[50]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[50];
if (rds.ECC == 225) rds.ECCtext = ECCtext[51]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[51];
if (rds.ECC == 226) rds.ECCtext = ECCtext[52]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[52];
if (rds.ECC == 227) rds.ECCtext = ECCtext[53]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[53];
if (rds.ECC == 228) rds.ECCtext = ECCtext[64]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[64];
if (rds.ECC == 240) rds.ECCtext = ECCtext[98]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[98];
if (rds.ECC == 241) rds.ECCtext = ECCtext[199]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[199];
if (rds.ECC == 242) rds.ECCtext = ECCtext[208]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[208];
if (rds.ECC == 243) rds.ECCtext = ECCtext[205]; else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[205];
break; break;
} }
case 'F': { case 'F': {
if (rds.ECC == 161) rds.ECCtext = ECCtext[149]; if (rds.ECC == 0xA1) rds.ECCtext = ECCtext[149];
if (rds.ECC == 162) rds.ECCtext = ECCtext[222]; else if (rds.ECC == 0xA2) rds.ECCtext = ECCtext[222];
if (rds.ECC == 163) rds.ECCtext = ECCtext[153]; else if (rds.ECC == 0xA3) rds.ECCtext = ECCtext[153];
if (rds.ECC == 164) rds.ECCtext = ECCtext[176]; else if (rds.ECC == 0xA4) rds.ECCtext = ECCtext[176];
if (rds.ECC == 165) rds.ECCtext = ECCtext[158]; else if (rds.ECC == 0xA5) rds.ECCtext = ECCtext[158];
if (rds.ECC == 166) rds.ECCtext = ECCtext[168]; else if (rds.ECC == 0xA6) rds.ECCtext = ECCtext[168];
if (rds.ECC == 208) rds.ECCtext = ECCtext[67]; else if (rds.ECC == 0xD0) rds.ECCtext = ECCtext[67];
if (rds.ECC == 209) rds.ECCtext = ECCtext[75]; else if (rds.ECC == 0xD1) rds.ECCtext = ECCtext[75];
if (rds.ECC == 210) rds.ECCtext = ECCtext[114]; else if (rds.ECC == 0xD2) rds.ECCtext = ECCtext[114];
if (rds.ECC == 224) rds.ECCtext = ECCtext[54]; else if (rds.ECC == 0xE0) rds.ECCtext = ECCtext[54];
if (rds.ECC == 225) rds.ECCtext = ECCtext[55]; else if (rds.ECC == 0xE1) rds.ECCtext = ECCtext[55];
if (rds.ECC == 226) rds.ECCtext = ECCtext[56]; else if (rds.ECC == 0xE2) rds.ECCtext = ECCtext[56];
if (rds.ECC == 227) rds.ECCtext = ECCtext[57]; else if (rds.ECC == 0xE3) rds.ECCtext = ECCtext[57];
if (rds.ECC == 228) rds.ECCtext = ECCtext[58]; else if (rds.ECC == 0xE4) rds.ECCtext = ECCtext[58];
if (rds.ECC == 240) rds.ECCtext = ECCtext[202]; else if (rds.ECC == 0xF0) rds.ECCtext = ECCtext[202];
if (rds.ECC == 241) rds.ECCtext = ECCtext[192]; else if (rds.ECC == 0xF1) rds.ECCtext = ECCtext[192];
if (rds.ECC == 242) rds.ECCtext = ECCtext[220]; else if (rds.ECC == 0xF2) rds.ECCtext = ECCtext[220];
if (rds.ECC == 243) rds.ECCtext = ECCtext[71]; else if (rds.ECC == 0xF3) rds.ECCtext = ECCtext[71];
break; break;
} }
default: { default: {

View File

@@ -3001,11 +3001,8 @@ void BuildAdvancedRDS() {
tft.drawBitmap(68, 5, RDSLogo, 35, 22, GreyoutColor); tft.drawBitmap(68, 5, RDSLogo, 35, 22, GreyoutColor);
tft.drawBitmap(249, 4, Speaker, 28, 24, GreyoutColor); tft.drawBitmap(249, 4, Speaker, 28, 24, GreyoutColor);
if (!StereoToggle) { if (!StereoToggle) tft.drawBitmap(38, 5, Mono, 22, 22, SecondaryColor);
tft.drawBitmap(38, 5, Mono, 22, 22, SecondaryColor); else tft.drawBitmap(32, 5, Stereo, 32, 22, GreyoutColor);
} else {
tft.drawBitmap(32, 5, Stereo, 32, 22, GreyoutColor);
}
tftPrint(ALEFT, "TP", 2, 51, GreyoutColor, BackgroundColor, 16); tftPrint(ALEFT, "TP", 2, 51, GreyoutColor, BackgroundColor, 16);
tftPrint(ALEFT, "TA", 24, 51, GreyoutColor, BackgroundColor, 16); tftPrint(ALEFT, "TA", 24, 51, GreyoutColor, BackgroundColor, 16);

View File

@@ -281,6 +281,7 @@ int xPos2;
int xPos3; int xPos3;
int xPos4; int xPos4;
int xPos5; int xPos5;
int xPos6;
int16_t OStatus; int16_t OStatus;
int16_t SAvg; int16_t SAvg;
int16_t SAvg2; int16_t SAvg2;
@@ -388,6 +389,8 @@ unsigned long aftickerhold;
unsigned long aftimer; unsigned long aftimer;
unsigned long autosquelchtimer; unsigned long autosquelchtimer;
unsigned long blockcounterold[33]; unsigned long blockcounterold[33];
unsigned long eccticker;
unsigned long ecctickerhold;
unsigned long eonticker; unsigned long eonticker;
unsigned long eontickerhold; unsigned long eontickerhold;
unsigned long flashingtimer; unsigned long flashingtimer;

View File

@@ -5,7 +5,7 @@
String HexStringold; String HexStringold;
float smoothBER = 0; float smoothBER = 0;
int RadiotextWidth, PSLongWidth, AIDWidth, afstringWidth, eonstringWidth, rtplusstringWidth, lengths[7]; int RadiotextWidth, PSLongWidth, AIDWidth, afstringWidth, eccstringWidth, eonstringWidth, rtplusstringWidth, lengths[7];
String afstringold, eonstringold, rtplusstringold, stationNameLongOld, AIDStringold; String afstringold, eonstringold, rtplusstringold, stationNameLongOld, AIDStringold;
bool rtABold, ps12errorold, ps34errorold, ps56errorold, ps78errorold; bool rtABold, ps12errorold, ps34errorold, ps56errorold, ps78errorold;
@@ -57,17 +57,42 @@ void ShowAdvancedRDS() {
} }
if (ECCold != radio.rds.ECC) { if (ECCold != radio.rds.ECC) {
if (advancedRDS) { if (!screenmute) {
if (!screenmute) { if (radio.rds.hasECC) ECCString = (radio.rds.ECCtext.length() == 0 ? textUI(73) : radio.rds.ECCtext); else ECCString = "N/A";
if (radio.rds.hasECC) ECCString = (radio.rds.ECCtext.length() == 0 ? textUI(73) : radio.rds.ECCtext); else ECCString = "N/A"; if (ECCString != ECColdString) {
if (ECCString != ECColdString) { tftPrint(ALEFT, "N/A", 35, 199, BackgroundColor, BackgroundColor, 16);
tftPrint(ALEFT, "N/A", 35, 199, BackgroundColor, BackgroundColor, 16); tftPrint(ALEFT, ECColdString, 35, 199, BackgroundColor, BackgroundColor, 16);
tftPrint(ALEFT, ECColdString, 35, 199, BackgroundColor, BackgroundColor, 16); eccstringWidth = RDSSprite.textWidth(ECCString);
} }
tftPrint(ALEFT, ECCString, 35, 199, RDSColor, RDSColorSmooth, 16);
if (eccstringWidth < 270) {
xPos6 = 0;
RDSSprite.fillSprite(BackgroundColor);
if (RDSstatus) RDSSprite.setTextColor(RDSColor, RDSColorSmooth, false); else RDSSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
RDSSprite.drawString(ECCString, xPos6, 2);
RDSSprite.pushSprite(35, 199);
} else {
if (millis() - eccticker >= 5) {
if (xPos6 < -eccstringWidth) xPos6 = 0;
if (xPos6 == 0) {
if (millis() - ecctickerhold >= 2000) {
xPos6--;
ecctickerhold = millis();
}
} else {
xPos6--;
ecctickerhold = millis();
}
RDSSprite.fillSprite(BackgroundColor);
if (RDSstatus) RDSSprite.setTextColor(RDSColor, RDSColorSmooth, false); else RDSSprite.setTextColor(RDSDropoutColor, RDSDropoutColorSmooth, false);
RDSSprite.drawString(ECCString, xPos6, 2);
RDSSprite.drawString(ECCString, xPos6 + eccstringWidth, 2);
RDSSprite.pushSprite(35, 199);
eccticker = millis();
}
} }
ECColdString = ECCString;
} }
ECColdString = ECCString;
if (wifi) { if (wifi) {
Udp.beginPacket(remoteip, 9030); Udp.beginPacket(remoteip, 9030);
@@ -1023,11 +1048,11 @@ void ShowRDSStatistics() {
String HexString; String HexString;
HexString = String(((radio.rds.rdsA >> 12) & 0xF), HEX) + String(((radio.rds.rdsA >> 8) & 0xF), HEX) + String(((radio.rds.rdsA >> 4) & 0xF), HEX) + String((radio.rds.rdsA & 0xF), HEX); HexString = String(((radio.rds.rdsA >> 12) & 0xF), HEX) + String(((radio.rds.rdsA >> 8) & 0xF), HEX) + String(((radio.rds.rdsA >> 4) & 0xF), HEX) + String((radio.rds.rdsA & 0xF), HEX);
HexString += " "; HexString += " ";
HexString = String(((radio.rds.rdsB >> 12) & 0xF), HEX) + String(((radio.rds.rdsB >> 8) & 0xF), HEX) + String(((radio.rds.rdsB >> 4) & 0xF), HEX) + String((radio.rds.rdsB & 0xF), HEX); HexString += String(((radio.rds.rdsB >> 12) & 0xF), HEX) + String(((radio.rds.rdsB >> 8) & 0xF), HEX) + String(((radio.rds.rdsB >> 4) & 0xF), HEX) + String((radio.rds.rdsB & 0xF), HEX);
HexString += " "; HexString += " ";
HexString = String(((radio.rds.rdsC >> 12) & 0xF), HEX) + String(((radio.rds.rdsC >> 8) & 0xF), HEX) + String(((radio.rds.rdsC >> 4) & 0xF), HEX) + String((radio.rds.rdsC & 0xF), HEX); HexString += String(((radio.rds.rdsC >> 12) & 0xF), HEX) + String(((radio.rds.rdsC >> 8) & 0xF), HEX) + String(((radio.rds.rdsC >> 4) & 0xF), HEX) + String((radio.rds.rdsC & 0xF), HEX);
HexString += " "; HexString += " ";
HexString = String(((radio.rds.rdsD >> 12) & 0xF), HEX) + String(((radio.rds.rdsD >> 8) & 0xF), HEX) + String(((radio.rds.rdsD >> 4) & 0xF), HEX) + String((radio.rds.rdsD & 0xF), HEX); HexString += String(((radio.rds.rdsD >> 12) & 0xF), HEX) + String(((radio.rds.rdsD >> 8) & 0xF), HEX) + String(((radio.rds.rdsD >> 4) & 0xF), HEX) + String((radio.rds.rdsD & 0xF), HEX);
HexString.toUpperCase(); HexString.toUpperCase();