# Aktueller Stand ESP32-Arduino 2

**URL:** <https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389>\
**Category:** Software\
**Created:** [21. Oktober 2022 um 10:59 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389 "2022-10-21T10:59:35Z")\
**Posts on this page:** 20\
**Page:** 7

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [11. März 2023 um 21:24 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/122 "2023-03-11T21:24:16Z")

</div>

Verstehe ich das richtig, dass sich das Problem damit quasi selbst gefixt hat?

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [11. März 2023 um 21:30 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/123 "2023-03-11T21:30:02Z")

</div>

Ja genau,durch Woodoo oder Magie oder Fix in irgendwas.

Daher würde ich Euch bitten das durch eine 2. Meinung zu bestätigen…

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [11. März 2023 um 21:39 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/124 "2023-03-11T21:39:35Z")

</div>

OH NEIN, mein Fehler! Kein Woodoo, sondern fehlendes „Clean“ + „Build“.  
In der Weboberfläche unter Info bekomme ich `ESP-IDF version: v3.3.5-1-g85c43024c`.

Sorry, Alles auf Anfang…

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [12. März 2023 um 14:14 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/125 "2023-03-12T14:14:35Z")

</div>

War wohl zu spät gestern 😉

Bin das Umlautproblem heute in Ruhe nochmal angegangen und aus meiner Sicht reichen diese Zeilen in `Common.h` für den Bugfix:

```auto
inline void convertUtf8ToAscii(String utf8String, char *asciiString) {
	#if ESP_ARDUINO_VERSION_MAJOR >= 2
        strncpy(asciiString, (char *) utf8String.c_str(), utf8String.length() / sizeof(asciiString[0]));
		asciiString[utf8String.length()] = 0;
		return;
	#endif
...

```

Dateinamen sind in Arduino1 UTF-8 kodiert und in Arduino2 direkt Unicode. Ob der obige Code jetzt so optimal ist - Da muss noch ein C-Experte drüberschauen. Die Funktion ist dann etwas unglücklich benannt, evt. hier lieber `convertFileToAscii` ?  
Auf jeden Fall kann ich jetzt Dateien und Ordner mit Umlauten über Web-UI abspielen.

Es gibt noch Problem wenn `CACHED_PLAYLIST_ENABLE` aktiviert ist:  
„playlistcache.csv“ erzeugt mit Arduino1 ist nicht kompatibel mit Arduino2.  
Beim Wechsel auf 2 müssten einmalig alle playlistcache.csv gelöscht oder eine Versionierung eingebaut werden. Wie könnte man das lösen?

---

<div class="post-metadata">

**Author:** ![Joe91](https://forum.espuino.de/letter_avatar_proxy/v4/letter/j/5fc32e/32.png) [@Joe91](https://forum.espuino.de/u/Joe91)\
**Post date:** [12. März 2023 um 19:18 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/126 "2023-03-12T19:18:35Z")

</div>

Ein kleiner Header könnte helfen. Wenn der header fehlt: löschen und neu erstellen.  
Wäre was für den dev-branch. Oder?  
Sollen wir dort den aktuellen Stand von Arduino 2 einbauen?

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [12. März 2023 um 21:52 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/127 "2023-03-12T21:52:05Z")

</div>

> [@Joe91](#):
>
> Ein kleiner Header könnte helfen. Wenn der header fehlt: löschen und neu erstellen.

Ja Header-Zeile „Version#2“ ist eine gute Idee! Damit könnte man wieder beliebig zwischen Arduino 1/2 umschalten ohne Probleme.

> Wäre was für den dev-branch. Oder?

Tja das ist mir recht wurscht. @biologist, in welches Schweinerl hätten Sie’s denn gern?  
Könnte dafür einen PR erstellen so oder so. Aus meiner Sicht kann das auch in den Master da alle Änderungen über einen Compiler-Schalter laufen (also nichts kaputt machen können). Das ist hier auch kein neues Feature sondern die Zukunft…

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [12. März 2023 um 22:09 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/128 "2023-03-12T22:09:36Z")

</div>

Das ist für mich ok, wenn du dafür einen PR für den Master machst.

---

<div class="post-metadata">

**Author:** ![fschrempf](https://forum.espuino.de/user_avatar/forum.espuino.de/fschrempf/32/1740_2.png) [@fschrempf](https://forum.espuino.de/u/fschrempf)\
**Post date:** [13. März 2023 um 08:38 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/129 "2023-03-13T08:38:59Z")

</div>

> [@tueddy](#):
>
> Das ist hier auch kein neues Feature

Technisch gesehen ist es trotzdem ein Feature 🙂

> [@biologist](#):
>
> Das ist für mich ok, wenn du dafür einen PR für den Master machst.

Hm, spontan würde ich sagen das ist nicht wirklich sinnvoll bei jeder Änderung zu überlegen ob sie in Dev oder Master kommt.  
Zudem macht es die Entwicklung grundsätzlich schwieriger. Z. B. arbeite ich an dem KConfig Feature-Branch und synchronisiere diesen (durch Rebase) mit dem Dev-Branch. Wenn jetzt parallel im Master eine neue Build-Option hinzugefügt wird gibt es einen Konflikt beim Sync von Dev und Master (beim nächsten Release). Oder ich muss sehr aufwendig beim Arbeiten am Feature-Branch Dev und Master beobachten und Commits aus dem Master manuell in meinem Feature-Branch mitführen.

Lange Rede, kurzer Sinn: Meiner Meinung nach sollten alle PRs (außer eventuell kritische Bugfixes) gegen den Dev-Branch erstellt werden.

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [14. März 2023 um 08:44 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/130 "2023-03-14T08:44:10Z")

</div>

So ich habe zu den Umlautproblemen ein Bugfix erstellt:

> <https://github.com/tueddy/ESPuino/commit/27afd7b7696652a9831021f776554cb1ad0fbb4c>

Für die Playlistcache-Datei habe ich auf einen zus. Header für die Versionierung verzichtet sondern verwende für Arduino 2 einen neuen Dateinamen, das ist wesentlich einfacher und funktioniert fein.  
Einziger Nachteil, beim Umschalten 1/2 liegen dann zwei Cache-Dateien im Ordner von der nur eine verwendet wird…

Beim Testen ist mir noch ein kleiner Bug aufgefallen der so jetzt auch im aktuellen Master schlummert:  
Beim Umbennenen eines Verzeichnis unterhalb des Root wird die Playlistcache-Datei nicht gelöscht. Das klappt nur für Umbennenen von Dateien. Kann das jemand so nachvollziehen?

---

<div class="post-metadata">

**Author:** ![compactflash](https://forum.espuino.de/user_avatar/forum.espuino.de/compactflash/32/428_2.png) [@compactflash](https://forum.espuino.de/u/compactflash)\
**Post date:** [14. März 2023 um 12:39 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/131 "2023-03-14T12:39:22Z")

</div>

Hallo an alle

Auf [diesen](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/65) Beitrag von mir hat bisher niemand geantwortet. Mir ist eben eingefallen dass die meisten ja Torsten Boards benutzen und dort mit einem LOW die Spannung geschaltet wird mit HIGH aus. Dabei fällt das Problem nicht auf . Bei mir ist es umgekehrt.  
Hiermit bitte ich nochmals ob das jemand nachstellen kann.

---

<div class="post-metadata">

**Author:** ![SZenglein](https://forum.espuino.de/user_avatar/forum.espuino.de/szenglein/32/297_2.png) [@SZenglein](https://forum.espuino.de/u/SZenglein)\
**Post date:** [14. März 2023 um 16:30 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/132 "2023-03-14T16:30:19Z")

</div>

Ich habe Arduino v2 noch nicht ausprobiert, aber ich probiere mich trotzdem mal an dem Problem.

Ich glaube ich erwähnte das bereits, aber der POWER pin wird von fast niemandem für etwas anderes als die Peripherie verwendet.

Als ich damals die Power.cpp erstellt habe, war das auch das Verhalten. Power.cpp is ja grundsätzlich recht kurz gehalten.  
Dann fiel mir auf, dass ich einen schöneren Start (sprich kein Knacken im Lautsprecher) erhalte, wenn ich Verstärker und Co. erst mit Strom versorge, wenn alle Initialisierungen durch sind. Ich kann mir vorstellen, dass hier deine Probleme begonnen haben.

In Power\_Init() wird der POWER pin auf output gesetzt, _aber nicht geschaltet_. Oft heißt das er wird auf 0 gesetzt, aber vielleicht ist das auch Verhalten, was sich zwischen den Versionen geändert hat. Oder je nach Chip, Pin variiert. Die Idee ist aber, dass er hier erstmal aus bleibt. (Wobei ich mir gar nicht sicher bin ob das noch so ist. Du schreibst ja richtig dass bei den meisten LOW=An, also geht er hier vielleicht schon an und das Knacken wurde wo anders behoben. Nur für dich eben nicht, da LOW=Aus. Vielleicht ist der Pin beim ESP32 dann auch einfach undefiniert).

Du wirst meiner Ansicht nach mit dem POWER pin immer Probleme haben, da dieser für einen anderen Zweck gedacht ist und für niemanden in der Startphase wirklich kritisch ist. Du wirst immer mit Regressionen kämpfen müssen.  
Als Lösung solltest du einen weiteren pin definieren (meinetwegen MAIN\_POWER) und POWER einfach nicht mehr benutzen. Der POWER pin hört sich zwar so an als sei er für die Stromzufuhr, ist aber eher ein pin für den deepsleep.  
Deinen MAIN\_POWER pin schaltest du dann einfach als erstes in der main bzw. über neue Funktionen in der Power.cpp (wenn es reicht den erst nach dem port-expander) zu setzen.

PS: @biologist du hattest ja beim übernehmen der Power.cpp das ausschalten in power\_init gelöscht. Weißt du noch warum?

---

<div class="post-metadata">

**Author:** ![compactflash](https://forum.espuino.de/user_avatar/forum.espuino.de/compactflash/32/428_2.png) [@compactflash](https://forum.espuino.de/u/compactflash)\
**Post date:** [14. März 2023 um 17:01 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/133 "2023-03-14T17:01:36Z")

</div>

Hi  
danke für die ausführliche Antwort. Ich benötige den Pin ja nie zum Einschalten, das macht der LTC2954. Leider wird dieser dann durch das „Fehlverhalten“ direkt wieder ausgeschaltet ( siehe Datenblatt). Das hatte aber bis Anfang 2022 einwandfrei funktioniert.  
Ich habe das jetzt mit einer Hardwareänderung umgangen. Ich führe den Power\_Pin über eine Diode parallel zum Rotaryencoder\_Button und bilde einen langen Tastendruck nach (Änderung in der System.cpp). Der Pin Kill am LTC2954 ist jetzt unbenutzt. Das klappt gut aber trotzdem würde es mich interessieren woran das liegt.  
Es geht ja auch nicht wenn ich deine Power.cpp deaktiviere, hat also damit nichts zu tun. Ich hatte für Power\_Pin GPIO13 ausgewählt und damit trat es zuerst auf. Ich habe dann verschiedene GPIO´s probiert, weil das Verhalten der GPIO´s nach Reset unterschiedlich ist. Mit GPIO 21 hat es dann wieder einige Zeit funktioniert …bis zu Arduino \>1.6. Ich habe das auch mit einem Scope gemessen. Ist schon komisch.

> [@SZenglein](#):
>
> Deinen MAIN\_POWER pin schaltest du dann einfach als erstes in der main bzw. über neue Funktionen in der Power.cpp (wenn es reicht den erst nach dem port-expander) zu setzen.

Das habe ich schon gemacht und es hat anfangs auch geholfen.

VG

---

<div class="post-metadata">

**Author:** ![SZenglein](https://forum.espuino.de/user_avatar/forum.espuino.de/szenglein/32/297_2.png) [@SZenglein](https://forum.espuino.de/u/SZenglein)\
**Post date:** [14. März 2023 um 17:50 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/134 "2023-03-14T17:50:24Z")

</div>

Hast du einen link zu den genannten Änderungen?

Folgendes würde mich interessieren: Ändert sich das Verhalten mit Arduino-Version oder hängt es an ESPuino Änderungen? Je nachdem gehört es nicht in diesen Thread.  
Und wie „deaktivierst“ du die Power.cpp?

---

<div class="post-metadata">

**Author:** ![compactflash](https://forum.espuino.de/user_avatar/forum.espuino.de/compactflash/32/428_2.png) [@compactflash](https://forum.espuino.de/u/compactflash)\
**Post date:** [14. März 2023 um 18:49 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/135 "2023-03-14T18:49:58Z")

</div>

> [@SZenglein](#):
>
> Hast du einen link zu den genannten Änderungen?

Nee , ist nicht viel. In main.cpp im Setup Power\_Init und Power\_PeripherialOn deaktiviert und stattdessen GPIO21 direkt auf HIGH geschaltet.  
Später GPIO21 am Anfang von Setup geschaltet.  
Seitdem das nicht mehr funktioniert die Hardwareänderung und in  
System.cpp  
220 Power\_PeripheralOff();  
delay(5000);  
Die Zeit ist so lang damit es länger ist als die Abschaltzeit des LTC2954 , eingestellt mit einem Kondensator. Ich habe die Zeit damals auf etwa 4,5 Sek. eingestellt damit man das Board im Fehlerfall, falls die SW hängt und der Power-Pin nicht mehr funktioniert , immer noch mittels langem Tastendruck auf den Rotaryencoder\_Button das Board ausschalten kann (quasi ein Reset). Bei mir geht der ESP nie in Deep-Sleep.  
Schaltungen zund etwas Info [hier](https://github.com/compactflash/ESPuino32_complete_PCM5102A)

---

<div class="post-metadata">

**Author:** ![Joe91](https://forum.espuino.de/letter_avatar_proxy/v4/letter/j/5fc32e/32.png) [@Joe91](https://forum.espuino.de/u/Joe91)\
**Post date:** [14. März 2023 um 19:03 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/136 "2023-03-14T19:03:54Z")

</div>

Hi Zusammen,  
um mal wieder auf das Thema zurückzukommen:  
ich wäre dafür auf dem Dev-Branch arduino 2 (platform = espressif32@\<=6.1.0) einzuchecken.  
auf die Art kommen vielleicht noch mehr Dinge ans Licht die wir noch nicht auf dem Schirm haben und es wäre ein konkreter Schritt zur Umstellung wenn wir es voll am laufen haben.  
Wie ist eure Meinung dazu?

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [14. März 2023 um 19:07 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/137 "2023-03-14T19:07:32Z")

</div>

> [@Joe91](#):
>
> Wie ist eure Meinung dazu?

Ich habe die Anpassungen von @tueddy eben in dev gemerged.

---

<div class="post-metadata">

**Author:** ![Joe91](https://forum.espuino.de/letter_avatar_proxy/v4/letter/j/5fc32e/32.png) [@Joe91](https://forum.espuino.de/u/Joe91)\
**Post date:** [14. März 2023 um 19:17 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/138 "2023-03-14T19:17:11Z")

</div>

Kurze Frage noch zu der Zeile:  
`platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#1.0.6` in den platform-packages:  
Kann die drin bleiben, oder sollte die entsprechend auskommentiert werden? Bin nicht so fit in den platformio-files…

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [14. März 2023 um 19:20 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/139 "2023-03-14T19:20:22Z")

</div>

Das brauchen wir für Arduino1.

---

<div class="post-metadata">

**Author:** ![Joe91](https://forum.espuino.de/letter_avatar_proxy/v4/letter/j/5fc32e/32.png) [@Joe91](https://forum.espuino.de/u/Joe91)\
**Post date:** [14. März 2023 um 19:27 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/140 "2023-03-14T19:27:30Z")

</div>

Ah sorry, hatte den commit falsch gelesen und meine Frage vielleicht falsch gestellt:  
Mein Vorschlag wäre auf dem dev-Branch in der platfomio.ino auf Arduiono 2 umzustellen.  
Dazu hat mich eure Meinung interessiert 🙂

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [14. März 2023 um 19:34 UTC](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389/141 "2023-03-14T19:34:22Z")

</div>

Also wenn es nur im dev-Branch bleibt, dann wäre mir das egal. Aber dass man den Master auf Arduino2 umstellt, das sehe ich so schnell nicht.  
Das Problem ist, dass es mit Deepsleep gerne mal Probleme gibt. Mit der neuen mini 4L nicht mehr, aber mit der Vorgängerin doch öfter (oft?) schon. Die wird echt viel benutzt. Das möchte ich den ganzen Benutzern ehrlich gesagt nicht aufbürden.

[Vorherige Seite](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389.md?page=6)

[Nächste Seite](https://forum.espuino.de/t/aktueller-stand-esp32-arduino-2/1389.md?page=8)
