This is an initial conversion of the FreeTouchDeck Arduino IDE project into a project that can compile both in the Arduino IDE and the Visual Studio Code ID with PlatformIO.
This PR mirrors the changes in the main branch PR.
Advantages
All the editing and debugging features of Visual Studio Code are available
MUCH faster compile times if using PlatformIO, but the project still builds with the Arduino IDE
Faster flash speeds if using a hardware debugger, such as the ESP-Prog
The Arduino IDE does not need to be used, except to ensure the builds still work through it
Important changes
Submodules were added to the git project for automatically checking out all libraries needed in the PlatformIO environment
Once a clone of this project is made, git submodule update --init must be executed from the project root directory to clone the required library repositories into the appropriate directories.
These libraries are only used under PlatformIO, and are not used under the Arduino IDE
The FreeTouchDeck.ino file is in the root of the project directory, as the Arduino IDE requires it to be in a directory that's named the same as the file name
The FreeTouchDeck.ino file no longer contains any code, due to PlatformIO not supporting .ino files. That code is now located in src/FreeTouchDeck.cpp.
The file partitions.csv was added. It contains the partition map used to flash the ESP32 device as 2MB flash and 2MB SPIFFS. It is also required by PlatformIO's final binary check to confirm the binary is not too large.
The appropriate User_Setup.h file must be copied into lib/TFT_eSPI
Work remaining
The text in the FreeTouchDeck.ino file needs to be worded to tell Arduino IDE users where the various files are now located
The platformio.ini file needs to be fleshed out to support different build environments
This is an initial conversion of the FreeTouchDeck Arduino IDE project into a project that can compile both in the Arduino IDE and the Visual Studio Code ID with PlatformIO.
This PR mirrors the changes in the main branch PR.
Advantages
Important changes
git submodule update --init
must be executed from the project root directory to clone the required library repositories into the appropriate directories.FreeTouchDeck.ino
file is in the root of the project directory, as the Arduino IDE requires it to be in a directory that's named the same as the file nameFreeTouchDeck.ino
file no longer contains any code, due to PlatformIO not supporting.ino
files. That code is now located insrc/FreeTouchDeck.cpp
.partitions.csv
was added. It contains the partition map used to flash the ESP32 device as 2MB flash and 2MB SPIFFS. It is also required by PlatformIO's final binary check to confirm the binary is not too large.User_Setup.h
file must be copied intolib/TFT_eSPI
Work remaining