Skip to content

Software

Entwicklungsumgebung

Die ESP32 Firmware ist in C++ mit dem Arduino-Framework geschrieben. Als Build-Umgebung wird PlatformIO verwendet (z.B. Visual Studio Code mit PlatformIO Plugin).

Erstellen eines Firmware Binaries

Downloaden des Quellcodes von Github oder clonen des Repositories mit

git clone https://github.com/bt-trx/firmware.git

Danach wechseln in das Verzeichnis des Quellcodes und compilieren der Firmware

cd firmware
platformio run

Das erstelle Firmware-Binary ist dann unter .pio/build/esp/firmware.bin zu finden. Alternativ kann die Firmware direkt auf einen angesteckten ESP32 geladen werden:

platformio run --target upload

Falls der voreingestellte Port für den CP2102 nicht stimmt, kann ein anderer Port mittels Paramter übergeben werden. Zum Beispiel:

platformio run --target upload --upload-port /dev/ttyUSB4

Styleguide

Es sollte sich an den Google-Styleguide für C++ gehalten werden. Die Code-Formatierung wird mittels clang-format automatisch gewartet: ./tools/code-style.sh src/*.cpp src/*.h

Unit-Tests

Die Unit-Tests für die Software sind mittels gtest umgesetzt. Zur Abstrahierung der Hardware-Aufrufe werden gmock Mockups verwendet.

Die Tests werden mit ./test/build.sh durchgeführt.