SPiCsim

# Übersicht

Der SPiCsim ist ein Simulator für das SPiCboard. Es unterstützt sowohl den mit dem aktuellen SPiCboard v3 verwendeten Mikrocontroller (ATmega328PB), als auch alle auf dem SPiCboard verwendete Peripherie (LEDs, Potentiometer, usw.). Binärdateien, die auf dem SPiCboard lauffähig sind, können unverändert in den SPiCsim geladen und getestet werden. Dies ist insbesondere praktisch, wenn gerade keine echte Hardware zum Testen zur Hand ist.

Der SPiCsim ist in Java implementiert und damit plattformunabhängig lauffähig.

# Verwendung

## CIP

Im CIP kann der SPiCsim auf zwei verschiedene Art und Weisen gestartet werden:

- aus der SPiC-IDE
- von der Kommandozeile: `/proj/i4spic/bin/spicsim [options] [<elf-file>]`

## Eigener Rechner

Um den SPiCsim auf dem eigenen Rechner zu benutzen, sind die folgenden Schritte nötig:

- Download des SPiCsim v3.2 (6 MB) (plattformunabhängig, benötigt Java)
- Starten mit `java -jar SPiCsim.jar [options] [<elf-file>]` (zum Beispiel: `java -jar SPiCsim.jar blink.elf`)
- alternativ kann die Binärdatei auch in der GUI mittels `Load program` geladen werden.

# Optionen

Der SPiCsim beherrscht neben dem, oben gezeigten, Standardskin auch Skins, die spezifisch für bestimmte Übungs- oder Hands-On Aufgaben sind. Die Skins können durch die Option `-s <skin_name>` aktiviert werden. Aktuell sind die folgenden Skins verfügbar:

- `coffee` Hands-On Aufgabe zur Implementierung einer Kaffeemaschine

Beispiel zum Starten:

- `java -jar SPiCsim -s coffee coffeemachine.elf`