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.
- 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
- 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
main.cpp
– Einstiegspunkt der Anwendungwrench.cpp
/wrench.h
– Zentrale Logik für die MatrixsteuerungMatrixManager.h
– Verwaltung der MatrixdatenAnimation.h
,animations/
– Definition und Implementierung von AnimationenControlManager.h
– Steuerung der Matrix und AnimationenWrenchWrapper.h
– Schnittstelle für WebAssembly-Exportouput/
– Generierte WebAssembly- und JavaScript-Dateien (index.wasm
,index.js
,index.html
)template/
– HTML-Templates für die Webvorschau
- CMake (zum bauen der Projektstruktur)
- Emscripten SDK (um C++ nach WebAssembly zu kompilieren)
- Ein moderner Webbrowser (zur Ausführung der Simulation)
-
Emscripten installieren
Folgen Sie der offiziellen Anleitung: https://emscripten.org/docs/getting_started/downloads.html
-
Emscripten aktivieren
source /pfad/zu/emsdk/emsdk_env.sh
-
Projekt bauen
mkdir -p build cd build emcmake cmake .. emmake make
Die generierten Dateien (
index.wasm
,index.js
,index.html
) finden Sie imouput/
-Verzeichnis. -
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
- 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.