Funktionsweise & Strukturierung des Codes
Der verwendete Code ist in mehrere Bereiche bzw. Ebenen aufgeteilt. Im folgenden wird jede Ebene einmal vorgestellt. Im Rest der Dokumentation werden immer diese Bezeichungen verwendet, es macht also Sinn, sie sich zu merken.
Firmware
Wir verwenden die offizielle Firmware Spike V3 von LEGO. Dadurch können wir alle Funktionen des Roboters, wie von Motoren und Sensoren, nutzen, ohne selber Firmware schreiben zu müssen.
Spielzeug
„Spielzeug“ ist das Betriebssystem des Roboters. Anstatt das mit der Firmware mitgelieferte Betriebssystem zu verwenden, haben wir ein eigenes Betriebssystem entwickelt. Das ermöglicht uns, eigene Software zum Kommunizieren mit dem Roboter über Bluetooth zu schreiben und so unser LiveCode-Feature zu realisieren. Diese Ebene kümmert sich also um die Bluetooth-Kommunikation und das Starten der Menüsoftware.
Runs
Das ist der Code, den wir jedes Jahr verändern, um die Aufgaben des Wettbewerbs zu lösen.
Jeder Run ist in einer eigenen Datei im src/runs/-Ordner implementiert.
Die Runs verwenden die gsgr-Bibliothek, um auf die Funktionen des Roboters zuzugreifen.