Hat es schon jemand geschafft die Audio-Bibliothek im DEV-Branch auf den aktuellen Stand zu bringen? Also aus dem ESPuino Task herauszuholen weil die Bibliothek jetzt einen eigenen Abspieltask verwendet. Ein Task im Task ist halt schlecht…
Das wäre sicher der nächste wichtige Schritt um hier weiterzumachen. Vorschläge wie man das lösen kann sind willkommen!
Also ich vermute, dass das OK ist. Alle Boards, die ich bereitgestellt habe (das dürften so zwischen 500 und 600 sein), haben einen WROVER-E. Im WROVER-Datenblatt steht
„At the core of the module is the ESP32-D0WD-V3 chip or ESP32-D0WDR2-V3 chip“
Das ist mit v3 gemeint, oder? Habe auch mal einen Blick auf einen Lolin D32 pro geworfen, den ich bestimmt schon seit 3j habe. Der hat auch einen WROVER-E.
Ich hab’s noch nicht probiert und es mir auch noch nicht genauer angeschaut. Erwarten wir da größere Probleme? Bzw. hast du es versucht und es geht so einfach nicht?
Ja das glaube ich auch, werde mal das Flag CONFIG_ESP32_REV_MIN_3=y
aufnehmen.
Ich hab’s noch nicht probiert und es mir auch noch nicht genauer angeschaut. Erwarten wir da größere Probleme? Bzw. hast du es versucht und es geht so einfach nicht?
Bislang haben neuere AudioI2s-Versionen immer beim Start von Musik den ESPuino zum Absturz gebracht. Der Commit von heute scheint es aber gelöst zu haben. Ich kann Musik fehlerfrei abspielen mit Arduino 2.0.17 und auch mit 3.0.7 (Ohne weitere Änderungen wie z.B.Stacksize):
https://github.com/schreibfaul1/ESP32-audioI2S.git#98488c5
Könnt Ihr das bestätigen?
Schaff’s heute leider nicht mehr, das zu testen.
Kann bestätigen, dass das bei mir auch läuft .
Durch den gewonnen IRAM könnten wir auch die Option „CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH“ wieder rausnehmen. Zumindest bei mir passt das .
Und mit min-revision 3 müsste auch der verfügbare Flasch größer sein. Bin mir nicht ganz sicher, ob das überall 16 MB sind, müssten aber mehr als die 4 MB sein (CONFIG_ESPTOOLPY_FLASHSIZE_16MB = y)…
Habe es jetzt nur auf Arduino 2 getestet.
Gut, dass die aktuelle Audio-Bibliothek wieder läuft, das ist die wichtigste Komponente hier! Ich werde versuchen sie immer aktuell zu halten!
Audio-I2S läuft im ESPuino immer noch Task in Task, aber wenn Alles läuft, wen interessiert es? Ist sicher noch ein Todo, wer will sich daran versuchen?
CONFIG_ESPTOOLPY_FLASHSIZE_16MB = y
In der sdkconfig.defaults sind jetzt fix 4MB Flash eingestellt & ich bekomme auch eine Warnmeldung (Lolin D32 Pro) das die Flashgröße nicht zusammenpasst. Die Flashgröße ist sicher abhängig vom verwendeten Board (HAL), sollte das nicht abhängig vom Board eingestellt werden?
CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH" wieder entfernen.
Flash-Speicher ist eigentlich genug vorhanden, nur (I)RAM/Heap ist immer knapp. @Joe91 Würde die Änderung einen Vorteil bringen?
Passt für mich so. Der nachteil bei Arduiono als Komponente ist, dass es nicht so einfach möglich ist boardspezifische Anpassungen zu machen. Daher muss eine allgemeine Lösung gesucht werden. Aktuell reicht der Flash, wenn er ausgeht, können wir das ja nochmal anschauen…
Bezüglich dem RTOS-Funktionen im IRAM:
In der Theorie hätte ich erwartet, dass wir etwas geringere Last im Overhead des Betriebssystems hätten und Taskwechsel usw. performanter sein könnten. Aber wir haben damals kaum einen messbaren Unterschied gesehen als wir das reingenommen haben (per default sind die RTOS-Funktionen im IRAM).
Solgane den IRAM frei ist, hätte ich ihn halt einfach dafür genutzt und durch die min rev. 3 ist auch deutlich mehr IRAM freigeworden als wir durch die RTOS-Funktionen im Flash eingespart haben.
Kann aber auch jeder in seinem Fork / Lokal so machen wie er will …