jnthas / mariobros-clock

The Mario Bros wall clock project
https://jnthas.github.io/mariobros-clock
MIT License
59 stars 9 forks source link

Initial commit adding esp-idf support #5

Closed abrender closed 1 year ago

abrender commented 1 year ago

esp-idf is the official framework supported by Espressif for ESP32.

Many popular libraries already include support for esp-idf. This includes the ESP32-HUB75-MatrixPanel-I2S-DMA library which this project uses (https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/blob/master/CMakeLists.txt).

This support does not conflict with or break existing Arudino IDE support.

Enabling esp-idf support allows for this project to be combined with other esp-idf compatible projects such as the Google Cloud IoT Device SDK for Embedded C project, which enables the ESP32 to be connected to Google's IoT platform.

Building mariobros-clock using this method gets rid of the library complications that are caused by using the Arduino IDE. Users don't have to manually search for and add the required libraries, deal with version conflicts, etc. All of the required dependencies are included as git submodules. Additionally, components (and the main project) can define menu configurations to allow users to change configurations without having to modify the source code (example: some HUB75 displays have the blue & green colors swapped, a menu option can be built to address that, etc.).

I have been using this setup with mariobros-clock for my personal customizations to the project and it works great.

jnthas commented 1 year ago

Nice, thanks! Is it possible to add it on https://github.com/jnthas/clockwise too? It has not only mario clock but other ones.

abrender commented 1 year ago

Nice, thanks! Is it possible to add it on https://github.com/jnthas/clockwise too? It has not only mario clock but other ones.

Sure, I'll give it a whirl and send a PR :)