Test ability to code generate imbedded application software for deployement ESP32 System-on-a-Chip (SOC) module from a UML state chart.
I'm inspired by the work of Miro Samek from Quantum Leaps. Miro's Modern System Embedded Programming Course on YouTube provide inspiration to any software engineer with the dream of code-generating production-ready applications from high level UML diagrams. Quantum Leaps provides a truely excellent set of tools that can be employed by Software Engineers under generous licence conditions.
This is a simple proof of concept project that aims to code-generate the LED blinking application for deployment to the Espressif ESP Module The project combines several components:
- QM modelling tool from Quantum Leaps -- Verison 5.2.5 (Generates code for QP/C++ version >= 7.0.0)
- QP/C++ port for ESP32 using Arduino Plaform SDK (Based on QP/C/C++ version 7.2.2)
- Microsoft Visual Studio Code -- (vscode) an excellent IDE
- PlatformIO plugin for vscode that outputs to broad range of COC targets
Note: the latest QM Modelling tool (version 6.1.1) generates code which runs on QP/C/C++ version 7.3.0 which is incompatible with the current ESP32 port
- Clone this repo
- cd Blinky_esp32
- Run
qm
version 5.2.5 and open theBlinky_esp32
model - Generate the code
- Open the Blinky_esp32 directory in vscode (with PlatformIO loaded)
- Build and deploy the code to your ESP32 (via USB cable)
The code in this application is drawn from the examples provided by the QP/C++ port for ESP32 using Arduino Plaform SDK with some minor adaptation and a bug fix.