Wir haben festgestellt, dass die Abbildung der Toolchain alleine nicht immer ausreicht. Sie sollte erläutert und dokumentiert sein, damit sie vorallem von Neueinsteigern verstanden wird.
Das Repository enthält alle benötigten Dateien für die Entwicklung und Produktion. Zur besseren Organisation ist es in Unterordner unterteilt.
- MCAD (mechanische CAD-Konstruktionsdateien)
- ECAD (elektronische Schaltpläne und PCB Entwurfsdateien)
- Firmware (Quellcode der Firmware)
- Dokumentation (alle Informationen um das Projekt nachzubauen)
Die mechanischen Bauteile des Projekts werden mit FreeCAD konstruiert. Mit KiCAD werden die elektronischen Bauteile (Leiterplatine) entworfen und Produktionsdateien exportiert. Als Schnittstelle zwischen FreeCAD und KiCAD, zum Austauschn von 3D-Geometrien, kommt kicadStepUp zum Einsatz. Die Firmware und die Dokumentation wird mit einem Texteditor erstellt. Fertigungsdatein für den 3D-Druck (g-code) werden mit Hilfe von Cura erzeugt.
Für die Versionsverwaltung, zur Erfassung von Dateiänderungen, dient git. Seinen vollen Funktionsumfang erreicht git nur mit rein textbasierten Datein. Zur besseren Verwaltung von Binärdateien (CAD-Dateien, Bilder, Videos, etc.) wird git-lfs verwendet. Eine wichtige Funktion von git-lfs ist die Möglichkeit, Dateien zu sperren, was dazu beiträgt, Konflikte beim mergen mit Binärdateien zu vermeiden. Dies ist vorallem dann hilfreich, wenn mehrere Personen im selben Repository arbeiten. Wir arbeiten gerade an einer PDM-ähnlichen git Benutzeroberfläche und haben ein erstes Mock-up erstellt, bitte sendet uns gerne Feedback.
Gitlab, als Webanwendung zur Versionsverwaltung, ermöglicht die Zusammenarbeit mit anderen Leuten. Darüber hinaus bietet es auch ein Issue-Tracking-System, Webhosting für die Dokumentation (GitLab Pages) und es können gewisse Prozessschritte mit Continuous Integration und Continuous Delivery (CI/CD) über die Pipeline automatisieren werden. Mithilfe von CI/CD können stets aktuelle Produktionsdateien bereitgestellt werden. Ferner wird die Dokumentation über einen Static-Site-Generator (SCG) erzeugt und als Webseite veröffentlicht.
Die Toolchain ist nicht immer linear, denn gerade in der Entwicklung kann es Schleifen geben, die immer wieder durchlaufen werden, bis das gewünschte Ergebniss erreicht ist.
Das hier gezeigte exemplarische Beispiel einer Toolchain kann als Blaupause dienen für den bevorstehenden Hackathon und das dortige Vorhaben, die Toolchain des nimble-Projektes durch eine Toolchain mit FLOSS zu ersetzen.
Wir von der Open Toolchain Foundation sind daran intessiert zu erfahren wie die Toolchain eures Projektes aussieht! Dazu könnt ihr einerseits eure Toolchain in unserem Forum teilen, oder ihr nehmt mit uns Kontakt auf und wir helfen euch dabei, eure Toolchain zu dokumentieren und mit der Community zu teilen.
Titelbild von Bernard Spragg
Similar Stories
Das Internet of Production Alliance ist eine globales Bündnis von Organisationen, die in der dezentralisierten Produktion die Grundlage einer gerechteren Gesellschaft in der Zukunft sehen. Die Allianz setzt sich ein...
weiterlesen Stärkung der Open Source Toolchain von Nimble als Community.
weiterlesen Das Bild oben zeigt einen Teil unseres Teams, der vor Ort eine lasergeschnittene “Kette” hochhält, die den offiziellen Start der Open Toolchain Foundation symbolisiert! Diesen Meilenstein feierten wir auf der...
weiterlesen