Dev-Branch

Mir ist noch ein kleiner Bug aufgefallen: Wenn man eine RFID-Zuweisung via Webinterface löscht, dann wird eine ggf. laufende Audiowiedergabe durch ein STOP implizit beendet.

STOP wird benötgt falls das zu löschende Tag gerade abgespielt wird weil dann könnte es Probleme geben. Also kein Bug sondern ein Feature :wink:

Gleiches gilt auch für das Löschen einer Audiodatei über das Kontextmenu.Könnte man natürlich noch abfangen ob das zu löschende Tag gerade aktiv ist…

Ich hatte an den Fall auch gedacht und dachte „stört ja eigentlich nicht“, aber du hast natürlich Recht: Wenn man in einem Modus ist, der den Stand abspeichert, dann knallt’s natürlich.
Ok, dann ziehe ich meinen „Bugreport“ zurück :slight_smile:

Bei mir ist es genau anders rum. Ich habe den Kraxel-Sound nicht egal, welchen Stand der Audio-Bibliothek ich verwende, solange ich bei unserem dev-Branch hinter dem 16. November bleibe. Gehe ich auf den aktuellen Stand, so habe ich trotz der höheren task-priority für Audio, sehr selten aber immer mal wieder das Kraxeln. Ist es bei euch wirklich immer weg?

Könnte es sein, dass es vielleicht am (total coolen) commit 152aa3f liegt? Das würde auch genau zu dem Zeitpunkt passen, zu dem das Kraxeln das erste Mal beobachtet wurde (das muss am 17. oder 18. gewesen sein, siehe Aussage von compactflash), der commit war am 17.

2 „Gefällt mir“

Hmm ja zeitlich und von der Logik könnte es tatsächlich der Grund sein.
Wenn dann muss das Problem direkt im Audiotask liegen und nicht im Websocket/Frontend. Ich checke das am Wochenende.

3 „Gefällt mir“

Liebe ESPuino-Entwickler!

Habe vorhin den aktuellen Master auf den ESPuino meines Sohnes gespielt, hatte ein Problem mit einigen MP3s, die auf der alten Version nicht liefen und ich dachte ich probiere es mal mit dem aktuellen Stand. Außerdem bin ich hier stiller Mitleser und wollte mal die diversen Verbesserungen probieren. Vielen Dank für Euer Engagement! Das Update hatte zwar in gewisser Weise den gewünschten Effekt. Die MP3s gehen! :slight_smile:

Habe jetzt leider zwei Probleme und wollte fragen, ob ihr eine Idee habt, was die Ursache sein könnte.

  1. Die Buttons funktionieren nicht (keiner, auch nicht der Button im Drehencoder, laut und leise geht schon)
  2. Alle Karten gehen nicht mehr. Kann sie neu anlernen, dann geht es wieder. Komischerweise tauchen alle unter Tools auf.

Beste Grüße!

zu 1. settings.h Port Expander aktiviert? Welche HAL (Board)?

zu 2. Pfade mit Umlauten? Wenn ja musst die neu anlernen…

Die Ermittlung der Spielzeit-Parameter wie aktuelle Position/Tracklänge scheint Auswirkungen auf die CPU-Zeit gehabt zu haben, ich habe sie jetzt beschränkt auf ein 250ms Intervall (vorher jede Loop).

Task-Priorität zurück von 3 auf 2, weil damit hat die Weboberfläche schlechter bis überhaupt nicht reagiert hat.
Audio-Störungen habe ich jetzt keine mehr & das neue Feature Trackfortschritt funktioniert weiterhin wie es soll.
Könnt Ihr das so bestätigen mit 20231125-1-DEV ?

Wenn man eine RFID-Zuweisung via Webinterface löscht, dann wird eine ggf. laufende Audiowiedergabe durch ein STOP implizit beendet.

@biologist STOPP jetzt nur noch wenn die Datei gerade abgespielt wird.

@sfields Bugreport 1 aus Deinem Beitrag bereits übernommen, den Rest checken wir nochmal

1 „Gefällt mir“

zu 1. settings.h Port Expander aktiviert? Welche HAL (Board)?

Ah, danke für die Erinnerung! Das hatte ich übersehen, jetzt klappt es wieder.

zu 2. Pfade mit Umlauten? Wenn ja musst die neu anlernen…

Das wird dann wohl das Problem sein. Welche Änderung wurde denn vorgenommen? Ggf. könnte ich doch das Encoding des Backup-Files konvertieren?

Das solte möglich sein. Arduino 1 verwendete CP-850, jetzt ist es UTF-8.

1 „Gefällt mir“

Hi
kann die akt… dev nicht kompilieren

Compiling .pio/build/lolin_d32_pro_sdmmc_pe/libc1d/FastLED/lib8tion.cpp.o
Compiling .pio/build/lolin_d32_pro_sdmmc_pe/libc1d/FastLED/noise.cpp.o
src/Web.cpp: In function ‚void handleDeleteRFIDRequest(AsyncWebServerRequest*)‘:
src/Web.cpp:1746:38: error: expected ‚)‘ before ‚{‘ token
if (tagId.equals(gCurrentRfidTagId) {
~ ^~
)
src/Web.cpp:1757:2: error: expected primary-expression before ‚}‘ token
} else {
^
Compiling .pio/build/lolin_d32_pro_sdmmc_pe/libc1d/FastLED/platforms.cpp.o
Compiling .pio/build/lolin_d32_pro_sdmmc_pe/libc1d/FastLED/platforms/esp/32/clockless_rmt_esp32.cpp.o
Compiling .pio/build/lolin_d32_pro_sdmmc_pe/libc1d/FastLED/power_mgt.cpp.o
Compiling .pio/build/lolin_d32_pro_sdmmc_pe/libc1d/FastLED/wiring.cpp.o
*** [.pio/build/lolin_d32_pro_sdmmc_pe/src/Web.o] Error 1
================================================================ [FAILED] Took 14.24 seconds ================================================================

Es fehlte eine Klammer, ist jetzt behoben.

Neues aus dem DEV-Branch, Stand 20231204-1-DEV:

  • Gefühlt hat jeder hier letzte Woche seine MP3’s durchgetestet und einige gefunden (Von der ID3-Resterampe?) die nicht abspielten oder kein Coverbild anzeigten. Zunächst Vielen Dank an @wolle für die zahlreichen schnellen Fixes!

  • Huhu, AudioI2S ist schon vorbereitet für Arduino 3…

  • Ein schöner Bugfix für die bestehende Playlist. ESPuino stürzte nach einer fehlerhaften Playlist ab. Eine neue Playlist-Implementierung ist in Arbeit die solche Bugs verhindern soll…

  • Ein schöner Bugfix für UTF-8 Encoding, „Ägypten.mp3“ spielte nicht ab

  • Trackfortschritt wird aus Stabilitätsgründen jetzt mit HTTP-Anfragen aktualisiert (vorher Websocket)

Happy testing & Euch eine schöne Woche!

6 „Gefällt mir“

Wahnsinn was für Fortschritte und Verbesserungen gerade hier eingeführt werden. Danke an alle die das möglich machen !!!

Habe die aktuelle DEV mal probiert. Leider hakelt bei mir der Ton noch sehr stark. Ich weiß aber nicht wie ich rausfinden kann warum…

Im Master geht es, wobei dort der Ton auch schlechter läuft (häkeln wäre Zuviel gesagt, aber läuft nicht einwandfrei) im Vergleich zu der „alten“ Version Arduino1 heißt sie glaube ich.

Läuft bei euch die DEV ohne hakeln ?

Viele Grüße hoffe ihr habt eure Schuhe schon für morgen geputzt :wink:

Jepp, hier ohne hakeln.

Am Besten Du beschreibst was Du an Settings anders eingestellt hast als Standard, welches Board/Hardware, ob es eine bestimmte MP3 ist die klemmt oder ein Webstream oder Alles. Ob Du die Audiodatei über Karte abspielst und dabei die Weboberfläche geöffnet ist? In WebUI unter Info kontrollieren ob es die Version auch wirklich auf Dein Board geschafft hat. Je genauer Du das beschreibst desto leichter ist es Dein Problem einzugrenzen.

So, auch Milch & Möhren für den armen Gaul nicht vergessen, vielleicht liegt ja morgen eine RFID-Karte im Schuh…

@tueddy ich werde dann probieren so viel wie möglich Infos zusammen zutragen und hier zu posten.

Es war bei mehreren Dateien. Sowohl während ich auf dem Web UI war als auch ohne.

Ich hatte vor einiger Zeit alle meine MP3 auf 128kbit geändert und mit einem Tool auf Fehler kontrolliert und repariert. Danach liefen alle ohne Probleme auf der Arduino 1. mit welchen Tools kontrolliert ihr eure Dateien ?! Nur um sicher zu gehen das es nicht doch an meinen MP3s liegt.

Ich würde dann probieren heute Abend hier das log und die settings zu posten. Das die DEV drauf ist hatte ich kontrolliert. Hatte auch extra nochmal ein Erase Flash und Full Clean gemacht.

Ich nutze das komplett set von @biologist mini4L mit LiFePo4. Aktuell aber noch ohne Akku zum testen.

Vielen Dank

Also wichtig ist vor allem welche GIT-Version genau und ob es Abweichungen vom Config-Standard gibt (außer Port-Expander, INVERT_POWER, 32 => 115).
Im Zweifelsfalle nochmal ganz aktuellen Source von DEV runterladen und neu flashen.

Da hat einer was gefunden, was anscheinend viel prüft…

Ok.

Das prüfe ich. Ich habe lediglich die Button Zuweisungen geändert (also welche Funktion auf welchem Button) und LED Ring die Anzahl der LEDs. Den Namen für den AP, den Offset und die Spannungen für den Ladezustand. Also eigentlich alles normale configs.

Die genaue Version kann ich heute Abend liefern.

Ich hatte jedoch noch heute Morgen ein schnelles Log kopiert, wo scheinbar Fehler in der MP3 sind beim springen innerhalb der Datei über das WebUI, wenn ich das richtig deute.


D [24896] logo request
D [25214] ws[/ws][1] connect
D [48127] Freier Speicher: 70536 Bytes
N [48127] Playlist-Generierung
I [48127] Dateimodus erkannt.
N [48128] Modus: Einzelner Track
N [48134] Neue Playlist mit 1 Titel(n) empfangen
D [48134] Free heap: 75696
I [48199] info        : PSRAM found, inputBufferSize: 638965 bytes
I [48199] info        : buffers freed, free Heap: 80092 bytes
I [48199] info        : Reading file: "/BenjaminBluemchen/Benjamin_Folge1.mp3"
I [48223] info        : MP3Decoder has been initialized, free Heap: 52472 bytes , free stack 2940 DWORDs
N [48226] '/BenjaminBluemchen/Benjamin_Folge1.mp3' wird abgespielt (1 von 1)
I [48243] info        : Content-Length: 43557949
I [48244] info        : ID3 framesSize: 65536
I [48244] info        : ID3 version: 2.3
I [48261] info        : ID3 normal frames
I [48291] id3data     : Artist: RAW NEw
I [48320] id3data     : Title: Benjamin Blümchen
D [48338] no cover image for SD-card audio
I [48470] id3data     : SettingsForEncoding: fre:ac v1.1.7
I [48526] info        : Audio-Length: 43492413
I [48565] info        : stream ready
I [48567] info        : syncword found at pos 0
I [48575] info        : Channels: 2
I [48575] info        : SampleRate: 44100
I [48575] info        : BitsPerSample: 16
I [48575] info        : BitRate: 128000
D [48630] /BenjaminBluemchen/Benjamin_Folge1.mp3
N [48640] serve cover image (): /BenjaminBluemchen/Benjamin_Folge1.mp3
D [60001] RSSI: -76 dBm
N [80158] Sprung zu Position 16552020/43557949
I [80497] info        : stream ready
I [80498] info        : MP3 decode error -6 : INVALID_FRAMEHEADER
I [80501] info        : syncword found at pos 33
I [80504] info        : syncword found at pos 0
I [80508] info        : MP3 decode error -2 : MAINDATA_UNDERFLOW
I [80521] info        : syncword found at pos 75
I [80524] info        : syncword found at pos 0
I [80527] info        : MP3 decode error -6 : INVALID_FRAMEHEADER
I [80530] info        : syncword found at pos 156
I [80533] info        : syncword found at pos 0
I [80542] info        : Channels: 2
I [80543] info        : SampleRate: 44100
I [80543] info        : BitsPerSample: 16
I [80553] info        : BitRate: 128000
I [87839] Kontroll-Kommando empfangen via Queue: 3
I [87840] Kommando: Pause
D [101329] logo request
D [101353] /BenjaminBluemchen/Benjamin_Folge1.mp3
N [101363] serve cover image (): /BenjaminBluemchen/Benjamin_Folge1.mp3
D [101515] ws[/ws][2] connect
D [101869] /BenjaminBluemchen/Benjamin_Folge1.mp3
N [101878] serve cover image (): /BenjaminBluemchen/Benjamin_Folge1.mp3
D [101959] /BenjaminBluemchen/Benjamin_Folge1.mp3
N [101968] serve cover image (): /BenjaminBluemchen/Benjamin_Folge1.mp3
D [126457] ws[/ws][1] disconnect
D [126934] Partition nvs found, 262144 bytes
D [165898] Partition nvs found, 262144 bytes

Nicht das am Ende da doch schon ein Problem ist … Sorry das ich noch nicht so fit bin in dem Thema.

Vielen Dank !

Es gibt viele Möglichkeiten und noch mehr unterschiedliche Ergebnisse:

  • Für Linux gibt es u.a. MP3Check mehr hier
  • Mp3 Diags
  • EncSpot Pro v2.2 Das wird nicht mehr weiter entwickelt, dafür hat der Entwickler die Lizenzdaten für PRO kostenlos zur Verfügung gestellt
  • Foobar2000. Dort kann man „Verify integrity“ auf Dateien anwenden. Es gibt aber noch eine weitere Möglichkeit „Fix VBR MP3 header“

Das Ding ist irgendwie, dass viele Möglichkeiten gibt eine MP3 zu erzeugen und viele Player die Ausnahmen/Besonderheiten abfangen.

Viel Erfolg

1 „Gefällt mir“