Probleme mit Servo-lib Version 0.13

Michael berichtet in der FB- Gruppe von Problemen mit der aktuellen Servo-Bibliothek:

Es hat mir keine Ruhe gelassen. Eben habe ich euren Verlauf auf hiveeyes.org gelesen und da war zu sehen, dass der Servo läuft und keine Probleme zu erwarten sind. Alle Lötstellen und Co. überprüft. Alles richtig. Dann habe ich mal geschaut, ob es andere Bibliotheken gibt, nein.

Aber es kam gestern eine neue Version heraus, die 0.13. Ja genau, die kam gestern. Weil ihr mit einer anderen getestet habt, habe ich die 0.12.1 installiert und siehe da. ES GEHT! Der Servo läuft. Damit ich sicher bin, habe ich nochmal mit der 0.13 und wieder mit der 0.12.1 kompiliert. Also die 0.13 ist nicht kompatibel. Solltet ihr also in der Doku anpassen. Oder ihr findet den Grund dafür.

Freue mich total, dass ich dem Projekt so ein ganz bisschen weiter helfen konnte.

1 Like

Doku zur Lib unter ESP32Servo - Arduino Reference Repo unter GitHub - madhephaestus/ESP32Servo: Arduino-compatible servo library for the ESP32

Changes 0.12.1 zu 0.13.0: Comparing 0.12.1...0.13.0 · madhephaestus/ESP32Servo · GitHub

Vielen Dank für den Bericht. Hier in der platformio.ini Datei [1] sind die Versionsnummern der Abhängigkeiten festgenagelt, damit ein Upgrade einer Bibliothek nicht versehentlich etwas kaputtmacht. Da die eine oder andere heutzutage bestimmt öfters mit Visual Studio Code arbeitet, könntet Ihr PlatformIO intensiver nutzen und Euch selbst und anderen viele Schmerzen ersparen, mit PlatformIO IDE for VSCode — PlatformIO latest documentation, siehe auch [2][3].

Das Bearbeiten von Quelltexten klappt natürlich auch mit jedem anderen Editor gut (Emacs, Vim) [4], Hauptsache Ihr holt Euch nicht mehr die in vielen Bereichen sehr fehlerträchtige Arduino IDE auf die Maschine. Gerade wenn es um das Reproduzieren von Entwicklungsumgebungen geht, fällt die Arduino IDE leider deutlich hinter dem Standard zurück, und solche Fehler sind vorprogrammiert. Nix für ungut! ;]


  1. hani-mandl/platformio.ini at master · ClemensGruber/hani-mandl · GitHub ↩︎

  2. A professional collaborative platform for embedded development · PlatformIO ↩︎

  3. Visual Studio Code » PlatformIO IDE ↩︎

  4. Aber der Komfort, den die PlatformIO IDE beim Sketch Upload und beim UI-unterstützten Debugging bietet, ist natürlich allererste Sahne.

    ↩︎

1 Like

Im Arduino Ökosystem gibt es ja zum Glück schon länger die library.properties Datei, mit der Paketmetadaten von Bibliotheken genauer beschrieben werden können [1], inklusive ihrer Abhängigkeiten.

Eine aktuelle Recherche ergibt, das es etwas ähnliches (jetzt auch?) für “Sketches” gibt, in Form einer sketch.yaml [2].

Sketch project file


  1. Arduino Library Specification ↩︎

  2. Arduino Sketch Specification ↩︎

Bin mir nicht sicher, ob das auch in der Arduino IDE funktioniert. Mglw. funktioniert es bisher erst mit der Arduino CLI. Das wäre aber immerhin ein Fortschritt ;].

Fazit

Um zukünftig bessere Werkzeuge zu nutzen, gerade wenn man wechselnd verschiedene Geräte und Umgebungen auf dem Tisch hat, tut Euch bitte den Gefallen und baut Euch reproduzierbare Entwicklungsumgebungen. Wie viele zig Stunden weltweit hier bestimmt schon draufgegangen sind, nur weil die eine odere andere Abhängigkeit schief hing…

Daher: PlatformIO mit PlatformIO IDE sind hier zukunftsweisend, und stellen sowohl IDE- als auch Kommandozeilenbenutzer zufrieden. Letzteres ist auch für das automatische Bauen auf Build- und CI-Servern wichtig.