A small project I have written to familiarize myself with C++. Uploaded for archival purposes and will likely not receive further updates.
The Project uses a small Waveshare devkit with a touch display to function and for controls. It should run on most devices with touch and a few buttons, only needing some tweaks to the pin config.
The following features have been implemented
- A menu and screen system for easy implementation of new menus
- A module system with a DI container
- Modules for different components such as GFX, storage, and battery
- For demonstration purposes multiple self-written and self-optimized implementations of the follwing cellular automata
- Conways game of life (A basic small version with 8 bit storage with limited size, a 4 bit version to allow more pixels to be displayed, and a colored 4 bit version)
- Wolframs cellular automata with different modes based on amount of colors
Development was done using Visual Studio Code and the PlatformIO plugin. The following libraries were used:
- Arduino_DriveBus
- Arduino_GFX
- Espressif AudioLib