Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
ESP32 Internetradio yoRadio Problembesprechung
#1
Hallo,

wer kann mir weiterhelfen?

Wie kann man mit dem "ESP32 Internetradio yoRadio", Umlaute auf dem
TFT ILI 9341 Display ohne Fehler darstellen?

Habe die  glcdfont.c  verändert, komme aber nicht weiter.

//0x22, 0x1C, 0x14, 0x1C, 0x22, //
0x7D, 0x12, 0x11, 0x12, 0x7D,  //  Ä

//0x44, 0x3C, 0x04, 0x7C, 0x44, //
0x3D, 0x42, 0x42, 0x42, 0x3D,  //  Ö

//0x0E, 0x06, 0x0A, 0x10, 0x20, //
0x3D, 0x40, 0x40, 0x40, 0x3D,  //  Ü

//0x41, 0x41, 0x41, 0x7F, 0x00, //
0xFC, 0x0A, 0x4A, 0x4A, 0x34,  //  ß

0x7F, 0x01, 0x01, 0x01, 0x03, // Hacken noch sichbar bei den Umlauten auf dem LED ILI 9341 Display.
Muss noch entfernt werden.
Wird der
// 0x7F, 0x01, 0x01, 0x01, 0x03
auskommentiert
Wird das nächste falsche Zeichen aus der glcdfont.c mit dem Umlaut auf dem
LED ILI 9341 Display angezeigt.


Das VU-Meter wird nur kurz nach dem Einschalten vom Radio eingeblendet.


Das eingegebene Wlan Password wird mit einer max. Länge von 39 Zeiche erkannt.
Wie kann man ein längeres Password eingeben, welches vom Programm
erkannt wird?

MfG
Zitieren
#2
Ich habe ein YoRadio im Betrieb, habe aber keine Sender, die Umlaute haben, deshalb kann ich dazu leider nichts sagen. Die Umlaute könnte ja nur in den selbstgewählten Sendenamen eine Rolle spielen … oder?

Wenn VU Meter anspringt und dann sollte die Einstellung in den Optionen richtig gesetzt sein, dann ist die Frage, ob alle Sender betroffen sind?
So einen „Fall“ hatte ich noch nicht.

Grüße
Siegfried
Zitieren
#3
Zum Passwort hab ich etwas in netserver.h gefunden unter src/core/

span>-= OPTIONAL =-<br />If you can't connect from PC to 192.168.4.1 address<br />setup WiFi connection first</span>
<div class="flex"><div><label for="ssid">ssid:</label><input type="text" id="ssid" name="ssid" value="" maxlength="30" autocomplete="off"></div>
<div><label for="pass">pass:</label><input type="password" id="pass" name="pass" value="" maxlength="40" autocomplete="off"></div>
</div>
<p><input type="submit" name="submit" value="Save Credentials"></p>


Schau mal, ob Du bei einem größeren Wert als 40, was erreichst 

Gruß 

Siegfried
Zitieren
#4
Hallo,

Die "falschen" Umlaute werden in Spalte 1, 2 oder 3 angezeigt, wenn Text mit Umlaute empfangen wird.

Die Optionen für das VU Meter sind richtig gesetzt, es funktioniert bei kein Radiosender.
Das VU-Meter wird nur kurz nach dem Einschalten vom Radio eingeblendet.

Veräderung:
id="ssid" name="ssid" value="" maxlength="30" auf "35" erhöht.
"pass" value="" maxlength="50" auf "55" ("50" default in der netserver.h) erhöht.
Password neu eingegeben, um eine Stelle erhöht.
Radio neu gestartet, es wird versucht eine W-Lan Verbindung aufzubauen, funktioniert aber nicht.
Nach einiger Zeit wird manchmal die Startseite "yoRadio Ap Mode" 192.168.4.1 wieder angezeigt.
Zitieren
#5
Zu den Umlauten muss ich selbst meine Songzeilen mal anschauen, ob bei deutschen Texten mir da was auffällt …

Mit dem VU Meter fällt mir jetzt auch nichts weiter ein, da ich nun schon ein paar Monate das Radio hier spielen lasse und keine Spielvariante mehr habe.
Zitieren
#6
Hallo Klaus,

wie ist der Stand , gibt es Erkenntnisse oder hängst Du noch in den Problemen?

Siegfried
Zitieren
#7
Nach vielen Stunden Probieren und Recherche habe ich es gelöst. Sicher gibt es noch andere Varianten. In der Datei „utf8RusGFX.h“ werden die Zeichen ausgetauscht. Erst ein Hinweis im Internet ließ mich die Struktur verstehen. 
Die Umlaute werden immer als 2 Byte übertragen. Es beginnt mit 0xC3 und dann folgt das Zeichen. Man kann in der Datei jetzt 2 Varianten zusammenbauen.
Der erste Teil lässt sich so ändern, das aus einem ä ein ae geschrieben wird.
Ich habe für mich den 2. Teil umgeschrieben. Wichtig ist dabei die letzte while Schleife. Sie löscht das entstandene Leerzeichen.
*iter = toupper(*iter)  ist fürdas Umschalten Groß- Kleinschreibung

Gruß René


.h   utf8RusGFX.h (Größe: 2,06 KB / Downloads: 12)
Zitieren
#8
Rene, vielen Dank für Deine Mühe.

Ich werde es in meine Struktur einpflanzen


Siegfried
Zitieren
#9
Ich habe jetzt die für mich optimale Version erstellt. Über die Variable "uppercase" kann man die Groß- / Kleinschreibung für jede Scroll Zeile ein- und ausschalten.
Ich verwende ein ILI9341 Display und kann die Änderungen in der "displayILI9341conf.h" unter "SCROLLS" vornehmen. Einfach "uppercase" über true oder false aktivieren oder deaktivieren.

Gruß René


.h   utf8RusGFX.h (Größe: 1,47 KB / Downloads: 12)
Zitieren
#10
Hallo,

die utf8RusGFX.h funktioniert bei mir nicht, die Umlaute werden immer noch falsch angezeigt.
Die utf8RusGFX.h habe ich nach yoradio-main\yoRadio\src\displays\tools\... kopiert (die original in _utf8RusGFX.h umbenannt).
In der myoptions_h #define L10N_LANGUAGE EN eingetragen ja oder nein?
Display ILI9341 3,2" Touch.
Zitieren
#11
Hallo,
hier ein Bild von den Fehler "deutsche Umlaute"

.jpg   Fehler.jpg (Größe: 83,16 KB / Downloads: 709)
Zitieren
#12
Hallo Klaus,
hast du die Datei "utf8RusGFX.h" bei dir ausgetauscht? Bei mir funktioniert es fehlerfrei. Ich habe jetzt auch noch das "Hochkomma" ausgetauscht. In englischen Songs kommt immer mal ein "ACUTE ACCENT" vor. Ich wandele es in ein " GRAVE ACCENT ". Hier ist eine schöne Seite um die Zeichenzuordung zu erkennen. utf8-zeichentabelle
Dort sieht man auch die Zuordnung vom 1. Byte 0xC2 und 0xC3.
Gruß René


.h   utf8RusGFX.h (Größe: 1,78 KB / Downloads: 21)

   
Zitieren
#13
Hallo René,

auf Deinem letzt Displaybild(Antenne Thüringen) fehlt aber der letzte untere Strich, der den Speicher darstellen soll , der war noch auf einem anderen Bild zu sehen.
Ich habe das Display mit ILI 9488 Treiber und da fehlt es. Scheinbar hat das noch nie jemand vermisst.

Grüße
Siegfried
Zitieren
#14
Hallo Siegfried,

wenn das eingeschalten ist, ist auch der Balken wieder da. Habe aber eine weile gesucht. Smiley43

Gruß René


.jpg   Settings.JPG (Größe: 30,64 KB / Downloads: 634)
Zitieren
#15
Ok, dann muss ich das morgen Vormittag mal testen und bereits getestet und es ist auch auf meinem Display sichtbar

Vielen Dank 

Gruß

Siegfried
Zitieren
#16
Hallo Klaus,
scheinbar verwendest du eine falsche "glcdfont.h" im Verzeichnis z.b. "C:\Arduino\Projekte\libraries\Adafruit_GFX_Library". Diese Zeichen bei dir sind gar nicht vorhanden. Ich habe noch einmal die aktuellen angehangen. Die Datei "utf8RusGFX.h" muss in "C:\Arduino\Projekte\yoradio\yoRadio\src\displays\tools"
Grüße René


.c   glcdfont.c (Größe: 9,26 KB / Downloads: 17)


.h   utf8RusGFX.h (Größe: 1,89 KB / Downloads: 11)
Zitieren
#17
An diesen Stellen habe ich noch ein paar Anpassungen gemacht. Ansonsten habe ich noch für mich die Logos geändert und überall das ё ausgetauscht. Die "utf8RusLCD.h" schaue ich mir bei Gelegenheit auch noch an. Momentan habe ich aber kein LCD geplant. Die Datei "utf8RusGFX.h" werde ich noch in "utf8DeuGFX.h" ändern un die Aufrufer im Quellcode anpassen.
Gruß René


.h   l10n.h (Größe: 447 Bytes / Downloads: 13)


.h   displayL10n_de.h (Größe: 3,47 KB / Downloads: 13)


.jpg   Bild_1.JPG (Größe: 40,74 KB / Downloads: 594)


.jpg   Bild_2.JPG (Größe: 38,07 KB / Downloads: 592)

   
Zitieren
#18
Hallo Rene66,
die glcdfont.c und die utf8RusGFX.h habe ich ausgetauscht (Downloads), funktioniert aber nicht.
Siehe Bild.

.jpg   Fehler2.jpg (Größe: 90,58 KB / Downloads: 568)
Zitieren
#19
Hallo Klaus,
welche Sprache ist bei dir eingestellt?
Code:
if(L10N_LANGUAGE==EN)  return strn;
  while (strn[index])
  {
    if (strn[index] == 0xC3)
    {

Lösung 1:
// if(L10N_LANGUAGE==EN)  return strn;  <---- auskommentieren oder löschen
  while (strn[index])
  {
    if (strn[index] == 0xC3)
    {

Lösung 2:
if(L10N_LANGUAGE!=EN)  return strn;     <---- Logik ändern
  while (strn[index])
  {
    if (strn[index] == 0xC3)
    {
Wenn "==EN" wird die Umwandlung in der geänderten "utf8RusGFX.h" übersprungen. Wenn du dir eine "displayL10n_custom.h" erstellt hast, wird diese automatisch geladen aber in der weiteren Software "EN" eingestellt.
Gruß René
Zitieren
#20
Jetzt habe ich noch die Wiedergabe von SD Karte getestet. In der Datei "audiohandlers.h" werden alle Zeichen außer " 0 bi z " einfach weggelassen. Es gibt endweder eine Lücke oder es wurde gar nichts angezeigt. Ich habe es für mich so abgeändert, dass nur Zeichen < 0x20  und der gesamte 0xC2 Bereich ausgeblendet wird.

Code:
bool printable(const char *info) {
  if(L10N_LANGUAGE!=DE) return true;
  bool p = true;
  for (int c = 0; c < strlen(info); c++)
  {
   if ((uint8_t)info[c] < 0x20)
   p = false;
  }
  if (!p) p = (uint8_t)info[0] == 0xC2 && (uint8_t)info[1] >= 0x80 && (uint8_t)info[1] <= 0xBF;
  return p;
}

Aber man hat es selber in der Hand, indem man sich einmal vorher die MP3 Tags anschaut. Ich benutzte das kleine Programm "Mp3tag". Es werden nur die Informationen aus den Spalten "Titel", "Interpret" und "Album"  dargestellt. Wenn die Spalten "sauber" sind, hat man auch Freude an seiner Anzeige.
Gruß René

   

   
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Yoradio Fragen für ein besseres Verständis mat-sche 20 487 26.04.2024, 20:38
Letzter Beitrag: mat-sche
  ESP32-Internetradio yoRadio saarfranzose 90 20.091 23.04.2024, 22:29
Letzter Beitrag: saarfranzose
  Internetradio mit dem ESP32-S3 Audio Kit The MicroMaker 4 195 23.04.2024, 17:02
Letzter Beitrag: The MicroMaker
  Das einfachste Internetradio mit dem neuen ESP32 Audio pintel 129 33.958 16.04.2024, 00:12
Letzter Beitrag: Charliey
  yoradio hilfe für anfänger gesucht fanatik67 82 3.287 12.04.2024, 12:54
Letzter Beitrag: saarfranzose

Gehe zu: