Skip to content

WRI-Obernburg/WrenchWASM

Repository files navigation

WrenchWASM

WrenchWASM ist ein C++/WebAssembly-Projekt, das als Teil des MatrixIDE Ökosystems entwickelt wurde. Es dient als Brücke zwischen der MatrixIDE-Entwicklungsumgebung und der Firmware für die Pixelmatrix-Displays (pixelmatrix). Ziel ist es, die Animationen und Steuerungslogik der Matrix-Displays im Browser zu simulieren, zu testen und zu visualisieren.

Projektüberblick

  • Sprache: C++ (mit WebAssembly-Export)
  • Ziel: Simulation und Visualisierung von Matrix-Animationen im Browser
  • Verwendung: Teil des MatrixIDE-Toolchains zur Entwicklung und Vorschau von Animationen und Spiele für LED-Matrix-Displays
  • Integration: Kann mit der MatrixIDE genutzt werden, um Anwendungen zu testen, bevor sie auf die Hardware übertragen werden

Hauptfunktionen

  • Simulation von Anwendungen für LED-Matrix-Displays
  • Steuerung und Vorschau der Matrix-Logik im Webbrowser
  • Kompatibilität mit der Firmware-Logik aus pixelmatrix
  • Einfache Integration in die MatrixIDE

Verzeichnisstruktur

  • main.cpp – Einstiegspunkt der Anwendung
  • wrench.cpp / wrench.h – Zentrale Logik für die Matrixsteuerung
  • MatrixManager.h – Verwaltung der Matrixdaten
  • Animation.h, animations/ – Definition und Implementierung von Animationen
  • ControlManager.h – Steuerung der Matrix und Animationen
  • WrenchWrapper.h – Schnittstelle für WebAssembly-Export
  • ouput/ – Generierte WebAssembly- und JavaScript-Dateien (index.wasm, index.js, index.html)
  • template/ – HTML-Templates für die Webvorschau

Voraussetzungen

  • CMake (zum bauen der Projektstruktur)
  • Emscripten SDK (um C++ nach WebAssembly zu kompilieren)
  • Ein moderner Webbrowser (zur Ausführung der Simulation)

Kompilieren & Ausführen

  1. Emscripten installieren

    Folgen Sie der offiziellen Anleitung: https://emscripten.org/docs/getting_started/downloads.html

  2. Emscripten aktivieren

    source /pfad/zu/emsdk/emsdk_env.sh
  3. Projekt bauen

    mkdir -p build
    cd build
    emcmake cmake ..
    emmake make

    Die generierten Dateien (index.wasm, index.js, index.html) finden Sie im ouput/-Verzeichnis.

  4. Simulation starten

    Öffnen Sie ouput/index.html in einem modernen Webbrowser. Alternativ können Sie einen lokalen Webserver starten:

    cd ouput
    python3 -m http.server 8080
    # Dann im Browser: http://localhost:8080

Integration in MatrixIDE

  • Die generierten WASM/JS/HTML-Dateien können direkt in die MatrixIDE eingebunden werden, um die Anwendung zu testen und zu visualisieren.
  • Die Schnittstellen und Datenstrukturen sind kompatibel mit der Firmware aus pixelmatrix, sodass Apps 1:1 übernommen werden können.

Weitere Informationen

About

Provides a webassembly representation of the interpreter running on the pixel matrix

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published