Dev-Branch

Bin da ganz bei dir :slight_smile:
Hinweis: Ich habe in dem Branch gerade noch eingebaut, dass die Target-Files automatisch gelöscht werden wenn Änderungen vorgenommen wurden. Dadurch muss man eigentlich auf nichts mehr achten und kann fröhlich an den Einstellungen in der sdkconfig.default drehen…

Ich meine @fschrempf hat genau diese Config verwendet um es zum Laufen zu bekommen und dann über die menuconfig diese nochmal neu geparsed. Kann ich aber nochmal überprüfen…

Schön, dass da jemand meine Meinung teilt. Exakt diese Argumente habe ich oben bereits versucht zum Ausdruck zu bringen. :smile:

Genau. Das deckt sich ebenfalls mit dem was ich oben geschrieben habe:

Genau das habe ich gemacht. Daher sollte das Resultat (bis auf kleinere Unterschiede durch verschiedene ESP-IDF Versionen?) das selbe sein wie bisher.

2 „Gefällt mir“

Die besprochenen kurzfristigen Änderungen sind jetzt im DEV-Branch verfügbar.

  • Wenn alle Features aktiviert ist dieser DEV-Branch wieder kompilierbar
  • Bluetooth ist wie zuvor wieder standadmässig aktiviert
  • Aktuelle Version ist jetzt Arduino 2.0.8, & Platform-Package 6.2.0

In der Platform.ini ist das angepasste FS rausgeflogen da jetzt in 2.0.8 offiziell enthalten.
Die Biliotheken FastLED, RC522 & RC522-I2C (benutzt die ein Mensch auf diesem Planet?) sind zunächst geforkt mit Verweis auf die ursprüngliche Version. Wenn das überflüssig wird das dann entsprechend geändert/zurückgenommen.

5 „Gefällt mir“

Mir ist jetzt noch ein kleiner Bug aufgefallen:
Der Code kompiliert nicht mehr wenn kein RFID-Reader definiert ist. Das könnte der Fall sein wenn man ohne Leser testet oder für Leute die das Programm als reinen Webplayer verwenden.

Zum Pausieren der Tasks beim Web-Upload werden jetzt die Methoden Led_TaskPause()/Led_TaskResume() und Rfid_TaskPause()/Rfid_TaskResume() anstelle direkter Zugriff auf die Task-Handles verwendet.

Wäre fein wenn noch jemand drüberschaut:

1 „Gefällt mir“

Kann es sein, dass der dev-Branch nun nicht mehr mit dem Target ESP32-S3 kompiliert?
Ich bekomme mindestens diese 3 Fehler (ENABLE_BLUETOOTH natürlich auskommentiert):


.pio/libdeps/esp32-s3-devkitc-1/ESP32-A2DP/src/BluetoothA2DPSink.cpp:248:53: error: 'FUNC_GPIO0_CLK_OUT1' was not declared in this scope

.pio/libdeps/esp32-s3-devkitc-1/ESP32-A2DP/src/BluetoothA2DPSink.cpp:252:53: error: 'FUNC_U0TXD_CLK_OUT3' was not declared in this scope

.pio/libdeps/esp32-s3-devkitc-1/ESP32-A2DP/src/BluetoothA2DPSink.cpp:1255:33: error: 'I2S_MODE_DAC_BUILT_IN' was not declared in this scope

Hi @kkF , ja der ESP32-S3 hat kein ja lieder kein Classic-Bluetooth, also streamen auf den ESPuino bzw. BT-Kopfhörer ist mit diesem Chip eider nicht möglich. Trotzdem sollte es kompilieren.
Ich kann das Profil [env:esp32-s3-devkitc-1] erfolgreich kompilieren, dazu muss die A2DP-Bibliothek zus. auskommentiert werden. Klappt es dann?

;	https://github.com/pschatzmann/ESP32-A2DP.git#5f87ad2
1 „Gefällt mir“

Ah, vielen Dank. Dann klappt es tatsächlich.

1 „Gefällt mir“

Um mal einen DEV-Branch Zwischenstand zu geben, habe ich mal alles, was hier bereits fertig ist, so aufgeschrieben, als müsste ich es jemandem verkaufen. Dann wird aus jedem Bugfix ein Feature :wink: :

Verbesserungen:

  • Verbesserte LED Animationen, z.B. weichere Übergänge bei Lautstärkeänderungen & Playlistfortschritt
  • Beschleunigter Web-Upload, dafür werden u.a. LED, RFID und Audio Tasks pausiert
  • Faktor > 20 beschleunigte Playlist-Erstellung (keine/geringere Verzögerung beim Abspielen)
  • Laden der Dateianzeige im Webinterface reagiert deutlich flüssiger
  • Alle Audioformate aus der AudioI2S-Bibliothek werden jetzt unterstützt, auch aus der Web-Oberfläche (OPUS, M3U8 & weitere)
  • Abspielen von M3U-Enhanced Playlists
  • Eine Modifikationsbefehl kann direkt aus der Weboberfläche ausgeführt werden, z.B. Nachtmodus oder Bluetooth-Wechsel
  • Unterstützung von zusätzlichen Neopixel-LEDs für Taster z.B. Nachtmodus & dimmen
  • Web-Oberfläche: Eigenes Icon für Playlists
  • Bluetooth-Modus kann durch Auflegen einer unbekannten Karte verlassen werden
  • Neues Profil für den ESP32-S3

Fehlerkorrekturen:

  • Beim Webupload fehlten teilweise einige Bytes oder wurden vertauscht → fehlerhafte Audiodateien
  • Absturz beim Abspielen einer .mp3 Datei (Groß-/Kleinschreibung der Dateiendung ist jetzt egal)
  • Fehlende Übersetzungen hinzugefügt
  • Bug in Verbindung mit dem LED Ring und Multibutton

Code-Optimierungen:

  • Umstellung auf das aktuelle Arduino Framework 2 (IDF 4.4)
  • Speicheroptimierungen und Behebung von Speicherlecks für Langzeitbetrieb
  • C++17 Compiler mit aktivierten Warnmeldungen
  • Komplett überarbeiteter LED-Code
  • Komplett überarbeitete Log-Ausgabe
  • Überarbeiteter Code für Hallsensor (magenetische Hockey-Tags)
  • Entfernung von PROGMEM &pgmspace
  • Einheitlicher Codestyle

Abgekündigt:

  • ESP-Muse wird nicht mehr unterstützt

Bekannte Probleme:

  • Mit allen aktivierten Features sind wir nahezu am Ende des verfügbaren IRAM-Speichers.

Fehlt noch was?

6 „Gefällt mir“

Wow, danke @tueddy !
Ich hatte gestern auf einem ganz frischen ESP32 (habe ich für eine Bestellung gelötet) ein Problem mit dem DEV-Branch. Ich war leider ziemlich in Eile und hab’s mir leider nicht in die Zwischenablage gelegt. Aber es gab sporadische Neustarts was irgendwie in diese Richtung ging: Move to CRGBArray and CRGBSets · biologist79/ESPuino@cfdac70 · GitHub. Also irgendwelcher Neopixel-Kram.
Ich schau mal, ob ich das nochmal nachgestellt kriege. Ins WLAN bin ich auch nicht gekommen, so dass ich dann final doch wieder den Master-Branch geflasht habe. Wobei das auch nicht weiter wild ist, weil das flashe ich bei Bestellungen immer drauf.

Dieser behobene Bug oder habe ich das überlesen?

1 „Gefällt mir“

@joker Danke ist notiert!
@biologist Wenn da etwas reproduzierbar ist dann her damit. Die Umstellung CRGBArray → CRGBSets ist ja recht neu, da können auch mal neue Fehler auftreten. Aber dafür ist der DEV-Branch ja da…

1 „Gefällt mir“

Beides habe ich auch festgestellt , kann es aber noch nicht gezielt nachstellen. Deshalb werde ich auch das nächste Update kommende Woche bei meiner Enkelin mit dem Master machen, obwohl ich gerne das

hätte.

Habe mal mit „Erase Flash“ Alles zurückgesetzt und dann die WLAN-Zugangsdaten neu eingegeben. Hat auf Anhieb geklappt.

Was halt strange ist: Der ESP32 war nagelneu. Also lediglich einmal mit DEV geflasht.
Ich schaue mal, ob ich das nochmal nachstellen kann. Mit Arduino2 habe ich allerdings „traditionell“ schon immer mehr Probleme mit WLAN gehabt.

Im Bluetooth Lautsprechermodus hatte sich ein Fehler eingeschlichen der zum Crash führt.
Bitte einmal drüberschauen oder besser- Testen. Wenn es grünes Licht gibt würde ich das zeitnah übernehmen:

2 „Gefällt mir“

Durch die ganzen merge-commits ist das auf Github eher unübersichtlich.
Habe dein Branch aber gerade in meinen Branch gemerged und damit kurz Bluetooth-Wiedergabe so wie das normale Abspielen und das hin und her wechseln zwischen BT und WLAN getestet.
Da ich keine Bluetooth-Lautsprecher hier habe konnte ich diesen Modus nicht testen.
Von den Diffs her passt es aber (ist ja wirklich sehr überschaubar)…

Ich hätte da noch einen alternativen Vorschlag (allerdings noch ungetestet): Bluetooth.cpp: Fix logging crash in sink mode · fschrempf/ESPuino@0c6c64e · GitHub.

2 „Gefällt mir“

@fschrempf Oh, das ist nice. Commit funktioniert auf der aktuellen dev, kann aber nur die Sink-Seite esten. Sehe aber kein Grund, wieso Source sich anders verhalten sollte.

2 „Gefällt mir“

Ja „nice“, guteLösung! Klappt sowohl für BT-Sink (ESPuino als Lautsprecher) als auch BT-Source (ESPuino streamt auf Kopfhörer):

[ 4537 ]  Bluetooth source => Device found: ACT-BHP-JR
[ 4648 ]  Bluetooth source => connection state: Connecting
[ 7422 ]  Bluetooth source => connection state: Connected

@fschrempf Gute Arbeit, kannst Du dafür einen neuen sauberen PR erstellen?

3 „Gefällt mir“

Ist erledigt: Bluetooth.cpp: Fix logging crash in sink mode by fschrempf · Pull Request #238 · biologist79/ESPuino · GitHub

Und danke fürs Testen!

2 „Gefällt mir“