69 lines
2.2 KiB
Markdown
69 lines
2.2 KiB
Markdown
|
|
# Entwickler Setup
|
|
|
|
- Installiere VS Code: https://code.visualstudio.com/
|
|
- Installiere Git (abhängig vom Betriebssystem)
|
|
- Installiere VS Code Extension:
|
|
https://marketplace.visualstudio.com/items?itemName=PeterStaev.lego-spikeprime-mindstorms-vscode
|
|
- Clone unsere Code Vorlage aus Git (s.u.)
|
|
|
|
## Git
|
|
|
|
Importiere den Code entweder über die Shell
|
|
|
|
git clone https://git.makerlab-murnau.de/Projekte/LegoLeague.git
|
|
|
|
oder einen Git Client:
|
|
- für Mac oder Windows: https://www.sourcetreeapp.com/
|
|
|
|
Username und PW für Makerlab eingeben
|
|
|
|
Übersicht über Git Commands: https://ndpsoftware.com/git-cheatsheet.html#loc=workspace;
|
|
|
|
Einfacher Workflow
|
|
1. `git pull --rebase` (evtl `git stash` vorher)
|
|
2. `git add meincode.py` (Dateien die ich Committen will, oder auch nur einzelne Zeilen)
|
|
3. `git commit -m 'ich habe was an meincode.py geändert'` (lokaler Commit)
|
|
4. `git push -u origin main` (lokalen Commit auf den Server hochladen)
|
|
|
|
|
|
## VS Code
|
|
|
|
In der VSCode Extension pre-compile einstellen:
|
|
![VSCode Lego Settings](vscode-lego-extension-settings.png "VSCode Lego Settings")
|
|
![VSCode Lego Precompile](vscode-lego-extension-precompile.png "VSCode Lego Precompile")
|
|
|
|
# Code auf den Spike laufen lassen
|
|
|
|
1. Über die VSCode Extension auf einen Slot hochladen (Extension Button oder F1->LEGO)
|
|
2. Slot starten (kann auch über die "autostart" Option im Kopf des Codes automatisiert werden)
|
|
|
|
```
|
|
# LEGO type:standard slot:5 autostart
|
|
```
|
|
|
|
# Code als gemeinsame Bibiothek entwickeln und auf dem Spike ausführen
|
|
|
|
1. Eigene Python Datei anlegen zB `meincode.py`
|
|
2. Auf einen Slot hochladen (am besten Pre-Compile unter VS Code Settings einstellen, siehe Entwickeler Setup)
|
|
3. `importFile` Funktion aus der `main.py` nutzen:
|
|
|
|
```
|
|
importFile(slotid=6, precompiled=True, module_name="meincode")
|
|
import meincode as mc
|
|
print(mc.HELLO)
|
|
```
|
|
|
|
Siehe auch
|
|
https://forums.firstinspires.org/forum/general-discussions/first-programs/first-lego-league/the-challenge/programming-ab/93873-spike-prime-programming-lessons-for-first-lego-league-challenge-teams
|
|
|
|
|
|
# Project Setup History
|
|
|
|
```
|
|
git clone https://github.com/fluffyhuskystudio/spike-prime-api.git
|
|
cd LegoLeague
|
|
cp -r ../spike-prime-api/hub ./
|
|
cp -r ../spike-prime-api/spike ./
|
|
```
|
|
|