Icv ersuche nun seit einigen Tagen espuino selbst zu kompillieren und scheitere ständig daran. Daher wollte ich fragen, ob es beiEuch anderen besser funktioniert und was Ihr anders macht. prinzipiell arbeite ich schon länger mit VSCode/Platformio mit unterschiedlichen esp32 boards, daher wundert es mich auch so.
Repo per git geladen, als profil “esp32-wrover-devkitc-v4-8mb” ausgewählt. platformio als plugin ist da. Es fängt bei mir (Win11 rechner) mal schon damit an, dass er die platform (https://github.com/pioarduino/platform-espressif32/releases/download/55.03.34/platform-espressif32.zip) zwar installiert, aber scheinbar nicht in den path legt. habe das dann händisch nachgeholt - war aber auch nicht erfolgreich.
Dann als platform platform = espressif32@^6.10.0 ausgewählt - da fehlen ihm dann zunächst die zertifikate unter “managed_components”; die händisch nachgeholt, jetzt fehlen im dateien/komponenten im code. auszug:
In file included from .pio/libdeps/esp32-wrover-devkitc-v4-8mb/ESP32-audioI2S/src/audiolib_structs.hpp:2,
from .pio/libdeps/esp32-wrover-devkitc-v4-8mb/ESP32-audioI2S/src/Audio.h:10,
from src/AudioPlayer.cpp:6:
.pio/libdeps/esp32-wrover-devkitc-v4-8mb/ESP32-audioI2S/src/psram_unique_ptr.hpp:8:10: fatal error: span: No such file or directory #include
^~~~~~
compilation terminated.
*** [.pio\build\esp32-wrover-devkitc-v4-8mb\src\AudioPlayer.cpp.o] Error 1
In file included from .pio/libdeps/esp32-wrover-devkitc-v4-8mb/FastLED/src/platforms.h:44,
oder :
#warning „No clockless drivers defined for ESP32 chip. You won’t be able to drive WS2812 and other clockless chipsets“.
^~~~~~~
src/Button.cpp:48:1: error: ‚EXT_RAM_BSS_ATTR‘ does not name a type; did you mean ‚EXT_RAM_ATTR‘?
EXT_RAM_BSS_ATTR t_button gButtons[7]; // next + prev + pplay + rotEnc + button4 + button5 + dummy-button
^~~~~~~~~~~~~~~~
EXT_RAM_ATTR
src/Button.cpp: In function ‚void Button_ReadAllStates()‘:
src/Button.cpp:150:2: error: ‚gButtons‘ was not declared in this scope
gButtons[0].currentState = Port_Read(NEXT_BUTTON) ^ BUTTON_0_ACTIVE_STATE;
^~~~~~~~
src/Button.cpp:150:2: note: suggested alternative: ‚sbttons‘
gButtons[0].currentState = Port_Read(NEXT_BUTTON) ^ BUTTON_0_ACTIVE_STATE;
^~~~~~~~
sbttons
src/Button.cpp: In function ‚void Button_Cyclic()‘:
src/Button.cpp:209:33: error: ‚gButtons‘ was not declared in this scope
for (uint8_t i = 0; i < sizeof(gButtons) / sizeof(gButtons[0]); i++) {
^~~~~~~~
ich habe es mit master und dem eh gleichen tag zur version 2.6 ausgewählt.
Hat jemand vl. einen Tipp was ich falsch machen könnte? Kompillieret das Projekt bei den anderen mit dem wrover devkit profil?
Zwischen Espressif (Hersteller ESP32) und Platformio gibt’s einen kleinen Zwist. Platformio hätte wohl gerne Geld für die ESP-Integration in Platformio und Espressif will aber keines zahlen. Das hat dazu geführt, dass das in Platformio nicht mehr weiterentwickelt wurde - daher haben wir auf pioarduino gewechselt. Inzwischen gibt’s von pioarduino auch ein Plugin in VSC, welches zu dem von platformio mehr oder weniger gleich ist. Das benutze ich seit bestimmt einem halben Jahr und damit lässt sich der aktuelle DEV-Branch auf jeden Fall kompilieren für das devkit-Profil.
Der gesamte Kompilierprozess ist relativ kompliziert und wir hatten da schon verschiedene Probleme. Aber aktuell sind mir keine bekannt. (Ich nutze allerdings auch kein Windows.)
Betrifft: Vscode ohne pioarduino
Ich konnte die letzten Versionen nicht mehr compilieren. Habe dann Chatgpt befragt und nach einigen Stunden war ich es leid und habe Vscode mit Hilfe von Chatgpt komplett gelöscht incl. aller Ordner und Caches . Außerdem noch alte Python Versionen die auch Fehler verursacht haben.
Ich habe blind der KI vertraut ohne zu wissen was ich da alles mache.
Danach neu installiert nur mit pioarduino ohne platformio. Chatgpt hat immer wieder alles kontrolliert und irgendwann war mein Mac sauber.
Leider gab es immer noch Probleme. Das liegt laut KI z.Zt. an einem bekannten Fehler bei pioarduino. Das zieht die falsche Version von scones (was auch immer das ist) heran. Kann man reparieren , kam bei mir aber wieder. Also wieder reparieren , die Community von pioarduino arbeitet wohl daran.
Also komplett löschen braucht man die Installation nicht: Es gibt im Home-Verzeichnis einen Ordner „.platformio“. Wenn man diesen löscht, dann ist alles von Platformio, inklusive Plugin weg. Das von dir beschriebene Problem hatte ich quasi doppelt: Zuerst auf Github und dann auch bei mir.
Wichtig zu wissen ist halt: In .platformio befindet sich im Unterordner penv eine virtuelle Python-Umgebung. Wenn man irgendwelche Kommandos darin ausführen will, so dass man das quasi im Kontext von Platformio macht, dann springt man da mittels source .platformio/penv/bin/activate rein. Hier habe ich glaube ich zum lokalen Fix eine ältere Version von Platformio installiert, so dass Scons (glaube so hieß das) wieder vorhanden ist. Seitdem habe ich jetzt erstmal Ruhe.
Grundsätzlich ist das halt alles nix, was ich irgendwie unter ESPuino-Kontrolle hätte. Die Projekte sind für sich genommen halt alle „im Fluss“ und das führt, auch wenn das ärgerlich ist, halt immer mal zu Problemen.
Früher hätte ich da auch erstmal auf die Suche gehen müssen. Inzwischen spuckt mir Claude da in 30s die Lösung aus und das passt üblicherweise auch. Ansonsten geht’s halt in die zweite Runde.
Du könntest noch überlegen das von git bauen zu lassen.
Ich habe actions eingerichtet.
Sobald @biologist was ins dev kippt, wird versucht das automatisch in mein angepasstes Repo zu mergen. Klappt das, dann wird eine Version (mit meinen Änderungen) gebaut. Dann habe ich bei der Updateauswahl nicht nur master und dev, sondern auch custom (meine angepassten builds)