Merge branch 'main' into main
This commit is contained in:
+2
-2
@@ -3399,7 +3399,7 @@ void ShowAdvancedRDS() {
|
|||||||
eonstringold = eonstring;
|
eonstringold = eonstring;
|
||||||
|
|
||||||
String rtplusstring;
|
String rtplusstring;
|
||||||
if (radio.rds.hasRDSplus) rtplusstring = "1) " + String(radio.rds.RTContent1) + " - 2) " + String(radio.rds.RTContent2) + " "; else rtplusstring = myLanguage[language][89];
|
if (radio.rds.hasRDSplus) rtplusstring = String(myLanguage[language][radio.rds.rdsplusTag1]) + ": " + String(radio.rds.RTContent1) + " - " + String(myLanguage[language][radio.rds.rdsplusTag2]) + ": " + String(radio.rds.RTContent2) + " "; else rtplusstring = myLanguage[language][89];
|
||||||
if (hasrtplusold != radio.rds.hasRDSplus) {
|
if (hasrtplusold != radio.rds.hasRDSplus) {
|
||||||
if (radio.rds.hasRDSplus) tftPrint(-1, "RT+", 124, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "RT+", 124, 51, GreyoutColor, BackgroundColor, FONT16);
|
if (radio.rds.hasRDSplus) tftPrint(-1, "RT+", 124, 51, SecondaryColor, SecondaryColorSmooth, FONT16); else tftPrint(-1, "RT+", 124, 51, GreyoutColor, BackgroundColor, FONT16);
|
||||||
hasrtplusold = radio.rds.hasRDSplus;
|
hasrtplusold = radio.rds.hasRDSplus;
|
||||||
@@ -5091,7 +5091,7 @@ void Communication() {
|
|||||||
XDRGTKTCP = true;
|
XDRGTKTCP = true;
|
||||||
RemoteClient.print("o1,0\n");
|
RemoteClient.print("o1,0\n");
|
||||||
store = true;
|
store = true;
|
||||||
} else if (RDSSPYTCP == false && XDRGTKTCP == false && data_str.length() < 5 && data_str == ("*D*R?F"))
|
} else if (RDSSPYTCP == false && XDRGTKTCP == false && data_str.length() < 6 && data_str == ("*D*R?F"))
|
||||||
{
|
{
|
||||||
RDSSPYTCP = true;
|
RDSSPYTCP = true;
|
||||||
} else if (RDSSPYTCP == true) {
|
} else if (RDSSPYTCP == true) {
|
||||||
|
|||||||
+14
-2
@@ -734,8 +734,8 @@ void TEF6686::readRDS(bool showrdserrors)
|
|||||||
case RDS_GROUP_13A: {
|
case RDS_GROUP_13A: {
|
||||||
// RT+ decoding
|
// RT+ decoding
|
||||||
if (rds.correct && rtplusblock == rdsblock && rds.hasRDSplus) { // Are we in the right RT+ block and is all ok to go?
|
if (rds.correct && rtplusblock == rdsblock && rds.hasRDSplus) { // Are we in the right RT+ block and is all ok to go?
|
||||||
uint16_t content_type_1 = ((rds.rdsB & 0x07) << 3) + (rds.rdsC >> 13);
|
rds.rdsplusTag1 = ((rds.rdsB & 0x07) << 3) + (rds.rdsC >> 13);
|
||||||
uint16_t content_type_2 = ((rds.rdsC & 0x01) << 5) + (rds.rdsD >> 11);
|
rds.rdsplusTag2 = ((rds.rdsC & 0x01) << 5) + (rds.rdsD >> 11);
|
||||||
uint16_t start_marker_1 = (rds.rdsC >> 7) & 0x3F;
|
uint16_t start_marker_1 = (rds.rdsC >> 7) & 0x3F;
|
||||||
uint16_t length_marker_1 = (rds.rdsC >> 1) & 0x3F;
|
uint16_t length_marker_1 = (rds.rdsC >> 1) & 0x3F;
|
||||||
uint16_t start_marker_2 = (rds.rdsD >> 5) & 0x3F;
|
uint16_t start_marker_2 = (rds.rdsD >> 5) & 0x3F;
|
||||||
@@ -743,6 +743,18 @@ void TEF6686::readRDS(bool showrdserrors)
|
|||||||
togglebit = bitRead(lowByte(rds.rdsB), 4);
|
togglebit = bitRead(lowByte(rds.rdsB), 4);
|
||||||
runningbit = bitRead(lowByte(rds.rdsB), 3);
|
runningbit = bitRead(lowByte(rds.rdsB), 3);
|
||||||
|
|
||||||
|
switch (rds.rdsplusTag1) {
|
||||||
|
case 1 ... 53: rds.rdsplusTag1 += 111; break;
|
||||||
|
case 59 ... 63: rds.rdsplusTag1 += 105; break;
|
||||||
|
default: rds.rdsplusTag1 = 169; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (rds.rdsplusTag2) {
|
||||||
|
case 1 ... 53: rds.rdsplusTag2 += 111; break;
|
||||||
|
case 59 ... 63: rds.rdsplusTag2 += 105; break;
|
||||||
|
default: rds.rdsplusTag2 = 169; break;
|
||||||
|
}
|
||||||
|
|
||||||
if (togglebit) {
|
if (togglebit) {
|
||||||
for (int i = 0; i < 45; i++) {
|
for (int i = 0; i < 45; i++) {
|
||||||
RDSplus1[i] = 0;
|
RDSplus1[i] = 0;
|
||||||
|
|||||||
+1
-1
@@ -126,7 +126,7 @@ typedef struct _rds_ {
|
|||||||
String PTYN;
|
String PTYN;
|
||||||
char stationType[18];
|
char stationType[18];
|
||||||
char picode[7];
|
char picode[7];
|
||||||
uint16_t hour, minute, day, month, year, offsetplusmin, rdsA, rdsB, rdsC, rdsD, rdsErr, correctPI;
|
uint16_t hour, minute, day, month, year, offsetplusmin, rdsA, rdsB, rdsC, rdsD, rdsErr, correctPI, rdsplusTag1, rdsplusTag2;
|
||||||
int8_t offset;
|
int8_t offset;
|
||||||
unsigned int ECC;
|
unsigned int ECC;
|
||||||
unsigned int LIC;
|
unsigned int LIC;
|
||||||
|
|||||||
+73
-57
@@ -1,6 +1,6 @@
|
|||||||
// [number of languages][number of texts][max. length of text]
|
// [number of languages][number of texts][max. length of text]
|
||||||
|
|
||||||
static const char* const myLanguage[16][169] = {
|
static const char* const myLanguage[16][170] = {
|
||||||
{ "English", // English
|
{ "English", // English
|
||||||
"Rotary direction changed", // 1
|
"Rotary direction changed", // 1
|
||||||
"Please release button", // 2
|
"Please release button", // 2
|
||||||
@@ -169,7 +169,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
" " // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Nederlands", // Dutch
|
{ "Nederlands", // Dutch
|
||||||
@@ -281,66 +282,67 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"OIRT", // 106
|
"OIRT", // 106
|
||||||
"Rotating while screen off", // 107
|
"Rotating while screen off", // 107
|
||||||
"Model selector", // 108
|
"Model selector", // 108
|
||||||
"Base (ILI9341)", // 109
|
"Basis (ILI9341)", // 109
|
||||||
"Portable (ILI9341)", // 110
|
"Portable (ILI9341)", // 110
|
||||||
"Portable touch (ILI9341)", // 111
|
"Portable touch (ILI9341)", // 111
|
||||||
"Title", // 112
|
"Titel", // 112
|
||||||
"Album", // 113
|
"Album", // 113
|
||||||
"Track", // 114
|
"Nummer", // 114
|
||||||
"Artist", // 115
|
"Artiest", // 115
|
||||||
"Composition", // 116
|
"Compositie", // 116
|
||||||
"Movement", // 117
|
"Deel", // 117
|
||||||
"Conductor", // 118
|
"Dirigent", // 118
|
||||||
"Composer", // 119
|
"Componist", // 119
|
||||||
"Band", // 120
|
"Band", // 120
|
||||||
"Comment", // 121
|
"Opmerking", // 121
|
||||||
"Genre", // 122
|
"Genre", // 122
|
||||||
"News", // 123
|
"Nieuws", // 123
|
||||||
"Local news", // 124
|
"Lokaal nieuws", // 124
|
||||||
"Stockmarket", // 125
|
"Financiële beurs", // 125
|
||||||
"Sport", // 126
|
"Sport", // 126
|
||||||
"Lottery", // 127
|
"Loterij", // 127
|
||||||
"Horoscope", // 128
|
"Horoscoop", // 128
|
||||||
"Daily Diversion", // 129
|
"Dagelijkse grap", // 129
|
||||||
"Health", // 130
|
"Gezondheid", // 130
|
||||||
"Event", // 131
|
"Evenement", // 131
|
||||||
"Scene", // 132
|
"Scene", // 132
|
||||||
"Cinema", // 133
|
"Bioscoop", // 133
|
||||||
"TV", // 134
|
"TV", // 134
|
||||||
"Date/time", //135
|
"Datum/tijd", //135
|
||||||
"Weather", // 136
|
"Weer", // 136
|
||||||
"Traffic", // 137
|
"Verkeer", // 137
|
||||||
"Alarm", // 138
|
"Alarm", // 138
|
||||||
"Advertisement", // 139
|
"Advertentie", // 139
|
||||||
"Website", // 140
|
"Website", // 140
|
||||||
"Other", // 141
|
"Overige", // 141
|
||||||
"Short PS", // 142
|
"Korte naam", // 142
|
||||||
"Long PS", // 143
|
"Lange naam", // 143
|
||||||
"Now", // 144
|
"Nu", // 144
|
||||||
"Next", //145
|
"Straks", //145
|
||||||
"Part", // 146
|
"Deel", // 146
|
||||||
"Host", // 147
|
"Host", // 147
|
||||||
"Editor", // 148
|
"Regiseur", // 148
|
||||||
"Frequency", // 149
|
"Frequentie", // 149
|
||||||
"Homepage", // 150
|
"Homepage", // 150
|
||||||
"Subchannel", // 151
|
"Subkanaal", // 151
|
||||||
"Hotline", // 152
|
"Hotline", // 152
|
||||||
"Studio phone", // 153
|
"Studio telefoon", // 153
|
||||||
"Phone", // 154
|
"Telefoon", // 154
|
||||||
"SMS studio", // 155
|
"SMS studio", // 155
|
||||||
"SMS", // 156
|
"SMS", // 156
|
||||||
"Email hotline", // 157
|
"Email hotline", // 157
|
||||||
"Email studio", // 158
|
"Email studio", // 158
|
||||||
"Email", // 159
|
"Email", // 159
|
||||||
"Chat", // 160
|
"Chat", // 160
|
||||||
"Chat centre", // 161
|
"Chat centrum", // 161
|
||||||
"Vote question", // 162
|
"Stemming", // 162
|
||||||
"Vote centre", // 163
|
"Stemcentrum", // 163
|
||||||
"Place", // 164
|
"Plaats", // 164
|
||||||
"Appointment", // 165
|
"Afspraak", // 165
|
||||||
"Identifier", // 166
|
"Identificatie", // 166
|
||||||
"Purchase", // 167
|
"Aankoop", // 167
|
||||||
"Get data" // 168
|
"Verkrijg data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Polski", // Polish
|
{ "Polski", // Polish
|
||||||
@@ -511,7 +513,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Hrvatski", // Croatian
|
{ "Hrvatski", // Croatian
|
||||||
@@ -682,7 +685,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Ελληνικά", // Greek
|
{ "Ελληνικά", // Greek
|
||||||
@@ -853,7 +857,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Ραντεβού", // 165
|
"Ραντεβού", // 165
|
||||||
"Αναγνωριστικό", // 166
|
"Αναγνωριστικό", // 166
|
||||||
"Αγορά", // 167
|
"Αγορά", // 167
|
||||||
"Λήψη δεδομένων" // 168
|
"Λήψη δεδομένων", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Romana", // Romanian
|
{ "Romana", // Romanian
|
||||||
@@ -1024,7 +1029,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Deutsch", // German
|
{ "Deutsch", // German
|
||||||
@@ -1195,7 +1201,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Czech", // Czech
|
{ "Czech", // Czech
|
||||||
@@ -1366,7 +1373,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Slovak", // Slovak
|
{ "Slovak", // Slovak
|
||||||
@@ -1537,7 +1545,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Français", // French
|
{ "Français", // French
|
||||||
@@ -1708,7 +1717,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Български", // Bulgarian
|
{ "Български", // Bulgarian
|
||||||
@@ -1879,7 +1889,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Русский", // Russian
|
{ "Русский", // Russian
|
||||||
@@ -2050,7 +2061,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Українська", // Ukranian
|
{ "Українська", // Ukranian
|
||||||
@@ -2221,7 +2233,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Italiano", // Italian
|
{ "Italiano", // Italian
|
||||||
@@ -2392,7 +2405,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Simplified Chinese", // Simplified Chinese
|
{ "Simplified Chinese", // Simplified Chinese
|
||||||
@@ -2563,7 +2577,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Norsk", // Norwegian
|
{ "Norsk", // Norwegian
|
||||||
@@ -2734,7 +2749,8 @@ static const char* const myLanguage[16][169] = {
|
|||||||
"Appointment", // 165
|
"Appointment", // 165
|
||||||
"Identifier", // 166
|
"Identifier", // 166
|
||||||
"Purchase", // 167
|
"Purchase", // 167
|
||||||
"Get data" // 168
|
"Get data", // 168
|
||||||
|
"" // 169
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user