Offene Tools für das WaveMe Ökosystem
Ab heute verlagern wir die WaveMe Vorlagen und den gesamten Open-Source-Code in eine selbst gehostet Gitlab-Umgebung. Senslogic ist ein Optik-Beratungsunternehmen mit umfangreicher Erfahrung in der Softwareentwicklung und physikalischen Optiksimulationen. Während ein Großteil des von uns entwickelten Codes proprietär ist, eignet sich ein Teil davon besser für Ausbildungszwecke oder als Codierungsbeispiele für unsere Plattform.
Zu diesem Zweck werden die WaveMe Vorlagen unter der Creative Commons Zero (CC0) Lizenz veröffentlicht. Diese Vorlagen wurden speziell für die Verwendung mit WaveMe entwickelt, aber durch die Annahme dieser Lizenz wollen wir sicherstellen, dass es absolut klar ist, dass WaveMe-Kunden frei sind, den von diesen Vorlagen abgeleiteten Code ohne Einschränkung zu verwenden, zu verändern und zu verbreiten.
Kamera-Isolationsbibliothek
Mit der Einführung der Gitlab-Umgebung veröffentlicht Senslogic auch seine Kamera-Isolationsbibliothek. Dieser Quellcode ist derzeit nur unter Linux nutzbar. Ursprünglich war sie dazu gedacht, Laufzeitprüfungen mit Tools wie AddressSanitizer (ASAN) zu ermöglichen.
Wir wollen WaveMe nie im Weg zu sein und so viel Flexibilität wie möglich zu bieten. Um das zu erreichen, erledigt WaveMe viele Dinge im Hintergrund. Wenn Sie zum Beispiel den Shack-Hartmann-Sensor entlang eines divergierenden Strahls bewegen, optimiert WaveMe seine Spot-Erkennung. Es prüft, ob Sie etwas geändert haben, das gespeichert werden muss, und es bestimmt auch, woher das Licht kommt, um die beste Kalibrierung zu erzeugen. Es ist ein Werkzeug, das Ihnen den Kopf frei macht, damit Sie sich auf Ihre eigene Arbeit konzentrieren können.
Dies hat für uns einige Nebeneffekte, wie z. B. eine Anwendung, die nicht mit herkömmlichen Debugging-Tools entwickelt werden kann. Ohne die Kamera-Isolationsbibliothek und die Adress-Sanitizer wäre WaveWe nie in der Lage, den Status der Release-Qualität zu erreichen.
Die WaveMe-Plattform verwendet Basler Kameras und seine Bibliothek Pylon. Basler bietet hervorragende Produkte zu fantastischen Preisen. Was kann man daran nicht mögen? Nun, es gibt eine Sache, nämlich, dass man mit Pylon keine Adress-Sanitizer verwenden kann. Pylon übernimmt die volle interne Symbolkontrolle, und das verhindert, dass Adress-Sanitizer das tun können, was sie brauchen.
Um dies zu umgehen, ahmt der Client die Pylon-Schnittstelle nach und kommuniziert mit dem Server über Shared Memory. Außerdem bietet er mehrere Simulataneus-Verbindungen, um die Pylon-Schnittstelle ohne Einschränkungen zu unterstützen.
Diese Architektur war für die Code-Entwicklung gedacht, aber da sie unter der BSD (3-Klausel)-Lizenz veröffentlicht wurde, ermutigt Senslogic die Entwickler sogar dazu, kommerzielle Closed-Source-Derivate auf dieser Basis zu entwickeln.
Anmeldung
Wenn Sie Zugang zur Quelle erhalten möchten, senden Sie eine E-Mail an [email protected] mit Ihrem bevorzugten Benutzernamen. Sie erhalten ein einmaliges Passwort, nachdem ich Ihre E-Mail und Ihren bevorzugten Benutzernamen auf dem Gitlab-Server hinzugefügt habe.
Kommentar verfassen