tcMenu icon indicating copy to clipboard operation
tcMenu copied to clipboard

Port TcMenu to ESP-IDF

Open vzahradnik opened this issue 1 year ago • 1 comments

Is your feature request related to a problem? Please describe. Port TcMenu to ESP-IDF, a native development framework for Espressif boards.

vzahradnik avatar Jan 09 '25 23:01 vzahradnik

I need an Arduino free environment myself, for both PicoSDK (already possible) and ESP32. Just pointing out to anyone reading that that is will be enabled by a flag, we are not touching the Arduino flow in any way whatsoever.

A first step toward this has been achieved recently, if you look at https://github.com/TcMenu/tcLibraryDev/blob/main/cmakeEsp32/generateCmake.py it can generate CMake files into the components directory of an ESP32 IDF project. It presently has been tested with IDF 5.5 with the Arduino component still referenced. Once I've cleaned things up, I'll be pushing my working example into that directory.

It is not much work to move over to IDF completely and I'll test that at some point soon. I list out below what's already done, and what I'd need to do:

  • SimpleCollections should compile in any C++ compliant environment. Does so for PicoSDK already.
  • TaskManagerIO - should compile in any C++ compliant environment. Does so for PicoSDK already.
  • IoAbstraction - has a hidden experimental flag (been there for a while) that handles Analog and Digital IO direct IOA_USE_ESP32_EXTRAS.
  • tcMenu - doesn't use Arduino directly, only through plugins. There are display plugins for at least LiquidCrystal and OLED without Arduino. It should be easy to add a TFT driver if a component is already available.
  • tcUnicodeHelper - should compile in any C++ compliant environment. Does so for PicoSDK already.

davetcc avatar Oct 25 '25 09:10 davetcc