I like PlatformIO, but unfortunately, they do not support newer versions of the arduino-esp32 framework which are required for newer hardware (financial disagreement with espressif). Since I use espressif MCUs with the arduino-esp32 framework in all my nixie projects, I’m currently looking for alternatives. I found these options: - Arduino IDE - PlatformIO using pioarduino - pioarduino extension for Visual Studio Code - ESP-IDF extension for Visual Studio Code - ESP-IDF Eclipse plugin I have not made a decision yet, but I spent some time migrating the firmware of a project to the ESP-IDF extension for vscode. Maybe the following will be useful for someone. It’s not a tutorial, just some reformatted notes on how it worked for me. As always use at your own risk.
Using the ESP-IDF Extension for Visual Studio Code with the arduino-esp32 component ----------------------------------------------------------------------------------- + Install Visual Studio Code + Install the ESP-IDF extension + Click "Configure ESP-IDF extension" and select EXPRESS - Set download server to github - Select the latest version of ESP-IDF that supports the latest version of the arduino-esp32 component (https://github.com/espressif/arduino-esp32/releases) - Click install + After installation create an ESP arduino project as follows: - Click "Components Manager" or run command "Show ESP Component Registry" - Search and select arduino-esp32 - Go to examples, select hello_world and click "Create Project from this example" - Build the project - Close vscode and rename the project directory to the desired project name - Start vscode and use "open folder" to open the project folder - Copy the source files (c, cpp, hpp) to the main directory - Create an include directory - Copy the header files to the include directory + Edit CMakeList.txt in the main directory: - Register all c, cpp and hpp files in the directory, ignore h files - Specify include directories - Specify requirements For example: idf_component_register(SRCS "main.cpp" “driver.cpp” "helper.hpp" INCLUDE_DIRS "." "../include" "../components/Adafruit_BusIO" "../components/RTCLib" REQUIRES arduino-esp32 REQUIRES nvs_flash ) + Manually add arduino libraries: - Use command "Create New ESP-IDF Component" - Enter the name of the component, e.g. RTCLib - Delete everything in the components\RTCLib directory except CMakeList.txt - Manually copy the library code files (c, cpp, h, hpp) to the component\RTCLib directory - Edit CMakeList.txt file Example CMakeList.txt file for RTCLib: idf_component_register(SRCS "RTClib.cpp" "RTC_DS1307.cpp" "RTC_DS3231.cpp" "RTC_Micros.cpp" "RTC_Millis.cpp" "RTC_PCF8523.cpp" "RTC_PCF8563.cpp" INCLUDE_DIRS "." "../Adafruit_BusIO" REQUIRES arduino-esp32) If the library depends on other libraries add an idf_component.yml file, for example: dependencies: # Define local dependency with relative path Adafruit_BusIO: path: ../AdaFruit_BusIO Some sdk options: (change with the "SDK Configuration Editor") + Compiler options for debugging, performance and size: - Assertion Level - Optimization Level + Arduino options (not set if creating the arduino project manually without using the example): - Kernel set ConfigTICK_RATE_HZ = 1000 - TLS Key Exchange Methods Select "Enable pre-shared-key ciphersuites" - Arduino Configuration Select "Autostart Arduino setup and loop on boot" + A useful terminal command: - idf.py update-dependencies + Some useful vscode shortcuts: - Ctrl-Shift-P to "Show and Run Commands" - Alt-Shift-F to format code I used this to do a clean reinstall on windows: + vscode: - uninstall vscode - delete directory "%userprofile%\AppData\Roaming\Code" - delete directory "%userprofile%\.vscode" + esp-idf extension: - delete directory "%userprofile%\.espressif" - delete directory "%userprofile%\esp" -- You received this message because you are subscribed to the Google Groups "neonixie-l" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion, visit https://groups.google.com/d/msgid/neonixie-l/4d21066a-5674-462d-ac57-1f3e7abe3eean%40googlegroups.com.
