Added option to show underscore on PS only

This commit is contained in:
Sjef Verhoeven PE5PVB
2025-01-22 10:49:36 +01:00
parent fc0aa0f9a0
commit bd9eef15ca
4 changed files with 86 additions and 43 deletions

View File

@@ -635,9 +635,9 @@ void TEF6686::readRDS(byte showrdserrors) {
if (packet0 && packet1 && packet2 && packet3 && (ps_process || (rds.fastps == 0 && rds.fastps != 2))) { // Last chars are received if (packet0 && packet1 && packet2 && packet3 && (ps_process || (rds.fastps == 0 && rds.fastps != 2))) { // Last chars are received
if (strcmp(ps_buffer, ps_buffer2) == 0) { // When no difference between current and buffer, let's go... if (strcmp(ps_buffer, ps_buffer2) == 0) { // When no difference between current and buffer, let's go...
ps_process = true; ps_process = true;
RDScharConverter(ps_buffer2, PStext, sizeof(PStext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII RDScharConverter(ps_buffer2, PStext, sizeof(PStext) / sizeof(wchar_t), (underscore > 0 ? true : false)); // Convert 8 bit ASCII to 16 bit ASCII
String utf8String = convertToUTF8(PStext); // Convert RDS characterset to ASCII String utf8String = convertToUTF8(PStext); // Convert RDS characterset to ASCII
rds.stationName = extractUTF8Substring(utf8String, 0, 8, true); // Make sure PS does not exceed 8 characters rds.stationName = extractUTF8Substring(utf8String, 0, 8, (underscore > 0 ? true : false)); // Make sure PS does not exceed 8 characters
for (byte x = 0; x < 8; x++) { for (byte x = 0; x < 8; x++) {
ps_buffer[x] = '\0'; ps_buffer[x] = '\0';
ps_buffer2[x] = '\0'; ps_buffer2[x] = '\0';
@@ -650,9 +650,9 @@ void TEF6686::readRDS(byte showrdserrors) {
if (offset == 1) packet1 = true; if (offset == 1) packet1 = true;
if (offset == 2) packet2 = true; if (offset == 2) packet2 = true;
if (offset == 3) packet3 = true; if (offset == 3) packet3 = true;
RDScharConverter(ps_buffer, PStext, sizeof(PStext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII RDScharConverter(ps_buffer, PStext, sizeof(PStext) / sizeof(wchar_t), (underscore > 0 ? true : false)); // Convert 8 bit ASCII to 16 bit ASCII
String utf8String = convertToUTF8(PStext); // Convert RDS characterset to ASCII String utf8String = convertToUTF8(PStext); // Convert RDS characterset to ASCII
rds.stationName = extractUTF8Substring(utf8String, 0, 8, true); rds.stationName = extractUTF8Substring(utf8String, 0, 8, (underscore > 0 ? true : false));
if (packet0 && packet1 && packet2 && packet3) ps_process = true; // OK, we had one runs, now let's go the idle PS writing if (packet0 && packet1 && packet2 && packet3) ps_process = true; // OK, we had one runs, now let's go the idle PS writing
} }
@@ -1207,9 +1207,9 @@ void TEF6686::readRDS(byte showrdserrors) {
} }
wchar_t RTtext[65] = L""; // Create 16 bit char buffer for Extended ASCII wchar_t RTtext[65] = L""; // Create 16 bit char buffer for Extended ASCII
RDScharConverter(rt_buffer_temp, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII RDScharConverter(rt_buffer_temp, RTtext, sizeof(RTtext) / sizeof(wchar_t), (underscore > 1 ? true : false)); // Convert 8 bit ASCII to 16 bit ASCII
rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
rds.stationText = extractUTF8Substring(rds.stationText, 0, endmarkerRT64, true); // Make sure RT does not exceed 64 characters rds.stationText = extractUTF8Substring(rds.stationText, 0, endmarkerRT64, (underscore > 1 ? true : false)); // Make sure RT does not exceed 64 characters
rds.stationText = trimTrailingSpaces(rds.stationText); // Trim empty spaces at the end rds.stationText = trimTrailingSpaces(rds.stationText); // Trim empty spaces at the end
} }
@@ -1242,9 +1242,9 @@ void TEF6686::readRDS(byte showrdserrors) {
} }
wchar_t RTtext[65] = L""; // Create 16 bit char buffer for Extended ASCII wchar_t RTtext[65] = L""; // Create 16 bit char buffer for Extended ASCII
RDScharConverter(rt_buffer_temp, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII RDScharConverter(rt_buffer_temp, RTtext, sizeof(RTtext) / sizeof(wchar_t), (underscore > 1 ? true : false)); // Convert 8 bit ASCII to 16 bit ASCII
rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
rds.stationText = extractUTF8Substring(rds.stationText, 0, endmarkerRT64, true); // Make sure RT does not exceed 64 characters rds.stationText = extractUTF8Substring(rds.stationText, 0, endmarkerRT64, (underscore > 1 ? true : false)); // Make sure RT does not exceed 64 characters
rds.stationText = trimTrailingSpaces(rds.stationText); // Trim empty spaces at the end rds.stationText = trimTrailingSpaces(rds.stationText); // Trim empty spaces at the end
} }
@@ -1293,9 +1293,9 @@ void TEF6686::readRDS(byte showrdserrors) {
} }
wchar_t RTtext[33] = L""; // Create 16 bit char buffer for Extended ASCII wchar_t RTtext[33] = L""; // Create 16 bit char buffer for Extended ASCII
RDScharConverter(rt_buffer_temp, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII RDScharConverter(rt_buffer_temp, RTtext, sizeof(RTtext) / sizeof(wchar_t), (underscore > 1 ? true : false)); // Convert 8 bit ASCII to 16 bit ASCII
rds.stationText32 = convertToUTF8(RTtext); // Convert RDS characterset to ASCII rds.stationText32 = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
rds.stationText32 = extractUTF8Substring(rds.stationText32, 0, endmarkerRT32, true);// Make sure RT does not exceed 32 characters rds.stationText32 = extractUTF8Substring(rds.stationText32, 0, endmarkerRT32, (underscore > 1 ? true : false));// Make sure RT does not exceed 32 characters
rds.stationText32 = trimTrailingSpaces(rds.stationText32); // Trim empty spaces at the end rds.stationText32 = trimTrailingSpaces(rds.stationText32); // Trim empty spaces at the end
} }
} break; } break;
@@ -1916,7 +1916,7 @@ String TEF6686::extractUTF8Substring(const String & utf8String, size_t start, si
charIndex++; charIndex++;
} }
if (under && underscore) { if (under) {
while (substring.length() < length) { while (substring.length() < length) {
substring += '_'; substring += '_';
} }
@@ -1930,8 +1930,8 @@ void TEF6686::RDScharConverter(const char* input, wchar_t* output, size_t size,
for (size_t i = 0; i < size - 1; i++) { for (size_t i = 0; i < size - 1; i++) {
char currentChar = input[i]; char currentChar = input[i];
switch (currentChar) { switch (currentChar) {
case 0x0A: if (under && underscore) output[i] = L'_'; else output[i] = L' '; break; case 0x0A: if (under) output[i] = L'_'; else output[i] = L' '; break;
case 0x20: if (under && underscore) output[i] = L'_'; else output[i] = L' '; break; case 0x20: if (under) output[i] = L'_'; else output[i] = L' '; break;
case 0x21 ... 0x5D: output[i] = static_cast<wchar_t>(currentChar); break; case 0x21 ... 0x5D: output[i] = static_cast<wchar_t>(currentChar); break;
case 0x5E: output[i] = L''; break; case 0x5E: output[i] = L''; break;
case 0x5F: output[i] = L'_'; break; case 0x5F: output[i] = L'_'; break;

View File

@@ -719,7 +719,7 @@ class TEF6686 {
uint8_t rdsblock; uint8_t rdsblock;
bool mute; bool mute;
bool afmethodB; bool afmethodB;
bool underscore; byte underscore;
bool ps_process; bool ps_process;
byte af_updatecounter; byte af_updatecounter;

View File

@@ -790,7 +790,11 @@ void ShowOneLine(byte position, byte item, bool selected) {
FullLineSprite.setTextDatum(TR_DATUM); FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString((radio.underscore ? myLanguage[language][42] : myLanguage[language][30]), 298, 2); switch (radio.underscore) {
case 0: FullLineSprite.drawString(myLanguage[language][30], 298, 2); break;
case 1: FullLineSprite.drawString(myLanguage[language][304], 298, 2); break;
case 2: FullLineSprite.drawString(myLanguage[language][42], 298, 2); break;
}
break; break;
case FMSETTINGS: case FMSETTINGS:
@@ -1885,7 +1889,11 @@ void ShowOneButton(byte position, byte item, bool selected) {
PSSprite.drawString(shortLine(removeNewline(myLanguage[language][49])), 75, 1); PSSprite.drawString(shortLine(removeNewline(myLanguage[language][49])), 75, 1);
PSSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false); PSSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
PSSprite.drawString((radio.underscore ? myLanguage[language][42] : myLanguage[language][30]), 75, 15); switch (radio.underscore) {
case 0: PSSprite.drawString(myLanguage[language][30], 75, 15); break;
case 1: PSSprite.drawString(myLanguage[language][304], 75, 15); break;
case 2: PSSprite.drawString(myLanguage[language][42], 75, 15); break;
}
break; break;
case FMSETTINGS: case FMSETTINGS:
@@ -3511,9 +3519,14 @@ void MenuUp() {
break; break;
case ITEM3: case ITEM3:
radio.underscore = !radio.underscore; radio.underscore++;
if (radio.underscore > 2) radio.underscore = 0;
OneBigLineSprite.drawString((radio.underscore ? myLanguage[language][42] : myLanguage[language][30]), 135, 0); switch (radio.underscore) {
case 0: OneBigLineSprite.drawString(myLanguage[language][30], 135, 0); break;
case 1: OneBigLineSprite.drawString(myLanguage[language][304], 135, 0); break;
case 2: OneBigLineSprite.drawString(myLanguage[language][42], 135, 0); break;
}
OneBigLineSprite.pushSprite(24, 118); OneBigLineSprite.pushSprite(24, 118);
break; break;
@@ -4521,9 +4534,14 @@ void MenuDown() {
break; break;
case ITEM3: case ITEM3:
radio.underscore = !radio.underscore; radio.underscore--;
if (radio.underscore > 2) radio.underscore = 2;
OneBigLineSprite.drawString((radio.underscore ? myLanguage[language][42] : myLanguage[language][30]), 135, 0); switch (radio.underscore) {
case 0: OneBigLineSprite.drawString(myLanguage[language][30], 135, 0); break;
case 1: OneBigLineSprite.drawString(myLanguage[language][304], 135, 0); break;
case 2: OneBigLineSprite.drawString(myLanguage[language][42], 135, 0); break;
}
OneBigLineSprite.pushSprite(24, 118); OneBigLineSprite.pushSprite(24, 118);
break; break;
@@ -5582,7 +5600,11 @@ void DoMenu() {
case ITEM3: case ITEM3:
Infoboxprint(myLanguage[language][49]); Infoboxprint(myLanguage[language][49]);
OneBigLineSprite.drawString((radio.underscore ? myLanguage[language][42] : myLanguage[language][30]), 135, 0); switch (radio.underscore) {
case 0: OneBigLineSprite.drawString(myLanguage[language][30], 135, 0); break;
case 1: OneBigLineSprite.drawString(myLanguage[language][304], 135, 0); break;
case 2: OneBigLineSprite.drawString(myLanguage[language][42], 135, 0); break;
}
OneBigLineSprite.pushSprite(24, 118); OneBigLineSprite.pushSprite(24, 118);
break; break;

View File

@@ -5,7 +5,7 @@
// [number of languages][number of texts] // [number of languages][number of texts]
static const char* const myLanguage[21][304] PROGMEM = { static const char* const myLanguage[21][305] PROGMEM = {
{ "English", // English { "English", // English
"Rotary direction changed", // 1 "Rotary direction changed", // 1
"Please release button", // 2 "Please release button", // 2
@@ -309,7 +309,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300 "The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300
"PI locked CT sync", // 301 "PI locked CT sync", // 301
"Error! No RDS signal", // 302 "Error! No RDS signal", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Nederlands", // Dutch { "Nederlands", // Dutch
@@ -615,7 +616,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Het logboek bevat meer dan 130 items, die de viewer niet kan verwerken. Download alstublieft het CSV-bestand om het te bekijken.", // 300 "Het logboek bevat meer dan 130 items, die de viewer niet kan verwerken. Download alstublieft het CSV-bestand om het te bekijken.", // 300
"PI gebonden CT sync", // 301 "PI gebonden CT sync", // 301
"Fout! Geen RDS!", // 302 "Fout! Geen RDS!", // 302
"Stoppen: BW lang indrukken" // 303 "Stoppen: BW lang indrukken", // 303
"Alleen PS" // 304
}, },
{ "Polski", // Polish { "Polski", // Polish
@@ -921,7 +923,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Wykaz zawiera ponad 130 wpisów, których przeglądarka nie może pokazać. Pobierz plik CSV, aby je przetworzyć.", // 300 "Wykaz zawiera ponad 130 wpisów, których przeglądarka nie może pokazać. Pobierz plik CSV, aby je przetworzyć.", // 300
"Synch. CT przy zablokowanym PI", // 301 "Synch. CT przy zablokowanym PI", // 301
"Błąd! Brak sygnału RDS", // 302 "Błąd! Brak sygnału RDS", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Hrvatski", // Croatian { "Hrvatski", // Croatian
@@ -1227,7 +1230,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300 "The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300
"PI locked CT sync", // 301 "PI locked CT sync", // 301
"Error! No RDS signal", // 302 "Error! No RDS signal", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Ελληνικά", // Greek { "Ελληνικά", // Greek
@@ -1533,7 +1537,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Το βιβλίο περιέχει πάνω από 130 καταγραφές, και είναι αδύνατη η επεξεργασία τους από το χρήστη. Κάντε λήψη του αρχείου CSV για να το επεξεργαστείτε.", // 300 "Το βιβλίο περιέχει πάνω από 130 καταγραφές, και είναι αδύνατη η επεξεργασία τους από το χρήστη. Κάντε λήψη του αρχείου CSV για να το επεξεργαστείτε.", // 300
"Συγχρονισμός CT σε\nκλείδωμα PI ", // 301 "Συγχρονισμός CT σε\nκλείδωμα PI ", // 301
"Δεν υπάρχει σήμα RDS!", // 302 "Δεν υπάρχει σήμα RDS!", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Română", // Romanian { "Română", // Romanian
@@ -1839,7 +1844,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Jurnalul conține peste 130 de intrări, pe care vizualizatorul nu le poate procesa. Te rog descarcă fișierul CSV pentru a le procesa.", // 300 "Jurnalul conține peste 130 de intrări, pe care vizualizatorul nu le poate procesa. Te rog descarcă fișierul CSV pentru a le procesa.", // 300
"PI blocat pe sincronizare CT", // 301 "PI blocat pe sincronizare CT", // 301
"Eroare! Fără semnal RDS", // 302 "Eroare! Fără semnal RDS", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Deutsch", // German { "Deutsch", // German
@@ -2145,7 +2151,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Das Logbuch enthält mehr als 130 Einträge, was das Anzeigeprogramm nicht verarbeiten kann. Bitte lade die CSV-Datei zum Verarbeiten herunter.", // 300 "Das Logbuch enthält mehr als 130 Einträge, was das Anzeigeprogramm nicht verarbeiten kann. Bitte lade die CSV-Datei zum Verarbeiten herunter.", // 300
"Synchronisiere CT\nbei bestimmtem PI", // 301 "Synchronisiere CT\nbei bestimmtem PI", // 301
"Fehler! Kein RDS-Signal", // 302 "Fehler! Kein RDS-Signal", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Čeština", // Czech { "Čeština", // Czech
@@ -2451,7 +2458,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Logbook obsahuje více než 130 položek, které prohlížeč nedokáže zpracovat. Pro zpracování všech položek si stáhněte CSV soubor.", // 300 "Logbook obsahuje více než 130 položek, které prohlížeč nedokáže zpracovat. Pro zpracování všech položek si stáhněte CSV soubor.", // 300
"Synchronizovat CT, když je PI uzamčeno", // 301 "Synchronizovat CT, když je PI uzamčeno", // 301
"Chyba! Žádný RDS signál", // 302 "Chyba! Žádný RDS signál", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Magyar", // Hungarian { "Magyar", // Hungarian
@@ -2757,7 +2765,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300 "The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300
"PI locked CT sync", // 301 "PI locked CT sync", // 301
"Error! No RDS signal", // 302 "Error! No RDS signal", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Français", // French { "Français", // French
@@ -3063,7 +3072,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Le journal de bord contient plus de 130 entrées que le spectateur ne peut pas traiter. Télécharger le fichier CSV pour le traiter.", // 300 "Le journal de bord contient plus de 130 entrées que le spectateur ne peut pas traiter. Télécharger le fichier CSV pour le traiter.", // 300
"Synch CT sur\nPI verrouillé", // 301 "Synch CT sur\nPI verrouillé", // 301
"Erreur ! Pas de signal RDS", // 302 "Erreur ! Pas de signal RDS", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Български", // Bulgarian { "Български", // Bulgarian
@@ -3369,7 +3379,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300 "The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300
"PI locked CT sync", // 301 "PI locked CT sync", // 301
"Error! No RDS signal", // 302 "Error! No RDS signal", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Русский", // Russian { "Русский", // Russian
@@ -3675,7 +3686,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"В журнале содержится более 130 записей, которые программа просмотра не может обработать. Загрузите файл CSV для его обработки.", // 300 "В журнале содержится более 130 записей, которые программа просмотра не может обработать. Загрузите файл CSV для его обработки.", // 300
"PI-синхронизация трансформатора тока с блокировкой", // 301 "PI-синхронизация трансформатора тока с блокировкой", // 301
"Ошибка! Нет сигнала RDS", // 302 "Ошибка! Нет сигнала RDS", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Українська", // Ukranian { "Українська", // Ukranian
@@ -3981,7 +3993,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Журнал містить понад 130 записів, які програма перегляду не може обробити. Будь ласка, завантажте файл CSV, щоб обробити його.", // 300 "Журнал містить понад 130 записів, які програма перегляду не може обробити. Будь ласка, завантажте файл CSV, щоб обробити його.", // 300
"PI locked CT sync", // 301 "PI locked CT sync", // 301
"Помилка! Немає сигналу RDS", // 302 "Помилка! Немає сигналу RDS", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Italiano", // Italian { "Italiano", // Italian
@@ -4287,7 +4300,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.",// 300 "The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.",// 300
"PI locked CT sync", // 301 "PI locked CT sync", // 301
"Error! No RDS signal", // 302 "Error! No RDS signal", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Simplified Chinese", // Simplified Chinese { "Simplified Chinese", // Simplified Chinese
@@ -4593,7 +4607,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300 "The logbook contains over 130 entries, which the viewer cannot process. Please download the CSV file to process it.", // 300
"PI locked CT sync", // 301 "PI locked CT sync", // 301
"错误! 无RDS信号", // 302 "错误! 无RDS信号", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Norsk", // Norwegian { "Norsk", // Norwegian
"Rotasjonsretning endret", // 1 "Rotasjonsretning endret", // 1
@@ -4898,7 +4913,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Loggboken inneholder over 130 oppføringer, som en ikke kan behandle. Last ned CSV-filen for å behandle den.", // 300 "Loggboken inneholder over 130 oppføringer, som en ikke kan behandle. Last ned CSV-filen for å behandle den.", // 300
"PI-låst CT-synk", // 301 "PI-låst CT-synk", // 301
"Feil! Ingen RDS-signal", // 302 "Feil! Ingen RDS-signal", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Español", // Spanish { "Español", // Spanish
@@ -5204,7 +5220,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"El libro de registro contiene más de 130 entradas que el visor no puede procesar. Descargue el archivo CSV para procesarlo.", // 300 "El libro de registro contiene más de 130 entradas que el visor no puede procesar. Descargue el archivo CSV para procesarlo.", // 300
"Sync CT en\nPI bloqueado", // 301 "Sync CT en\nPI bloqueado", // 301
"Error! No hay señal RDS", // 302 "Error! No hay señal RDS", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Português", // Portuguese { "Português", // Portuguese
@@ -5510,7 +5527,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"O diário de bordo contém mais de 130 entradas que o espectador não consegue processar. Descarregue o ficheiro CSV para processá-lo.", // 300 "O diário de bordo contém mais de 130 entradas que o espectador não consegue processar. Descarregue o ficheiro CSV para processá-lo.", // 300
"Sincronizar CT\nno PI bloqueado", // 301 "Sincronizar CT\nno PI bloqueado", // 301
"Erro! Sem sinal RDS", // 302 "Erro! Sem sinal RDS", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Srpski", // Serbian { "Srpski", // Serbian
@@ -5816,7 +5834,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Dnevnik sadrži više od 130 unosa, što viewer ne može obraditi. Preuzmite CSV fajl za obradu.", // 300 "Dnevnik sadrži više od 130 unosa, što viewer ne može obraditi. Preuzmite CSV fajl za obradu.", // 300
"PI zaključan\nCT sinhronizacija", // 301 "PI zaključan\nCT sinhronizacija", // 301
"Nema RDS signala!", // 302 "Nema RDS signala!", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Suomi", // Finnish { "Suomi", // Finnish
@@ -6122,7 +6141,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Lokikirjassa on yli 130 merkintää, joita katselija ei voi käsitellä. Lataa CSV-tiedosto käsitelläksesi sen.", // 300 "Lokikirjassa on yli 130 merkintää, joita katselija ei voi käsitellä. Lataa CSV-tiedosto käsitelläksesi sen.", // 300
"PI lukittu\nCT synkronointi", // 301 "PI lukittu\nCT synkronointi", // 301
"Ei RDS-signaalia!", // 302 "Ei RDS-signaalia!", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
}, },
{ "Dansk", // Danish { "Dansk", // Danish
@@ -6428,7 +6448,8 @@ static const char* const myLanguage[21][304] PROGMEM = {
"Logbogen indeholder over 130 poster, som fremviseren ikke kan behandle. Download CSV-filen for at behandle den.", // 300 "Logbogen indeholder over 130 poster, som fremviseren ikke kan behandle. Download CSV-filen for at behandle den.", // 300
"PI låst CT sync", // 301 "PI låst CT sync", // 301
"Fejl! Ingen RDS signal", // 302 "Fejl! Ingen RDS signal", // 302
"Hold BW to stop" // 303 "Hold BW to stop", // 303
"PS Only" // 304
} }
}; };
#endif #endif