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.
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! ;]
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].
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 ;].
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.