You've already forked TEF6686_ESP32
Changed Long PS to UTF8
This commit is contained in:
@@ -1381,7 +1381,7 @@ void TEF6686::readRDS(byte showrdserrors) {
|
||||
rds.hasCT = true;
|
||||
rds.time = rdstime;
|
||||
rds.offset = timeoffset;
|
||||
} else {
|
||||
} else {
|
||||
rds.hasCT = false;
|
||||
}
|
||||
lastrdstime = rdstime;
|
||||
@@ -1649,9 +1649,8 @@ void TEF6686::readRDS(byte showrdserrors) {
|
||||
if ((offset == 0 || foundendmarker) && (pslong_process || !rds.fastps)) { // Last chars are received
|
||||
if (strcmp(pslong_buffer, pslong_buffer2) == 0) { // When no difference between current and buffer, let's go...
|
||||
pslong_process = true;
|
||||
RDScharConverter(pslong_buffer, PSLongtext, sizeof(PSLongtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
||||
String utf8String = convertToUTF8(PSLongtext); // Convert RDS characterset to ASCII
|
||||
rds.stationNameLong = extractUTF8Substring(utf8String, 0, endmarkerLPS, true); // Make sure PS Long does not exceed 32 characters
|
||||
PSLongtext = pslong_buffer;
|
||||
rds.stationNameLong = extractUTF8Substring(pslong_buffer, 0, endmarkerLPS, true); // Make sure PS Long does not exceed 32 characters
|
||||
rds.stationNameLong = trimTrailingSpaces(rds.stationNameLong);
|
||||
}
|
||||
}
|
||||
@@ -1661,9 +1660,8 @@ void TEF6686::readRDS(byte showrdserrors) {
|
||||
if (offset == 4) packet1long = true;
|
||||
if (offset == 8) packet2long = true;
|
||||
if (offset == 16) packet3long = true;
|
||||
RDScharConverter(pslong_buffer, PSLongtext, sizeof(PSLongtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
||||
String utf8String = convertToUTF8(PSLongtext); // Convert RDS characterset to ASCII
|
||||
rds.stationNameLong = extractUTF8Substring(utf8String, 0, endmarkerLPS, true);
|
||||
PSLongtext = pslong_buffer;
|
||||
rds.stationNameLong = extractUTF8Substring(pslong_buffer, 0, endmarkerLPS, true);
|
||||
rds.stationNameLong = trimTrailingSpaces(rds.stationNameLong);
|
||||
if ((packet0long && packet1long && packet2long && packet3long) || foundendmarker) pslong_process = true; // OK, we had one runs, now let's go the idle PS Long writing
|
||||
}
|
||||
@@ -1693,6 +1691,7 @@ void TEF6686::clearRDS (bool fullsearchrds) {
|
||||
rds.stationIDtext = "";
|
||||
rds.stationStatetext = "";
|
||||
rds.enhancedRTtext = "";
|
||||
PSLongtext = "";
|
||||
|
||||
uint8_t i;
|
||||
for (i = 0; i < 8; i++) {
|
||||
@@ -1716,11 +1715,11 @@ void TEF6686::clearRDS (bool fullsearchrds) {
|
||||
rt_buffer32[i] = 0x20;
|
||||
pslong_buffer[i] = 0x20;
|
||||
pslong_buffer2[i] = 0x20;
|
||||
PSLongtext[i] = L'\0';
|
||||
// PSLongtext[i] = L'\0';
|
||||
}
|
||||
rt_buffer32[32] = 0;
|
||||
pslong_buffer[32] = 0;
|
||||
PSLongtext[32] = L'\0';
|
||||
// PSLongtext[32] = L'\0';
|
||||
|
||||
for (i = 0; i < 17; i++) rds.stationType[i] = 0x20;
|
||||
rds.stationType[17] = 0;
|
||||
@@ -2090,4 +2089,4 @@ String TEF6686::ucs2ToUtf8(const char* ucs2Input) {
|
||||
}
|
||||
}
|
||||
return utf8Output;
|
||||
}
|
||||
}
|
||||
@@ -726,6 +726,7 @@ class TEF6686 {
|
||||
String extractUTF8Substring(const String& utf8String, size_t start, size_t length, bool under);
|
||||
String eRTconverter(const wchar_t* input);
|
||||
String ucs2ToUtf8(const char* ucs2Input);
|
||||
String PSLongtext;
|
||||
char ps_buffer[9];
|
||||
char ps_buffer2[9];
|
||||
char ptyn_buffer[9];
|
||||
@@ -749,7 +750,6 @@ class TEF6686 {
|
||||
bool rtABold;
|
||||
bool rtAB32old;
|
||||
wchar_t PStext[9] = L"";
|
||||
wchar_t PSLongtext[33] = L"";
|
||||
wchar_t EONPStext[20][9];
|
||||
wchar_t PTYNtext[9] = L"";
|
||||
char RDSplus1[45];
|
||||
@@ -781,4 +781,4 @@ class TEF6686 {
|
||||
time_t lastrdstime;
|
||||
int32_t lasttimeoffset;
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
@@ -335,7 +335,7 @@
|
||||
|
||||
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
|
||||
static const char* const FreqFont[] = {"Classic", "Roubenstil", "Motoya", "Aura2", "Comic", "Modern"};
|
||||
static const char* const Theme[] = {"Essence", "Cyan", "Crimson", "Monochrome", "Volcano", "Dendro", "Sakura", "Whiteout", "Tangerine", "Ocean", "Indigo", "Maroon", "GoldBrite", "Bubblegum"};
|
||||
static const char* const Theme[] = {"Essence", "Cyan", "Crimson", "Monochrome", "Volcano", "Dendro", "Sakura", "Whiteout", "Tangerine", "Ocean", "Indigo", "Queer", "GoldBrite", "Bubblegum"};
|
||||
static const char* const Skin[] = {"Essential"};
|
||||
|
||||
// Memory channel database
|
||||
|
||||
100
src/language.h
100
src/language.h
@@ -115,9 +115,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Rotating while screen off", // 107
|
||||
"Model selector", // 108
|
||||
"Base (ILI9341)", // 109
|
||||
"Portable (ILI9341)", // 110
|
||||
"Portable touch (ILI9341)", // 111
|
||||
"Base", // 109
|
||||
"Portable", // 110
|
||||
"Portable touch", // 111
|
||||
"Title", // 112
|
||||
"Album", // 113
|
||||
"Track", // 114
|
||||
@@ -399,9 +399,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Afstemmen tijdens\nschermbeveiliging", // 107
|
||||
"Model keuze", // 108
|
||||
"Basis (ILI9341)", // 109
|
||||
"Portable (ILI9341)", // 110
|
||||
"Portable touch (ILI9341)", // 111
|
||||
"Basis", // 109
|
||||
"Portable", // 110
|
||||
"Portable touch", // 111
|
||||
"Titel", // 112
|
||||
"Album", // 113
|
||||
"Nummer", // 114
|
||||
@@ -683,9 +683,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Stroj. gdy ekran wył.", // 107
|
||||
"Wybór modelu", // 108
|
||||
"Podstawowy (ILI9341)", // 109
|
||||
"Przenośny (ILI9341)", // 110
|
||||
"Przenoś. dotyk. (ILI9341)", // 111
|
||||
"Podstawowy", // 109
|
||||
"Przenośny", // 110
|
||||
"Przenoś. dotyk.", // 111
|
||||
"Tytuł", // 112
|
||||
"Album", // 113
|
||||
"Ścieżka", // 114
|
||||
@@ -967,9 +967,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Okretanje dok je zaslon isključen", // 107
|
||||
"Selektor modela", // 108
|
||||
"Base (ILI9341)", // 109
|
||||
"Portable (ILI9341)", // 110
|
||||
"Portable touch (ILI9341)", // 111
|
||||
"Base", // 109
|
||||
"Portable", // 110
|
||||
"Portable touch", // 111
|
||||
"Naslov", // 112
|
||||
"Album", // 113
|
||||
"Pjesma", // 114
|
||||
@@ -1251,9 +1251,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Περιστροφή με οθόνη\nσβηστή", // 107
|
||||
"Επιλογή μοντέλου", // 108
|
||||
"Βασικό (ILI9341)", // 109
|
||||
"Φορητό (ILI9341)", // 110
|
||||
"Φορητό αφής (ILI9341)", // 111
|
||||
"Βασικό", // 109
|
||||
"Φορητό", // 110
|
||||
"Φορητό αφής", // 111
|
||||
"Τίτλος", // 112
|
||||
"Άλμπουμ", // 113
|
||||
"Κομμάτι", // 114
|
||||
@@ -1535,9 +1535,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Rotire când ecranul este oprit", // 107
|
||||
"Selectare Model", // 108
|
||||
"Bază (ILI9341)", // 109
|
||||
"Portabil (ILI9341)", // 110
|
||||
"Portabil touch (ILI9341)", // 111
|
||||
"Bază", // 109
|
||||
"Portabil", // 110
|
||||
"Portabil touch", // 111
|
||||
"Titlu", // 112
|
||||
"Album", // 113
|
||||
"Bandă", // 114
|
||||
@@ -1819,9 +1819,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Tunen bei Bildschirm aus", // 107
|
||||
"Modell auswählen", // 108
|
||||
"Basismodell (ILI9341)", // 109
|
||||
"Portabel (ILI9341)", // 110
|
||||
"Portabel Touch (ILI9341)", // 111
|
||||
"Basismodell", // 109
|
||||
"Portabel", // 110
|
||||
"Portabel Touch", // 111
|
||||
"Titel", // 112
|
||||
"Album", // 113
|
||||
"Track", // 114
|
||||
@@ -2103,8 +2103,8 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Ladění při vypnuté obrazovce", // 107
|
||||
"Volba modelu", // 108
|
||||
"Základní (ILI9341)", // 109
|
||||
"Přenosný (ILI9341)", // 110
|
||||
"Základní", // 109
|
||||
"Přenosný", // 110
|
||||
"Přenosný-dotykový(ILI9341)", // 111
|
||||
"Title", // 112
|
||||
"Album", // 113
|
||||
@@ -2387,9 +2387,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Hangolás kikapcsolt képernyővel", // 107
|
||||
"Modellválasztó", // 108
|
||||
"Alap (ILI9341)", // 109
|
||||
"Hordozható (ILI9341)", // 110
|
||||
"Hord. érintős (ILI9341)", // 111
|
||||
"Alap", // 109
|
||||
"Hordozható", // 110
|
||||
"Hord. érintős", // 111
|
||||
"Cím", // 112
|
||||
"Album", // 113
|
||||
"Szám", // 114
|
||||
@@ -2671,9 +2671,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Rotation lorsque\nl'écran est éteint", // 107
|
||||
"Sélecteur de modèle", // 108
|
||||
"Base (ILI9341)", // 109
|
||||
"Portable (ILI9341)", // 110
|
||||
"Portable touche (ILI9341)", // 111
|
||||
"Base", // 109
|
||||
"Portable", // 110
|
||||
"Portable touche", // 111
|
||||
"Titre", // 112
|
||||
"Album", // 113
|
||||
"Piste", // 114
|
||||
@@ -2956,9 +2956,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"ОИРТ", // 106
|
||||
"Ротация при затъмнен екран", // 107
|
||||
"Избор на модел", // 108
|
||||
"База (ILI9341)", // 109
|
||||
"Портативен (ILI9341)", // 110
|
||||
"Портативен сенз. екран (ILI9341)", // 111
|
||||
"База", // 109
|
||||
"Портативен", // 110
|
||||
"Портативен сенз. екран", // 111
|
||||
"Заглавие", // 112
|
||||
"Албум", // 113
|
||||
"Песен", // 114
|
||||
@@ -3240,9 +3240,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
" УКВ", // 106
|
||||
"Настройка при погашенном экране: ", // 107
|
||||
"Выбор модели", // 108
|
||||
"Стандартный (ILI9341)", // 109
|
||||
"Портативный (ILI9341)", // 110
|
||||
"Сенсорный (ILI9341)", // 111
|
||||
"Стандартный", // 109
|
||||
"Портативный", // 110
|
||||
"Сенсорный", // 111
|
||||
"Название", // 112
|
||||
"Альбом", // 113
|
||||
"Трек", // 114
|
||||
@@ -3524,9 +3524,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Обертання, коли екран вимкнено", // 107
|
||||
"Вибір моделі", // 108
|
||||
"Стандартний (ILI9341)", // 109
|
||||
"Портативний (ILI9341)", // 110
|
||||
"Портатив. сенсорний (ILI9341)", // 111
|
||||
"Стандартний", // 109
|
||||
"Портативний", // 110
|
||||
"Портатив. сенсорний", // 111
|
||||
"Назва", // 112
|
||||
"Альбом", // 113
|
||||
"Трек", // 114
|
||||
@@ -3808,9 +3808,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Rotazione con schermo spento", // 107
|
||||
"Selezionare modello", // 108
|
||||
"Base (ILI9341)", // 109
|
||||
"Portatile (ILI9341)", // 110
|
||||
"Portatile touch (ILI9341)", // 111
|
||||
"Base", // 109
|
||||
"Portatile", // 110
|
||||
"Portatile touch", // 111
|
||||
"Titolo", // 112
|
||||
"Album", // 113
|
||||
"Traccia", // 114
|
||||
@@ -4376,9 +4376,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Tune når skjerm av", // 107
|
||||
"Velg Modell", // 108
|
||||
"Base (ILI9341)", // 109
|
||||
"Bærbar (ILI9341)", // 110
|
||||
"Bærbar touch (ILI9341)", // 111
|
||||
"Base", // 109
|
||||
"Bærbar", // 110
|
||||
"Bærbar touch", // 111
|
||||
"Titel", // 112
|
||||
"Album", // 113
|
||||
"Spor", // 114
|
||||
@@ -4660,9 +4660,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Rotación con\npantalla apagada", // 107
|
||||
"Selector de modelo", // 108
|
||||
"Base (ILI9341)", // 109
|
||||
"Portátil (ILI9341)", // 110
|
||||
"Táctil portátil (ILI9341)", // 111
|
||||
"Base", // 109
|
||||
"Portátil", // 110
|
||||
"Táctil portátil", // 111
|
||||
"Título", // 112
|
||||
"Álbum", // 113
|
||||
"Pista", // 114
|
||||
@@ -4945,9 +4945,9 @@ static const char* const myLanguage[18][282] PROGMEM = {
|
||||
"OIRT", // 106
|
||||
"Rotativo enquanto a tela\nestá desligada", // 107
|
||||
"Seletor de modelo", // 108
|
||||
"Básico (ILI9341)", // 109
|
||||
"Portátil (ILI9341)", // 110
|
||||
"Toque portátil (ILI9341)", // 111
|
||||
"Básico", // 109
|
||||
"Portátil", // 110
|
||||
"Toque portátil", // 111
|
||||
"Título", // 112
|
||||
"Álbum", // 113
|
||||
"Faixa", // 114
|
||||
|
||||
Reference in New Issue
Block a user