From d53130ce308456a6999a31663b870568451b1df1 Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Thu, 24 Feb 2022 10:10:32 +0100 Subject: [PATCH 01/28] Downgrade Arduino core to v1 --- .vscode/extensions.json | 19 +++++++++++-------- CHANGLELOG.md | 9 +++++++-- user_setups/esp32/_esp32.ini | 6 +++--- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index d304a5ef..d2311d2d 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,8 +1,11 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "ms-vscode.cpptools", - "platformio.platformio-ide" - ] -} +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "ms-vscode.cpptools", + "platformio.platformio-ide" + ], + "unwantedRecommendations": [ + "ms-vscode.cpptools-extension-pack" + ] +} diff --git a/CHANGLELOG.md b/CHANGLELOG.md index e77b0212..e94a3b51 100644 --- a/CHANGLELOG.md +++ b/CHANGLELOG.md @@ -17,6 +17,10 @@ ### Services - Add SimpleFTPServer to easily upload and download files to the plate *(one simultanious connection only)* +### Architecture +- Moved to Arduino 2.0.2 with native LittleFS library +- Moved to ESP-IDF 4.4 with fix for FragAttacks CVEs + ## v0.6.3 @@ -30,6 +34,9 @@ - Hide cursor during `antiburn` and `idle` if the pointer is enabled - Screenshot images now display properly in Safari on macOS/iOS (thanks @masto) +### MQTT +- Remember last `page` id for mqtt messages + ### Objects - `img.src` now accepts both `http` and `https` urls (thanks @htvekov) - `img.src` now accepts `png` and `binary` image urls, PSram is *highly* recommended @@ -53,8 +60,6 @@ - Expose the device URL in discovery message ### Architecture -- Moved to Arduino 2.0.2 with native LittleFS library -- Moved to ESP-IDF 4.4 with fix for FragAttacks CVEs - Prepare support for ESP32-S2 - **Breaking:** Removed support for ESP8266! diff --git a/user_setups/esp32/_esp32.ini b/user_setups/esp32/_esp32.ini index 2ca0862b..f944695f 100644 --- a/user_setups/esp32/_esp32.ini +++ b/user_setups/esp32/_esp32.ini @@ -105,19 +105,19 @@ extra_scripts = ${esp32.extra_scripts} [esp32_4mb] -extends = exp32, arduino_esp32_v2 +extends = exp32, arduino_esp32_v1 board_upload.flash_size=4MB board_upload.maximum_size = 4194304 board_build.partitions = user_setups/esp32/partitions_4MB.csv [esp32_8mb] -extends = exp32, arduino_esp32_v2 +extends = exp32, arduino_esp32_v1 board_upload.flash_size=8MB board_upload.maximum_size = 8388608 board_build.partitions = user_setups/esp32/partitions_8MB.csv [esp32_16mb] -extends = exp32, arduino_esp32_v2 +extends = exp32, arduino_esp32_v1 board_upload.flash_size = 16MB board_upload.maximum_size = 16777216 board_build.partitions = user_setups/esp32/partitions_16MB.csv From e8e78df7d9e36a714811920cfdd06c840badaaac Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Thu, 24 Feb 2022 11:26:11 +0100 Subject: [PATCH 02/28] FTp server fixes for Arduino v1 --- lib/SimpleFTPServer/FtpServer.cpp | 19 +++++++++++-------- lib/SimpleFTPServer/FtpServer.h | 17 +++++++++-------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/lib/SimpleFTPServer/FtpServer.cpp b/lib/SimpleFTPServer/FtpServer.cpp index 4ad53c04..678197d9 100644 --- a/lib/SimpleFTPServer/FtpServer.cpp +++ b/lib/SimpleFTPServer/FtpServer.cpp @@ -64,13 +64,14 @@ void FtpServer::end() DEBUG_PRINTLN(F("Stop server!")); if(client.connected()) { + DEBUG_PRINTLN(F("Disconnect client!")); disconnectClient(); } ftpServer.end(); dataServer.end(); - cmdStage = FTP_Init; + cmdStage = FTP_Stop; transferStage = FTP_Close; dataConn = FTP_NoConn; } @@ -1194,12 +1195,12 @@ bool FtpServer::doList() #endif { - if(dir.isDirectory()) { - data.print(F("+/,\t")); - DEBUG_PRINT(F("+/,\t")); + if(fileDir.isDirectory()) { + data.print(F("drw-rw-rw- 1 hasp hasp ")); + DEBUG_PRINT(F("drw-rw-rw- ")); } else { - data.print(F("+r,s")); - DEBUG_PRINT(F("+r,s")); + data.print(F("-rw-rw-rw- 1 hasp hasp ")); + DEBUG_PRINT(F("-rw-rw-rw- ")); } #if ESP8266 data.print(long(dir.fileSize())); @@ -1214,11 +1215,13 @@ bool FtpServer::doList() long fz = fileDir.size(); #else data.print(long(fileDir.size())); - data.print(F(",\t")); + data.print(F(" ")); + data.print(long(fileDir.getLastWrite())); + data.print(F(" ")); data.println(fileDir.name()); DEBUG_PRINT(long(fileDir.size())); - DEBUG_PRINT(F(",\t")); + DEBUG_PRINT(F(" ")); DEBUG_PRINTLN(fileDir.name()); #endif diff --git a/lib/SimpleFTPServer/FtpServer.h b/lib/SimpleFTPServer/FtpServer.h index 91e2ee2b..ff6300eb 100644 --- a/lib/SimpleFTPServer/FtpServer.h +++ b/lib/SimpleFTPServer/FtpServer.h @@ -260,13 +260,14 @@ #define FTP_FILE_WRITE_APPEND "a+" #define FTP_FILE_WRITE_CREATE "w+" #else - #if 1 - #include "LittleFS.h" - #define STORAGE_MANAGER LittleFS - #else - #include "LITTLEFS.h" - #define STORAGE_MANAGER LITTLEFS - #endif +#if ESP_ARDUINO_VERSION_MAJOR >= 2 + #include "FS.h" + #include "LittleFS.h" + #define STORAGE_MANAGER LittleFS +#else + #include "LITTLEFS.h" + #define STORAGE_MANAGER LITTLEFS +#endif #define FTP_FILE File #define FTP_DIR File @@ -514,7 +515,7 @@ private: #elif STORAGE_TYPE == STORAGE_FATFS return file->fileName(); #else - #if 1 + #if ESP_ARDUINO_VERSION_MAJOR >= 2 return file->path(); #else return file->name(); From 44355f24b99c6481d9c72ca18981dade17f3d976 Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Thu, 24 Feb 2022 13:22:28 +0100 Subject: [PATCH 03/28] Add support for ESP32-S2 #250 --- src/drv/tft/tft_driver_lovyangfx.cpp | 24 ++++++++++++++++-------- user_setups/esp32/_esp32.ini | 2 +- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/drv/tft/tft_driver_lovyangfx.cpp b/src/drv/tft/tft_driver_lovyangfx.cpp index 461e4cf5..7d2d799d 100644 --- a/src/drv/tft/tft_driver_lovyangfx.cpp +++ b/src/drv/tft/tft_driver_lovyangfx.cpp @@ -144,17 +144,25 @@ static lgfx::Bus_SPI* init_spi_bus(Preferences* prefs) case 1: // SPI_HOST (SPI1_HOST) is not supported by the SPI Master and SPI Slave driver on ESP32-S2 and later LOG_DEBUG(TAG_TFT, F("%s - %d"), __FILE__, __LINE__); - cfg.spi_host = SPI1_HOST; + cfg.spi_host = SPI_HOST; break; #endif - case 2: // HSPI on ESP32 and HSPI on ESP32-S2 + case 2: // HSPI on ESP32 and FSPI on ESP32-S2 LOG_DEBUG(TAG_TFT, F("%s - %d"), __FILE__, __LINE__); - cfg.spi_host = SPI2_HOST; +#ifdef CONFIG_IDF_TARGET_ESP32 + cfg.spi_host = HSPI_HOST; +#elif CONFIG_IDF_TARGET_ESP32S2 + cfg.spi_host = FSPI_HOST; +#endif break; case 3: - default: // VSPI on ESP32 and FSPI on ESP32-S2 + default: // VSPI on ESP32 and HSPI on ESP32-S2 LOG_DEBUG(TAG_TFT, F("%s - %d"), __FILE__, __LINE__); - cfg.spi_host = SPI3_HOST; +#ifdef CONFIG_IDF_TARGET_ESP32 + cfg.spi_host = VSPI_HOST; +#elif CONFIG_IDF_TARGET_ESP32S2 + cfg.spi_host = HSPI_HOST; +#endif } bus->config(cfg); // The set value is reflected on the bus. bus->init(); @@ -190,7 +198,7 @@ static void init_panel(lgfx::Panel_Device* panel, Preferences* prefs) cfg.invert = prefs->getBool("invert", INVERT_COLORS != 0); // true if the light and darkness of the panel is reversed #else - cfg.invert = prefs->getBool("invert", false); // true if the light and darkness of the panel is reversed + cfg.invert = prefs->getBool("invert", false); // true if the light and darkness of the panel is reversed #endif #ifdef TFT_RGB_ORDER cfg.rgb_order = prefs->getBool("rgb_order", true); // true if the red and blue of the panel are swapped @@ -336,8 +344,8 @@ void LovyanGfx::show_info() { LOG_VERBOSE(TAG_TFT, F("Interface : Serial")); auto panel = tft.getPanel(); - auto bus = (lgfx::Bus_SPI*)panel->getBus(); - auto cfg = bus->config(); // Get the structure for bus configuration. + auto bus = (lgfx::Bus_SPI*)panel->getBus(); + auto cfg = bus->config(); // Get the structure for bus configuration. tftPinInfo(F("MOSI"), cfg.pin_mosi); tftPinInfo(F("MISO"), cfg.pin_miso); tftPinInfo(F("SCLK"), cfg.pin_sclk); diff --git a/user_setups/esp32/_esp32.ini b/user_setups/esp32/_esp32.ini index f944695f..e80706fd 100644 --- a/user_setups/esp32/_esp32.ini +++ b/user_setups/esp32/_esp32.ini @@ -62,7 +62,7 @@ lib_ignore = ;LittleFS_esp32 ; for v2 lib_deps = - ;LittleFS_esp32 ; for v1 + lorol/LittleFS_esp32@^1.0.6 ; for v1 bodmer/TFT_eSPI@2.4.32 ;ESP Async WebServer git+https://github.com/fvanroie/ConsoleInput.git#dev From 817843558b29fa9766d95206cd508aed5d2be30e Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Thu, 24 Feb 2022 16:41:43 +0100 Subject: [PATCH 04/28] Update Lanbon for Arduino v1 and v2 --- src/dev/esp32/lanbonl8.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dev/esp32/lanbonl8.cpp b/src/dev/esp32/lanbonl8.cpp index f1c034b4..5104c7ba 100644 --- a/src/dev/esp32/lanbonl8.cpp +++ b/src/dev/esp32/lanbonl8.cpp @@ -9,10 +9,12 @@ #include "dev/esp32/esp32.h" #include "driver/pcnt.h" // Pulse count driver +#if ESP_ARDUINO_VERSION_MAJOR >= 2 #include "hal/pcnt_hal.h" #include "hal/gpio_hal.h" #include "soc/pcnt_periph.h" #include "esp_rom_gpio.h" +#endif #include "driver/adc.h" #include "esp_adc_cal.h" From 6ea280dbe927f83baa5a1569c6b7c34f2d16a4c5 Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Fri, 25 Feb 2022 10:14:13 +0100 Subject: [PATCH 05/28] Add HASP_USE_FREETYPE #249 --- src/hasp/hasp_font.cpp | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/hasp/hasp_font.cpp b/src/hasp/hasp_font.cpp index 16c333f7..88d37f30 100644 --- a/src/hasp/hasp_font.cpp +++ b/src/hasp/hasp_font.cpp @@ -1,7 +1,9 @@ #include #include "hasplib.h" +#if HASP_USE_FREETYPE > 0 #include "lv_freetype.h" +#endif #include "hasp_mem.h" #include "font/hasp_font_loader.h" @@ -51,28 +53,28 @@ static lv_font_t* font_add_to_list(const char* payload) lv_font_t* font = hasp_font_load(filename); char* name_p = NULL; -#if defined(ARDUINO_ARCH_ESP32) - if(!font) { - // Try .ttf file +#if defined(ARDUINO_ARCH_ESP32) && (HASP_USE_FREETYPE > 0) + // if(!font) { + // // Try .ttf file - size_t pos = font_split_payload(payload); - if(pos > 0 && pos < 56) { - uint16_t size = atoi(payload + pos); + // size_t pos = font_split_payload(payload); + // if(pos > 0 && pos < 56) { + // uint16_t size = atoi(payload + pos); - char fontname[64]; - memset(fontname, 0, sizeof(fontname)); - strncpy(fontname, payload, pos); - snprintf_P(filename, sizeof(filename), PSTR("L:\\%s.ttf"), fontname); + // char fontname[64]; + // memset(fontname, 0, sizeof(fontname)); + // strncpy(fontname, payload, pos); + // snprintf_P(filename, sizeof(filename), PSTR("L:\\%s.ttf"), fontname); - lv_ft_info_t info; - info.name = filename; - info.weight = size; - info.style = FT_FONT_STYLE_NORMAL; - if(lv_ft_font_init(&info)) { - font = info.font; - } - } - } + // lv_ft_info_t info; + // info.name = filename; + // info.weight = size; + // info.style = FT_FONT_STYLE_NORMAL; + // if(lv_ft_font_init(&info)) { + // font = info.font; + // } + // } + // } if(!font) { // Try .otf file From b9eacba04624ccceebc642bb8ca9d053eda6248a Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Fri, 25 Feb 2022 18:22:58 +0100 Subject: [PATCH 06/28] Add missing lv_ft_info_t #249 --- src/hasp/hasp_font.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/hasp/hasp_font.cpp b/src/hasp/hasp_font.cpp index 88d37f30..fa7b013f 100644 --- a/src/hasp/hasp_font.cpp +++ b/src/hasp/hasp_font.cpp @@ -3,6 +3,14 @@ #include "hasplib.h" #if HASP_USE_FREETYPE > 0 #include "lv_freetype.h" +#else +typedef struct +{ + const char* name; /* The name of the font file */ + lv_font_t* font; /* point to lvgl font */ + uint16_t weight; /* font size */ + uint16_t style; /* font style */ +} lv_ft_info_t; #endif #include "hasp_mem.h" From 14a15d544fdb74f0b6b779bfe3e16b5ac6ba81f7 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun, 27 Feb 2022 21:05:19 +0100 Subject: [PATCH 07/28] Tasmota core 2.0.2.3 based on idf44 and arduino commits from 24 Feb. --- user_setups/esp32/_esp32.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_setups/esp32/_esp32.ini b/user_setups/esp32/_esp32.ini index e80706fd..4fdf3857 100644 --- a/user_setups/esp32/_esp32.ini +++ b/user_setups/esp32/_esp32.ini @@ -126,7 +126,7 @@ board_build.partitions = user_setups/esp32/partitions_16MB.csv ; -- The Arduino ESP32 v2.0.2 with 3 available flash sizes: [arduino_esp32_v2] framework = arduino -platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip +platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.3/platform-espressif32-2.0.2.3.zip board_build.embed_files = data/edit.htm.gz data/style.css.gz From ed40f28b7a78b256d39ea5e8702919ef64ffe607 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 18:18:55 +0100 Subject: [PATCH 08/28] Fix bootloader path for ESP32 and ESP32S2 #307 --- tools/esp_merge_bin.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/esp_merge_bin.py b/tools/esp_merge_bin.py index ade42435..342d2afe 100644 --- a/tools/esp_merge_bin.py +++ b/tools/esp_merge_bin.py @@ -34,6 +34,8 @@ def copy_merge_bins(source, target, env): flash_size = env.GetProjectOption("board_upload.flash_size") bootloader = "{}tools{}sdk{}esp32{}bin{}bootloader_dio_40m.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, os.path.sep, os.path.sep, os.path.sep) + if not os.path.isfile(bootloader): + bootloader = "{}tools{}sdk{}bin{}bootloader_dio_40m.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, os.path.sep, os.path.sep, os.path.sep) partitions = "{}{}partitions.bin".format(env.subst("$BUILD_DIR"), os.path.sep) boot_app0 = "{}tools{}partitions{}boot_app0.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, os.path.sep) firmware_dst ="{}firmware{}{}_full_{}_{}.bin".format(OUTPUT_DIR, os.path.sep, name, flash_size, version) From 126fc09733cab4c39113c0a436cb52e81d87af88 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 18:39:14 +0100 Subject: [PATCH 09/28] Update LV_MEM_SIZE to 32kB on ESP32-S2 #250 --- include/lv_conf_v7.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/lv_conf_v7.h b/include/lv_conf_v7.h index eb086dae..fbc9d4c0 100644 --- a/include/lv_conf_v7.h +++ b/include/lv_conf_v7.h @@ -89,9 +89,9 @@ typedef int16_t lv_coord_t; #if defined(ARDUINO_ARCH_ESP8266) # define LV_MEM_SIZE (12 * 1024U) // Minimum 12 Kb #elif defined(ESP32S2) -# define LV_MEM_SIZE (20 * 1024U) // 20Kb is much better +# define LV_MEM_SIZE (32 * 1024U) // 32Kb on ESP32-S2 #elif defined(ARDUINO_ARCH_ESP32) -# define LV_MEM_SIZE (48 * 1024U) // 48Kb is much better +# define LV_MEM_SIZE (48 * 1024U) // 48Kb on ESP32 #else # define LV_MEM_SIZE (256 * 1024U) // native app #endif From 54be291d73f1d8c130eb1b592052d9d64c902ddf Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 20:59:57 +0100 Subject: [PATCH 10/28] Update Arduino to 2.0.2r3 --- user_setups/esp32/az-touch-mod-esp32_ili9341.ini | 4 ++-- user_setups/esp32/d1-mini-esp32_ili9341.ini | 2 +- user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini | 2 +- user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini | 2 +- user_setups/esp32/d1-r32-waveshare_ili9486.ini | 2 +- user_setups/esp32/esp32-dev_ili9488.ini | 2 +- user_setups/esp32/esp32-dev_ili9488_parallel.ini | 2 +- user_setups/esp32/esp32-one_st7796.ini | 2 +- user_setups/esp32/esp32-touchdown.ini | 2 +- user_setups/esp32/esp32cam_st7796.ini | 2 +- user_setups/esp32/freetouchdeck.ini | 2 +- user_setups/esp32/huzzah32-featherwing-24.ini | 2 +- user_setups/esp32/huzzah32-featherwing-35.ini | 2 +- user_setups/esp32/lanbon_l8.ini | 2 +- user_setups/esp32/lolin-d32-pro_ili9341.ini | 2 +- user_setups/esp32/m5stack_core2.ini | 2 +- user_setups/esp32/makerfabs-tft35-cap.ini | 2 +- user_setups/esp32/nodemcu-32s_st7796.ini | 2 +- user_setups/esp32/ttgo-esp32-poe_ili9341.ini | 2 +- user_setups/esp32/ttgo-lilygo-pi_ili9481.ini | 2 +- user_setups/esp32/ttgo-lilygo-pi_st7796.ini | 2 +- user_setups/esp32/ttgo-t7-v1.5_ili9341.ini | 2 +- user_setups/esp32/wt32-sc01.ini | 4 ++-- user_setups/esp32/yeacreate-nscreen32.ini | 2 +- 24 files changed, 26 insertions(+), 26 deletions(-) diff --git a/user_setups/esp32/az-touch-mod-esp32_ili9341.ini b/user_setups/esp32/az-touch-mod-esp32_ili9341.ini index 648cfba1..96c7ffe0 100644 --- a/user_setups/esp32/az-touch-mod-esp32_ili9341.ini +++ b/user_setups/esp32/az-touch-mod-esp32_ili9341.ini @@ -40,7 +40,7 @@ lib_ignore = ;endregion [env:az-touch-mod-esp32_ili9341_4MB] -extends = az-touch-mod-esp32_ili9341, esp32_4mb +extends = az-touch-mod-esp32_ili9341, esp32_4mb_v2 [env:az-touch-mod-esp32_ili9341_8MB] -extends = az-touch-mod-esp32_ili9341, esp32_8mb \ No newline at end of file +extends = az-touch-mod-esp32_ili9341, esp32_8mb_v2 \ No newline at end of file diff --git a/user_setups/esp32/d1-mini-esp32_ili9341.ini b/user_setups/esp32/d1-mini-esp32_ili9341.ini index 89c7e95a..8ee0134d 100644 --- a/user_setups/esp32/d1-mini-esp32_ili9341.ini +++ b/user_setups/esp32/d1-mini-esp32_ili9341.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:d1-mini-esp32_ili9341] -extends = esp32_4mb +extends = esp32_4mb_v2 board = wemos_d1_mini32 build_flags = diff --git a/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini b/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini index c4e9e5f2..809a4041 100644 --- a/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini +++ b/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini @@ -5,7 +5,7 @@ ;***************************************************; [env:d1-r32-unoshield_ili9341_adc] -extends = esp32_4mb +extends = esp32_4mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini b/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini index 14a92b1d..c5527651 100644 --- a/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini +++ b/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini @@ -5,7 +5,7 @@ ;***************************************************; [env:d1-r32-unoshield_ili9486_adc] -extends = esp32_4mb +extends = esp32_4mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/d1-r32-waveshare_ili9486.ini b/user_setups/esp32/d1-r32-waveshare_ili9486.ini index 2f17fffb..7586d8a6 100644 --- a/user_setups/esp32/d1-r32-waveshare_ili9486.ini +++ b/user_setups/esp32/d1-r32-waveshare_ili9486.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:d1-r32-waveshare_ili9486] -extends = esp32_4mb +extends = esp32_4mb_v2 board = wemos_d1_mini32 build_flags = diff --git a/user_setups/esp32/esp32-dev_ili9488.ini b/user_setups/esp32/esp32-dev_ili9488.ini index 268f9f9e..2a613bac 100644 --- a/user_setups/esp32/esp32-dev_ili9488.ini +++ b/user_setups/esp32/esp32-dev_ili9488.ini @@ -5,7 +5,7 @@ ;***************************************************; [env:esp32dev-ili9488] -extends = esp32_4mb +extends = esp32_4mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/esp32-dev_ili9488_parallel.ini b/user_setups/esp32/esp32-dev_ili9488_parallel.ini index fdbf2cf1..fa98ffbb 100644 --- a/user_setups/esp32/esp32-dev_ili9488_parallel.ini +++ b/user_setups/esp32/esp32-dev_ili9488_parallel.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:esp32dev-mrb3511] -extends = esp32_4mb +extends = esp32_4mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/esp32-one_st7796.ini b/user_setups/esp32/esp32-one_st7796.ini index 54e5bffc..d3b6d799 100644 --- a/user_setups/esp32/esp32-one_st7796.ini +++ b/user_setups/esp32/esp32-one_st7796.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:esp32-one_st7796] -extends = esp32_4mb +extends = esp32_4mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/esp32-touchdown.ini b/user_setups/esp32/esp32-touchdown.ini index b679009f..530db3b4 100644 --- a/user_setups/esp32/esp32-touchdown.ini +++ b/user_setups/esp32/esp32-touchdown.ini @@ -5,7 +5,7 @@ ;***************************************************; [env:esp32-touchdown] -extends = esp32_4mb +extends = esp32_4mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/esp32cam_st7796.ini b/user_setups/esp32/esp32cam_st7796.ini index 243aa3d8..83a455b7 100644 --- a/user_setups/esp32/esp32cam_st7796.ini +++ b/user_setups/esp32/esp32cam_st7796.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:esp32cam-st7796] -extends = esp32_4mb +extends = esp32_4mb_v2 board = esp32cam ;ESP32 CAM PINS diff --git a/user_setups/esp32/freetouchdeck.ini b/user_setups/esp32/freetouchdeck.ini index 3fd1ce17..aac3c93b 100644 --- a/user_setups/esp32/freetouchdeck.ini +++ b/user_setups/esp32/freetouchdeck.ini @@ -5,7 +5,7 @@ ;***************************************************; [freetouchdeck] -board = esp32dev +board = esp32dev_v2 build_flags = ${env.build_flags} diff --git a/user_setups/esp32/huzzah32-featherwing-24.ini b/user_setups/esp32/huzzah32-featherwing-24.ini index 36c06611..d44d908b 100644 --- a/user_setups/esp32/huzzah32-featherwing-24.ini +++ b/user_setups/esp32/huzzah32-featherwing-24.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:huzzah32-featherwing-24] -extends = esp32_4mb +extends = esp32_4mb_v2 board = featheresp32 build_flags = diff --git a/user_setups/esp32/huzzah32-featherwing-35.ini b/user_setups/esp32/huzzah32-featherwing-35.ini index 9e09ffba..fcfe4d75 100644 --- a/user_setups/esp32/huzzah32-featherwing-35.ini +++ b/user_setups/esp32/huzzah32-featherwing-35.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:huzzah32-featherwing-35] -extends = esp32_4mb +extends = esp32_4mb_v2 board = featheresp32 build_flags = diff --git a/user_setups/esp32/lanbon_l8.ini b/user_setups/esp32/lanbon_l8.ini index 9c999c53..b9b3ba61 100644 --- a/user_setups/esp32/lanbon_l8.ini +++ b/user_setups/esp32/lanbon_l8.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:lanbon_l8] -extends = esp32_8mb +extends = esp32_8mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/lolin-d32-pro_ili9341.ini b/user_setups/esp32/lolin-d32-pro_ili9341.ini index 898964b3..e0ea5b02 100644 --- a/user_setups/esp32/lolin-d32-pro_ili9341.ini +++ b/user_setups/esp32/lolin-d32-pro_ili9341.ini @@ -8,7 +8,7 @@ ; !! This board already defines TFT_CS, TFT_DC and TFT_RST !! [env:lolin-d32-pro_ili9341] -extends = esp32_16mb +extends = esp32_16mb_v2 board = lolin_d32_pro build_flags = diff --git a/user_setups/esp32/m5stack_core2.ini b/user_setups/esp32/m5stack_core2.ini index e7a7afb1..cc30b84b 100644 --- a/user_setups/esp32/m5stack_core2.ini +++ b/user_setups/esp32/m5stack_core2.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:m5stack-core2] -extends = esp32_16mb +extends = esp32_16mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/makerfabs-tft35-cap.ini b/user_setups/esp32/makerfabs-tft35-cap.ini index 898e5684..75159551 100644 --- a/user_setups/esp32/makerfabs-tft35-cap.ini +++ b/user_setups/esp32/makerfabs-tft35-cap.ini @@ -5,7 +5,7 @@ ;***************************************************; [env:makerfabs-tft35-cap] -extends = esp32_16mb +extends = esp32_16mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/nodemcu-32s_st7796.ini b/user_setups/esp32/nodemcu-32s_st7796.ini index a20c81a5..0d03e12c 100644 --- a/user_setups/esp32/nodemcu-32s_st7796.ini +++ b/user_setups/esp32/nodemcu-32s_st7796.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:nodemcu32s-raspi] -extends = esp32_4mb +extends = esp32_4mb_v2 board = nodemcu-32s build_flags = diff --git a/user_setups/esp32/ttgo-esp32-poe_ili9341.ini b/user_setups/esp32/ttgo-esp32-poe_ili9341.ini index a19b9dd5..d0613674 100644 --- a/user_setups/esp32/ttgo-esp32-poe_ili9341.ini +++ b/user_setups/esp32/ttgo-esp32-poe_ili9341.ini @@ -7,7 +7,7 @@ ;***************************************************; [env:ttgo_esp32_poe-ili9341] -extends = esp32_4mb +extends = esp32_4mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/ttgo-lilygo-pi_ili9481.ini b/user_setups/esp32/ttgo-lilygo-pi_ili9481.ini index f46f298e..af2af7e7 100644 --- a/user_setups/esp32/ttgo-lilygo-pi_ili9481.ini +++ b/user_setups/esp32/ttgo-lilygo-pi_ili9481.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:ttgo-lilygo-pi_ili9481] -extends = esp32_16mb +extends = esp32_16mb_v2 board = esp32dev #platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream diff --git a/user_setups/esp32/ttgo-lilygo-pi_st7796.ini b/user_setups/esp32/ttgo-lilygo-pi_st7796.ini index 11eac420..bae27608 100644 --- a/user_setups/esp32/ttgo-lilygo-pi_st7796.ini +++ b/user_setups/esp32/ttgo-lilygo-pi_st7796.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:ttgo-lilygo-pi_st7796] -extends = esp32_16mb +extends = esp32_16mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/ttgo-t7-v1.5_ili9341.ini b/user_setups/esp32/ttgo-t7-v1.5_ili9341.ini index a8c9401f..8094cb93 100644 --- a/user_setups/esp32/ttgo-t7-v1.5_ili9341.ini +++ b/user_setups/esp32/ttgo-t7-v1.5_ili9341.ini @@ -6,7 +6,7 @@ ;***************************************************; [env:ttgo-t7-v1.5_ili9341] -extends = esp32_4mb +extends = esp32_4mb_v2 board = esp32dev build_flags = diff --git a/user_setups/esp32/wt32-sc01.ini b/user_setups/esp32/wt32-sc01.ini index e7a778dd..1ec5d4b0 100644 --- a/user_setups/esp32/wt32-sc01.ini +++ b/user_setups/esp32/wt32-sc01.ini @@ -47,7 +47,7 @@ lib_ignore = ;endregion [env:wt32-sc01_4MB] -extends = wt32-sc01, esp32_4mb +extends = wt32-sc01, esp32_4mb_v2 [env:wt32-sc01_16MB] -extends = wt32-sc01, esp32_16mb +extends = wt32-sc01, esp32_16mb_v2 diff --git a/user_setups/esp32/yeacreate-nscreen32.ini b/user_setups/esp32/yeacreate-nscreen32.ini index fd31fd27..b36c04a1 100644 --- a/user_setups/esp32/yeacreate-nscreen32.ini +++ b/user_setups/esp32/yeacreate-nscreen32.ini @@ -6,7 +6,7 @@ ; untested config [env:yeacreate-nscreen32] -extends = esp32_16mb +extends = esp32_16mb_v2 board = esp32dev build_flags = From 44f2091bf2b93829852218e837d447cc065ee4ed Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 21:00:51 +0100 Subject: [PATCH 11/28] Add ESP32-S2 Solo board --- boards/esp32s2_solo1.json | 35 +++++++++++++++++++ .../esp32s2/s2-mini-esp32s2_ili9341.ini | 2 +- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 boards/esp32s2_solo1.json diff --git a/boards/esp32s2_solo1.json b/boards/esp32s2_solo1.json new file mode 100644 index 00000000..c2ae5c84 --- /dev/null +++ b/boards/esp32s2_solo1.json @@ -0,0 +1,35 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s2_out.ld" + }, + "core": "esp32", + "extra_flags": "-DBOARD_HAS_PSRAM -DCORE32SOLO1", + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "dout", + "mcu": "esp32s2", + "variant": "esp32s2", + "partitions": "esp32_partition_app1856k_spiffs320k.csv" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s2.cfg" + }, + "frameworks": [ + "espidf", + "arduino" + ], + "name": "Espressif Generic ESP32-S2", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-saola-1-v1.2.html", + "vendor": "Espressif" +} \ No newline at end of file diff --git a/user_setups/esp32s2/s2-mini-esp32s2_ili9341.ini b/user_setups/esp32s2/s2-mini-esp32s2_ili9341.ini index 3abc25c9..e8b3606c 100644 --- a/user_setups/esp32s2/s2-mini-esp32s2_ili9341.ini +++ b/user_setups/esp32s2/s2-mini-esp32s2_ili9341.ini @@ -7,7 +7,7 @@ [env:s2-mini-esp32s2_ili9341] extends = esp32s2_4mb_v2 -board = esp32s2 +board = esp32s2_solo1 build_flags = ${env.build_flags} From fcf7e43b828393be2987e6255359d0d3379509b2 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 21:04:04 +0100 Subject: [PATCH 12/28] Add LittleFS_esp32 to lib_ignore --- user_setups/esp32/lanbon_l8.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/user_setups/esp32/lanbon_l8.ini b/user_setups/esp32/lanbon_l8.ini index b9b3ba61..5cbeae0c 100644 --- a/user_setups/esp32/lanbon_l8.ini +++ b/user_setups/esp32/lanbon_l8.ini @@ -52,4 +52,5 @@ lib_ignore = ${env.lib_ignore} ${esp32.lib_ignore} ESP32 BLE Arduino + LittleFS_esp32 ;endregion From 2b2febf967109a17fbeb58722fc4ba17db0cf090 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 21:15:11 +0100 Subject: [PATCH 13/28] Add LittleFS_esp32 to lib_ignore --- user_setups/esp32/_esp32.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user_setups/esp32/_esp32.ini b/user_setups/esp32/_esp32.ini index 4fdf3857..63987e77 100644 --- a/user_setups/esp32/_esp32.ini +++ b/user_setups/esp32/_esp32.ini @@ -59,10 +59,10 @@ lib_ignore = lv_drv_fsmc_ili9341 lv_drivers AXP192 - ;LittleFS_esp32 ; for v2 + LittleFS_esp32 ; for v2 lib_deps = - lorol/LittleFS_esp32@^1.0.6 ; for v1 + ;lorol/LittleFS_esp32@^1.0.6 ; for v1 bodmer/TFT_eSPI@2.4.32 ;ESP Async WebServer git+https://github.com/fvanroie/ConsoleInput.git#dev From 456fedc2b8b54b6502b21d20ad1235dd9a85fa18 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 21:15:25 +0100 Subject: [PATCH 14/28] Remove mfix-esp32-psram-cache-issue --- user_setups/esp32s2/_esp32s2.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_setups/esp32s2/_esp32s2.ini b/user_setups/esp32s2/_esp32s2.ini index 150721f1..dd0decc0 100644 --- a/user_setups/esp32s2/_esp32s2.ini +++ b/user_setups/esp32s2/_esp32s2.ini @@ -73,7 +73,7 @@ lib_deps = ps_ram = -DBOARD_HAS_PSRAM - -mfix-esp32-psram-cache-issue ; uses 24kB + ;-mfix-esp32-psram-cache-issue ; uses 24kB extra_scripts = tools/littlefsbuilder.py From 4d912f0c71df9ae252948d1af4daefe934fbf895 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 21:19:16 +0100 Subject: [PATCH 15/28] Update Arduino to 2.0.2r3 --- user_setups/esp32/freetouchdeck.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user_setups/esp32/freetouchdeck.ini b/user_setups/esp32/freetouchdeck.ini index aac3c93b..92ffdd68 100644 --- a/user_setups/esp32/freetouchdeck.ini +++ b/user_setups/esp32/freetouchdeck.ini @@ -5,7 +5,7 @@ ;***************************************************; [freetouchdeck] -board = esp32dev_v2 +board = esp32dev build_flags = ${env.build_flags} @@ -50,7 +50,7 @@ lib_ignore = ;endregion [env:freetouchdeck_4MB] -extends = freetouchdeck, esp32_4mb +extends = freetouchdeck, esp32_4mb_v2 [env:freetouchdeck_8MB] -extends = freetouchdeck, esp32_8mb +extends = freetouchdeck, esp32_8mb_v2 From ecc4b5bd0b1a6fbc14084333c1b79b5eed010350 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 21:28:16 +0100 Subject: [PATCH 16/28] ini Tweaks --- user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini | 12 ------------ user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini | 10 ---------- user_setups/esp32/yeacreate-nscreen32.ini | 4 ---- 3 files changed, 26 deletions(-) diff --git a/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini b/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini index 809a4041..c092a60b 100644 --- a/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini +++ b/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini @@ -46,15 +46,3 @@ build_flags = ; -- Debugging options ----------------------------- ; -D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG - -;region -- Library options ------------------------------- -lib_deps = - ${env.lib_deps} - ${esp32.lib_deps} - ;git+https://github.com/s60sc/Adafruit_TouchScreen - adafruit/Adafruit TouchScreen @ ~1.1.2 - -lib_ignore = - ${env.lib_ignore} - ${esp32.lib_ignore} -;endregion diff --git a/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini b/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini index c5527651..766a4c3e 100644 --- a/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini +++ b/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini @@ -45,13 +45,3 @@ build_flags = ; -- Debugging options ----------------------------- ; -D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG - -;region -- Library options ------------------------------- -lib_deps = - ${env.lib_deps} - ${esp32.lib_deps} - -lib_ignore = - ${env.lib_ignore} - ${esp32.lib_ignore} -;endregion diff --git a/user_setups/esp32/yeacreate-nscreen32.ini b/user_setups/esp32/yeacreate-nscreen32.ini index b36c04a1..4302faac 100644 --- a/user_setups/esp32/yeacreate-nscreen32.ini +++ b/user_setups/esp32/yeacreate-nscreen32.ini @@ -57,8 +57,4 @@ lib_deps = ${env.lib_deps} ${esp32.lib_deps} git+https://github.com/netwizeBE/arduino-goodix.git - -lib_ignore = - ${env.lib_ignore} - ${esp32.lib_ignore} ;endregion \ No newline at end of file From 476d2687891e3e6c70dd579b1e7ea7f60925a24c Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 2 Mar 2022 22:07:16 +0100 Subject: [PATCH 17/28] Update to TFT_eSPI 2.4.42 --- CHANGLELOG.md | 2 +- user_setups/esp32/_esp32.ini | 2 +- user_setups/esp32s2/_esp32s2.ini | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGLELOG.md b/CHANGLELOG.md index e94a3b51..e9e0b476 100644 --- a/CHANGLELOG.md +++ b/CHANGLELOG.md @@ -63,7 +63,7 @@ - Prepare support for ESP32-S2 - **Breaking:** Removed support for ESP8266! -Updated libraries to ArduinoJson 6.19.2, ArduinoStreamUtils 1.6.2, TFT_eSPI 2.4.32, LovyanGFX 0.4.12 and Adafruit STMPE610 1.1.4 +Updated libraries to ArduinoJson 6.19.2, ArduinoStreamUtils 1.6.2, TFT_eSPI 2.4.42, LovyanGFX 0.4.12 and Adafruit STMPE610 1.1.4 ## v0.6.2 diff --git a/user_setups/esp32/_esp32.ini b/user_setups/esp32/_esp32.ini index 63987e77..178ac100 100644 --- a/user_setups/esp32/_esp32.ini +++ b/user_setups/esp32/_esp32.ini @@ -63,7 +63,7 @@ lib_ignore = lib_deps = ;lorol/LittleFS_esp32@^1.0.6 ; for v1 - bodmer/TFT_eSPI@2.4.32 + bodmer/TFT_eSPI@2.4.42 ;ESP Async WebServer git+https://github.com/fvanroie/ConsoleInput.git#dev diff --git a/user_setups/esp32s2/_esp32s2.ini b/user_setups/esp32s2/_esp32s2.ini index dd0decc0..4eea84c9 100644 --- a/user_setups/esp32s2/_esp32s2.ini +++ b/user_setups/esp32s2/_esp32s2.ini @@ -67,7 +67,7 @@ lib_ignore = AXP192 lib_deps = - bodmer/TFT_eSPI@2.4.32 + bodmer/TFT_eSPI@2.4.42 ;ESP Async WebServer git+https://github.com/fvanroie/ConsoleInput.git#dev From 7b067f7cc2ddc7a64e3e51f65ec95fb0f9fd42ee Mon Sep 17 00:00:00 2001 From: fvanroie Date: Sun, 6 Mar 2022 22:42:25 +0100 Subject: [PATCH 18/28] Fix for PWM moodlight crashes --- src/dev/esp32/esp32.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/dev/esp32/esp32.cpp b/src/dev/esp32/esp32.cpp index a8f1b50c..cc378ef9 100644 --- a/src/dev/esp32/esp32.cpp +++ b/src/dev/esp32/esp32.cpp @@ -185,7 +185,11 @@ void Esp32Device::set_backlight_pin(uint8_t pin) /* Setup Backlight Control Pin */ if(pin < GPIO_NUM_MAX) { LOG_VERBOSE(TAG_GUI, F("Backlight : Pin %d"), pin); - ledcSetup(BACKLIGHT_CHANNEL, 2000, 10); +#ifndef ESP32S2 + ledcSetup(BACKLIGHT_CHANNEL, 20000, 12); +#else + ledcSetup(BACKLIGHT_CHANNEL, 20000, 10); +#endif ledcAttachPin(pin, BACKLIGHT_CHANNEL); update_backlight(); } else { @@ -218,9 +222,15 @@ bool Esp32Device::get_backlight_power() void Esp32Device::update_backlight() { if(_backlight_pin < GPIO_NUM_MAX) { +#ifndef ESP32S2 + uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 4095) : 0; + if(_backlight_invert) duty = 4095 - duty; + ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value +#else uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0; if(_backlight_invert) duty = 1023 - duty; ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value +#endif } // haspTft.tft.writecommand(0x53); // Write CTRL Display @@ -330,7 +340,7 @@ long Esp32Device::get_uptime() // #warning Building for Lanbon L8 #include "dev/esp32/lanbonl8.h" #elif defined(M5STACK) - // #warning Building for M5Stack core2 + // #warning Building for M5Stack core2 #include "dev/esp32/m5stackcore2.h" #else dev::Esp32Device haspDevice; From ed3ff69fc82338be321ff397c8ba56997491ce1b Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 9 Mar 2022 11:14:40 +0100 Subject: [PATCH 19/28] Update to ArduinoJson 6.19.3 --- .vscode/extensions.json | 3 --- CHANGLELOG.md | 2 +- platformio.ini | 26 +++++++++++++++++++- user_setups/darwin_sdl/darwin_sdl_64bits.ini | 2 +- user_setups/linux_sdl/linux_sdl_64bits.ini | 2 +- user_setups/win32/windows_sdl_64bits.ini | 2 +- 6 files changed, 29 insertions(+), 8 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index d2311d2d..9a44568a 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -4,8 +4,5 @@ "recommendations": [ "ms-vscode.cpptools", "platformio.platformio-ide" - ], - "unwantedRecommendations": [ - "ms-vscode.cpptools-extension-pack" ] } diff --git a/CHANGLELOG.md b/CHANGLELOG.md index e9e0b476..d9029bb7 100644 --- a/CHANGLELOG.md +++ b/CHANGLELOG.md @@ -63,7 +63,7 @@ - Prepare support for ESP32-S2 - **Breaking:** Removed support for ESP8266! -Updated libraries to ArduinoJson 6.19.2, ArduinoStreamUtils 1.6.2, TFT_eSPI 2.4.42, LovyanGFX 0.4.12 and Adafruit STMPE610 1.1.4 +Updated libraries to ArduinoJson 6.19.3, ArduinoStreamUtils 1.6.2, TFT_eSPI 2.4.42, LovyanGFX 0.4.14 and Adafruit STMPE610 1.1.4 ## v0.6.2 diff --git a/platformio.ini b/platformio.ini index e2d0866b..2e45733a 100644 --- a/platformio.ini +++ b/platformio.ini @@ -74,7 +74,7 @@ build_flags = ; Warning : don't put comments after github links => causes infinite download loop lib_deps = bxparks/AceButton@^1.9.1 ; GPIO button library - bblanchon/ArduinoJson@^6.19.2 ; Json(l) parser + bblanchon/ArduinoJson@^6.19.3 ; Json(l) parser bblanchon/StreamUtils@^1.6.2 ; for EEPromStream and BufferedTelnetClient knolleary/PubSubClient@^2.8.0 ; MQTT client ;git+https://github.com/fvanroie/ConsoleInput.git @@ -95,3 +95,27 @@ lib_deps = ;https://github.com/me-no-dev/ESPAsyncTCP/archive/master.zip src_filter = +<*> -<.git/> - - - - - + +[lovyangfx] +lib_deps = + lovyan03/LovyanGFX @ ^0.4.14 + +[tft_espi] +lib_deps = + bodmer/TFT_eSPI @ 2.4.42 + +[goodix] +lib_deps = + git+https://github.com/netwizeBE/arduino-goodix.git + +[ft6336] +lib_deps = + git+https://github.com/aselectroworks/Arduino-FT6336U.git + +[gsl1680] +lib_deps = + git+https://github.com/arovak/GSL2038.git + +[stmpe610] +lib_deps = + adafruit/Adafruit STMPE610 @ ^1.1.4 \ No newline at end of file diff --git a/user_setups/darwin_sdl/darwin_sdl_64bits.ini b/user_setups/darwin_sdl/darwin_sdl_64bits.ini index 3c48963c..5adf997d 100644 --- a/user_setups/darwin_sdl/darwin_sdl_64bits.ini +++ b/user_setups/darwin_sdl/darwin_sdl_64bits.ini @@ -67,7 +67,7 @@ lib_deps = ; lv_drivers@~7.9.1 ;lv_drivers=https://github.com/littlevgl/lv_drivers/archive/7d71907c1d6b02797d066f50984b866e080ebeed.zip https://github.com/eclipse/paho.mqtt.c.git - bblanchon/ArduinoJson@^6.19.2 ; Json(l) parser + bblanchon/ArduinoJson@^6.19.3 ; Json(l) parser https://github.com/fvanroie/lv_drivers git+https://github.com/lvgl/lv_lib_png.git#release/v7 diff --git a/user_setups/linux_sdl/linux_sdl_64bits.ini b/user_setups/linux_sdl/linux_sdl_64bits.ini index 08a21c44..ebaa7aae 100644 --- a/user_setups/linux_sdl/linux_sdl_64bits.ini +++ b/user_setups/linux_sdl/linux_sdl_64bits.ini @@ -61,7 +61,7 @@ lib_deps = ;lv_drivers@~7.9.0 ;lv_drivers=https://github.com/littlevgl/lv_drivers/archive/7d71907c1d6b02797d066f50984b866e080ebeed.zip https://github.com/eclipse/paho.mqtt.c.git - bblanchon/ArduinoJson@^6.19.2 ; Json(l) parser + bblanchon/ArduinoJson@^6.19.3 ; Json(l) parser https://github.com/fvanroie/lv_drivers lib_ignore = diff --git a/user_setups/win32/windows_sdl_64bits.ini b/user_setups/win32/windows_sdl_64bits.ini index b4693af7..e114f15c 100644 --- a/user_setups/win32/windows_sdl_64bits.ini +++ b/user_setups/win32/windows_sdl_64bits.ini @@ -92,7 +92,7 @@ lib_deps = ;lv_drivers@~7.9.0 ;lv_drivers=https://github.com/littlevgl/lv_drivers/archive/7d71907c1d6b02797d066f50984b866e080ebeed.zip https://github.com/eclipse/paho.mqtt.c.git - bblanchon/ArduinoJson@^6.19.2 ; Json(l) parser + bblanchon/ArduinoJson@^6.19.3 ; Json(l) parser https://github.com/fvanroie/lv_drivers lib_ignore = From 749781587fc46cb264b25317c3b5f11650b2a274 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 9 Mar 2022 11:39:30 +0100 Subject: [PATCH 20/28] Add git short hash to bin files #308 --- tools/auto_firmware_version.py | 30 ++++++++++++++++++++++++++++++ tools/esp_merge_bin.py | 20 ++++++++++++++++++-- 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 tools/auto_firmware_version.py diff --git a/tools/auto_firmware_version.py b/tools/auto_firmware_version.py new file mode 100644 index 00000000..2d25c1f4 --- /dev/null +++ b/tools/auto_firmware_version.py @@ -0,0 +1,30 @@ +import pkg_resources + +Import("env") + +required_pkgs = {'dulwich'} +installed_pkgs = {pkg.key for pkg in pkg_resources.working_set} +missing_pkgs = required_pkgs - installed_pkgs + +if missing_pkgs: + env.Execute('$PYTHONEXE -m pip install dulwich --global-option="--pure"') + +from dulwich import porcelain +from dulwich.repo import Repo + +def get_firmware_specifier_build_flag(): + build_version = porcelain.describe('.') # '.' refers to the repository root dir + build_flag = "-D AUTO_VERSION=\\\"" + build_version + "\\\"" + print ("Firmware Revision: " + build_version) + return (build_flag) + +def get_firmware_commit_hash(): + r = Repo('.') + commit_hash = r.head().decode("utf-8")[0:7] + build_flag = "-D COMMIT_HASH=\\\"" + commit_hash + "\\\"" + print ("Commit Hash: " + commit_hash) + return (build_flag) + +env.Append( + BUILD_FLAGS=[get_firmware_commit_hash()] +) \ No newline at end of file diff --git a/tools/esp_merge_bin.py b/tools/esp_merge_bin.py index 342d2afe..12862dba 100644 --- a/tools/esp_merge_bin.py +++ b/tools/esp_merge_bin.py @@ -3,6 +3,7 @@ import os import sys import shutil import subprocess +import pkg_resources buildFlags = env.ParseFlags(env['BUILD_FLAGS']) OUTPUT_DIR = "build_output{}".format(os.path.sep) @@ -11,6 +12,21 @@ platform = env.PioPlatform() FRAMEWORK_DIR = platform.get_package_dir("framework-arduinoespressif32") FRAMEWORK_DIR = "{}{}".format(FRAMEWORK_DIR, os.path.sep) +required_pkgs = {'dulwich'} +installed_pkgs = {pkg.key for pkg in pkg_resources.working_set} +missing_pkgs = required_pkgs - installed_pkgs + +if missing_pkgs: + env.Execute('$PYTHONEXE -m pip install dulwich --global-option="--pure"') + +from dulwich import porcelain +from dulwich.repo import Repo + +def get_firmware_commit_hash(): + r = Repo('.') + commit_hash = r.head().decode("utf-8")[0:7] + print ("Commit Hash: " + commit_hash) + return (commit_hash) def get_fw_version(source, target, env): global HASP_VER_MAJ @@ -28,7 +44,7 @@ def get_fw_version(source, target, env): def copy_merge_bins(source, target, env): - version = 'v' + str(HASP_VER_MAJ) + '.' + str(HASP_VER_MIN) + '.' + str(HASP_VER_REV) + version = 'v' + str(HASP_VER_MAJ) + '.' + str(HASP_VER_MIN) + '.' + str(HASP_VER_REV) + '_' + get_firmware_commit_hash() name = str(target[0]).split(os.path.sep)[2] name = name.replace('_4MB', '').replace('_8MB', '').replace('_16MB', '').replace('_32MB', '') flash_size = env.GetProjectOption("board_upload.flash_size") @@ -70,7 +86,7 @@ def copy_merge_bins(source, target, env): print(stderr.decode("utf-8") ) def copy_ota(source, target, env): - version = 'v' + str(HASP_VER_MAJ) + '.' + str(HASP_VER_MIN) + '.' + str(HASP_VER_REV) + version = 'v' + str(HASP_VER_MAJ) + '.' + str(HASP_VER_MIN) + '.' + str(HASP_VER_REV) + '_' + get_firmware_commit_hash() name =str(target[0]).split(os.path.sep)[2] name = name.replace('_4MB', '').replace('_8MB', '').replace('_16MB', '').replace('_32MB', '') From d927b49caa95590d1bdd0f52e988c66db1232c9d Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 9 Mar 2022 11:40:41 +0100 Subject: [PATCH 21/28] Add BACKLIGHT_FREQUENCY --- src/dev/esp32/esp32.cpp | 4 ++-- src/dev/esp32/esp32.h | 4 ++++ user_setups/esp32s2/wt-86-32-3zw1.ini | 8 +++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/dev/esp32/esp32.cpp b/src/dev/esp32/esp32.cpp index cc378ef9..626387f1 100644 --- a/src/dev/esp32/esp32.cpp +++ b/src/dev/esp32/esp32.cpp @@ -186,9 +186,9 @@ void Esp32Device::set_backlight_pin(uint8_t pin) if(pin < GPIO_NUM_MAX) { LOG_VERBOSE(TAG_GUI, F("Backlight : Pin %d"), pin); #ifndef ESP32S2 - ledcSetup(BACKLIGHT_CHANNEL, 20000, 12); + ledcSetup(BACKLIGHT_CHANNEL, BACKLIGHT_FREQUENCY, 12); #else - ledcSetup(BACKLIGHT_CHANNEL, 20000, 10); + ledcSetup(BACKLIGHT_CHANNEL, BACKLIGHT_FREQUENCY, 10); #endif ledcAttachPin(pin, BACKLIGHT_CHANNEL); update_backlight(); diff --git a/src/dev/esp32/esp32.h b/src/dev/esp32/esp32.h index 2b228da5..71fc307c 100644 --- a/src/dev/esp32/esp32.h +++ b/src/dev/esp32/esp32.h @@ -9,6 +9,10 @@ #if defined(ESP32) +#ifndef BACKLIGHT_FREQUENCY +#define BACKLIGHT_FREQUENCY 20000 +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/user_setups/esp32s2/wt-86-32-3zw1.ini b/user_setups/esp32s2/wt-86-32-3zw1.ini index 73f887fb..3a4e8821 100644 --- a/user_setups/esp32s2/wt-86-32-3zw1.ini +++ b/user_setups/esp32s2/wt-86-32-3zw1.ini @@ -2,7 +2,7 @@ ; Wireless-Tag WT-86-32-3ZW1 ; ; - custom ESP32-S2 pcb ; ; - ili9488 TFT 8-bit ; -; - gls1680 touch controller ; +; - gsl1680 touch controller ; ;***************************************************; [env:wt-86-32-3zw1] @@ -45,20 +45,22 @@ build_flags = -D LGFX_USE_V1=1 -D SUPPORT_TRANSACTIONS -D SPI_TOUCH_FREQUENCY=2500000 - -D TOUCH_DRIVER=0x1680 ; GLS1680 Capacitive I2C touch panel driver + -D TOUCH_DRIVER=0x1680 ; GSL1680 Capacitive I2C touch panel driver -D I2C_TOUCH_PORT=0 -D I2C_TOUCH_ADDRESS=0x40 -D I2C_TOUCH_FREQUENCY=400000 + + -D BACKLIGHT_FREQUENCY=2000 ;endregion ;region -- Library options ------------------------------- lib_deps = ${env.lib_deps} ${esp32s2.lib_deps} + ${gsl1680.lib_deps} ;lovyan03/LovyanGFX @ ^0.4.14 https://github.com/lovyan03/LovyanGFX.git#1be6600 - git+https://github.com/arovak/GSL2038.git lib_ignore = ${env.lib_ignore} From 7af944f0087e2178e281a9e68f514e339278c625 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 9 Mar 2022 11:43:17 +0100 Subject: [PATCH 22/28] Update lib_deps --- user_setups/esp32/_esp32.ini | 6 +++--- user_setups/esp32/az-touch-mod-esp32_ili9341.ini | 1 + user_setups/esp32/d1-mini-esp32_ili9341.ini | 1 + user_setups/esp32/d1-r32-waveshare_ili9486.ini | 1 + user_setups/esp32/esp32-dev_ili9488.ini | 1 + user_setups/esp32/esp32-dev_ili9488_parallel.ini | 8 ++++---- user_setups/esp32/esp32-one_st7796.ini | 1 + user_setups/esp32/esp32-touchdown.ini | 3 ++- user_setups/esp32/esp32cam_st7796.ini | 1 + user_setups/esp32/freetouchdeck.ini | 1 + user_setups/esp32/huzzah32-featherwing-24.ini | 3 ++- user_setups/esp32/huzzah32-featherwing-35.ini | 3 ++- user_setups/esp32/lanbon_l8.ini | 3 ++- user_setups/esp32/lolin-d32-pro_ili9341.ini | 1 + user_setups/esp32/m5stack_core2.ini | 3 ++- user_setups/esp32/makerfabs-tft35-cap.ini | 3 ++- user_setups/esp32/nodemcu-32s_st7796.ini | 1 + user_setups/esp32/ttgo-esp32-poe_ili9341.ini | 1 + user_setups/esp32/ttgo-lilygo-pi_ili9481.ini | 5 ++--- user_setups/esp32/ttgo-lilygo-pi_st7796.ini | 6 ++---- user_setups/esp32/ttgo-t7-v1.5_ili9341.ini | 1 + user_setups/esp32/wt32-sc01.ini | 3 ++- user_setups/esp32/yeacreate-nscreen32.ini | 16 +++++++++++++--- user_setups/esp32s2/_esp32s2.ini | 2 +- user_setups/esp32s2/esp32s2-featherwing-24.ini | 4 ++-- user_setups/esp32s2/esp32s2-metro.ini | 4 ++-- user_setups/esp32s2/makerfabs-tft-s2.ini | 2 +- user_setups/esp32s2/s2-mini-esp32s2_ili9341.ini | 2 +- 28 files changed, 56 insertions(+), 31 deletions(-) diff --git a/user_setups/esp32/_esp32.ini b/user_setups/esp32/_esp32.ini index 178ac100..e45a1aa9 100644 --- a/user_setups/esp32/_esp32.ini +++ b/user_setups/esp32/_esp32.ini @@ -63,11 +63,11 @@ lib_ignore = lib_deps = ;lorol/LittleFS_esp32@^1.0.6 ; for v1 - bodmer/TFT_eSPI@2.4.42 - ;ESP Async WebServer + ${tft_espi.lib_deps} git+https://github.com/fvanroie/ConsoleInput.git#dev extra_scripts = + pre:tools/auto_firmware_version.py tools/littlefsbuilder.py tools/esp_merge_bin.py tools/analyze_elf.py @@ -93,7 +93,7 @@ hspi = ; -- The Arduino ESP32 v1.0.6 with 3 available flash sizes: [arduino_esp32_v1] framework = arduino -platform = espressif32@^3.3.2 +platform = espressif32@^3.5.0 board_build.embed_files = data/edit.htm.gz data/style.css.gz diff --git a/user_setups/esp32/az-touch-mod-esp32_ili9341.ini b/user_setups/esp32/az-touch-mod-esp32_ili9341.ini index 96c7ffe0..6440c181 100644 --- a/user_setups/esp32/az-touch-mod-esp32_ili9341.ini +++ b/user_setups/esp32/az-touch-mod-esp32_ili9341.ini @@ -33,6 +33,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/d1-mini-esp32_ili9341.ini b/user_setups/esp32/d1-mini-esp32_ili9341.ini index 8ee0134d..d13035ca 100644 --- a/user_setups/esp32/d1-mini-esp32_ili9341.ini +++ b/user_setups/esp32/d1-mini-esp32_ili9341.ini @@ -30,6 +30,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/d1-r32-waveshare_ili9486.ini b/user_setups/esp32/d1-r32-waveshare_ili9486.ini index 7586d8a6..bd8b4619 100644 --- a/user_setups/esp32/d1-r32-waveshare_ili9486.ini +++ b/user_setups/esp32/d1-r32-waveshare_ili9486.ini @@ -40,6 +40,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/esp32-dev_ili9488.ini b/user_setups/esp32/esp32-dev_ili9488.ini index 2a613bac..7bead00a 100644 --- a/user_setups/esp32/esp32-dev_ili9488.ini +++ b/user_setups/esp32/esp32-dev_ili9488.ini @@ -41,6 +41,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/esp32-dev_ili9488_parallel.ini b/user_setups/esp32/esp32-dev_ili9488_parallel.ini index fa98ffbb..15c1ef23 100644 --- a/user_setups/esp32/esp32-dev_ili9488_parallel.ini +++ b/user_setups/esp32/esp32-dev_ili9488_parallel.ini @@ -43,10 +43,10 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} - adafruit/Adafruit GFX Library @ ^1.10.3 - adafruit/Adafruit BusIO @ ^1.6.0 - ; GT911 touch screen driver - git+https://github.com/netwizeBE/arduino-goodix.git + ${tft_espi.lib_deps} + ${goodix.lib_deps} + ; adafruit/Adafruit GFX Library @ ^1.10.3 + ; adafruit/Adafruit BusIO @ ^1.6.0 lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/esp32-one_st7796.ini b/user_setups/esp32/esp32-one_st7796.ini index d3b6d799..d8ff9c3f 100644 --- a/user_setups/esp32/esp32-one_st7796.ini +++ b/user_setups/esp32/esp32-one_st7796.ini @@ -36,6 +36,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/esp32-touchdown.ini b/user_setups/esp32/esp32-touchdown.ini index 530db3b4..fb9ed43d 100644 --- a/user_setups/esp32/esp32-touchdown.ini +++ b/user_setups/esp32/esp32-touchdown.ini @@ -44,7 +44,8 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} - git+https://github.com/aselectroworks/Arduino-FT6336U.git + ${tft_espi.lib_deps} + ${ft6336.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/esp32cam_st7796.ini b/user_setups/esp32/esp32cam_st7796.ini index 83a455b7..7f5e173b 100644 --- a/user_setups/esp32/esp32cam_st7796.ini +++ b/user_setups/esp32/esp32cam_st7796.ini @@ -33,6 +33,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/freetouchdeck.ini b/user_setups/esp32/freetouchdeck.ini index 92ffdd68..82b83a4f 100644 --- a/user_setups/esp32/freetouchdeck.ini +++ b/user_setups/esp32/freetouchdeck.ini @@ -43,6 +43,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/huzzah32-featherwing-24.ini b/user_setups/esp32/huzzah32-featherwing-24.ini index d44d908b..536a92ff 100644 --- a/user_setups/esp32/huzzah32-featherwing-24.ini +++ b/user_setups/esp32/huzzah32-featherwing-24.ini @@ -30,7 +30,8 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} - adafruit/Adafruit STMPE610@^1.1.4 ;STMPE610 touch controller + ${tft_espi.lib_deps} + ${stmpe610.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/huzzah32-featherwing-35.ini b/user_setups/esp32/huzzah32-featherwing-35.ini index fcfe4d75..38f120a1 100644 --- a/user_setups/esp32/huzzah32-featherwing-35.ini +++ b/user_setups/esp32/huzzah32-featherwing-35.ini @@ -31,7 +31,8 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} - adafruit/Adafruit STMPE610@^1.1.4 ;STMPE610 touch controller + ${tft_espi.lib_deps} + ${stmpe610.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/lanbon_l8.ini b/user_setups/esp32/lanbon_l8.ini index 5cbeae0c..ee17597d 100644 --- a/user_setups/esp32/lanbon_l8.ini +++ b/user_setups/esp32/lanbon_l8.ini @@ -44,9 +44,10 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} ; FT6336U is 6x faster then FocalTech Library ;git+https://github.com/lewisxhe/FocalTech_Library.git - git+https://github.com/aselectroworks/Arduino-FT6336U.git + ${ft6336.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/lolin-d32-pro_ili9341.ini b/user_setups/esp32/lolin-d32-pro_ili9341.ini index e0ea5b02..411421b7 100644 --- a/user_setups/esp32/lolin-d32-pro_ili9341.ini +++ b/user_setups/esp32/lolin-d32-pro_ili9341.ini @@ -33,6 +33,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/m5stack_core2.ini b/user_setups/esp32/m5stack_core2.ini index cc30b84b..0469d5ef 100644 --- a/user_setups/esp32/m5stack_core2.ini +++ b/user_setups/esp32/m5stack_core2.ini @@ -36,7 +36,8 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} - git+https://github.com/aselectroworks/Arduino-FT6336U.git + ${tft_espi.lib_deps} + ${ft6336.lib_deps} https://github.com/fvanroie/M5Core2.git#AXP192 lib_ignore = diff --git a/user_setups/esp32/makerfabs-tft35-cap.ini b/user_setups/esp32/makerfabs-tft35-cap.ini index 75159551..51557e74 100644 --- a/user_setups/esp32/makerfabs-tft35-cap.ini +++ b/user_setups/esp32/makerfabs-tft35-cap.ini @@ -40,7 +40,8 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} - git+https://github.com/aselectroworks/Arduino-FT6336U.git + ${tft_espi.lib_deps} + ${ft6336.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/nodemcu-32s_st7796.ini b/user_setups/esp32/nodemcu-32s_st7796.ini index 0d03e12c..3fb4c37f 100644 --- a/user_setups/esp32/nodemcu-32s_st7796.ini +++ b/user_setups/esp32/nodemcu-32s_st7796.ini @@ -31,6 +31,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/ttgo-esp32-poe_ili9341.ini b/user_setups/esp32/ttgo-esp32-poe_ili9341.ini index d0613674..4568e3df 100644 --- a/user_setups/esp32/ttgo-esp32-poe_ili9341.ini +++ b/user_setups/esp32/ttgo-esp32-poe_ili9341.ini @@ -36,6 +36,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/ttgo-lilygo-pi_ili9481.ini b/user_setups/esp32/ttgo-lilygo-pi_ili9481.ini index af2af7e7..98cf362c 100644 --- a/user_setups/esp32/ttgo-lilygo-pi_ili9481.ini +++ b/user_setups/esp32/ttgo-lilygo-pi_ili9481.ini @@ -55,11 +55,10 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${lovyangfx.lib_deps} + ${goodix.lib_deps} adafruit/Adafruit GFX Library @ ^1.10.3 adafruit/Adafruit BusIO @ ^1.6.0 - ; GT911 touch screen driver - ; git+https://github.com/netwizeBE/arduino-goodix.git - lovyan03/LovyanGFX @ ^0.4.12 lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/ttgo-lilygo-pi_st7796.ini b/user_setups/esp32/ttgo-lilygo-pi_st7796.ini index bae27608..a067c37f 100644 --- a/user_setups/esp32/ttgo-lilygo-pi_st7796.ini +++ b/user_setups/esp32/ttgo-lilygo-pi_st7796.ini @@ -49,12 +49,10 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${lovyangfx.lib_deps} + ${ft6336.lib_deps} adafruit/Adafruit GFX Library @ ^1.10.3 adafruit/Adafruit BusIO @ ^1.6.0 - ; GT911 touch screen driver - ; git+https://github.com/netwizeBE/arduino-goodix.git - ; git+https://github.com/aselectroworks/Arduino-FT6336U.git - lovyan03/LovyanGFX @ ^0.4.12 lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/ttgo-t7-v1.5_ili9341.ini b/user_setups/esp32/ttgo-t7-v1.5_ili9341.ini index 8094cb93..f6ae2fef 100644 --- a/user_setups/esp32/ttgo-t7-v1.5_ili9341.ini +++ b/user_setups/esp32/ttgo-t7-v1.5_ili9341.ini @@ -33,6 +33,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} + ${tft_espi.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/wt32-sc01.ini b/user_setups/esp32/wt32-sc01.ini index 1ec5d4b0..422f5ac3 100644 --- a/user_setups/esp32/wt32-sc01.ini +++ b/user_setups/esp32/wt32-sc01.ini @@ -39,7 +39,8 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} - git+https://github.com/aselectroworks/Arduino-FT6336U.git + ${tft_espi.lib_deps} + ${ft6336.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32/yeacreate-nscreen32.ini b/user_setups/esp32/yeacreate-nscreen32.ini index 4302faac..2b92d03c 100644 --- a/user_setups/esp32/yeacreate-nscreen32.ini +++ b/user_setups/esp32/yeacreate-nscreen32.ini @@ -6,7 +6,7 @@ ; untested config [env:yeacreate-nscreen32] -extends = esp32_16mb_v2 +extends = esp32_16mb board = esp32dev build_flags = @@ -17,7 +17,8 @@ build_flags = -D HASP_MODEL="YeaCreate Nscreen32" ;region -- TFT_eSPI build options ------------------------ - -D USER_SETUP_LOADED=1 + ;-D USER_SETUP_LOADED=1 + -D LGFX_USE_V1=1 -D ST7796_DRIVER=1 -D ESP32_PARALLEL=1 -D TFT_ROTATION=0 ; 0=0, 1=90, 2=180 or 3=270 degree @@ -56,5 +57,14 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32.lib_deps} - git+https://github.com/netwizeBE/arduino-goodix.git + bodmer/TFT_eSPI @ 2.4.32 + ; ${tft_espi.lib_deps} + ${goodix.lib_deps} + ; https://github.com/lovyan03/LovyanGFX.git#1be6600 + lorol/LittleFS_esp32@^1.0.6 ; for v1 + +lib_ignore = + ${env.lib_ignore} + ;${esp32.lib_ignore} + ; TFT_eSPI ;endregion \ No newline at end of file diff --git a/user_setups/esp32s2/_esp32s2.ini b/user_setups/esp32s2/_esp32s2.ini index 4eea84c9..2ddc63a0 100644 --- a/user_setups/esp32s2/_esp32s2.ini +++ b/user_setups/esp32s2/_esp32s2.ini @@ -67,7 +67,7 @@ lib_ignore = AXP192 lib_deps = - bodmer/TFT_eSPI@2.4.42 + ${tft_espi.lib_deps} ;ESP Async WebServer git+https://github.com/fvanroie/ConsoleInput.git#dev diff --git a/user_setups/esp32s2/esp32s2-featherwing-24.ini b/user_setups/esp32s2/esp32s2-featherwing-24.ini index d3558a2f..0654b9e8 100644 --- a/user_setups/esp32s2/esp32s2-featherwing-24.ini +++ b/user_setups/esp32s2/esp32s2-featherwing-24.ini @@ -45,8 +45,8 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32s2.lib_deps} - adafruit/Adafruit STMPE610@^1.1.4 ;STMPE610 touch controller - lovyan03/LovyanGFX @ ^0.4.12 + ${stmpe610.lib_deps} + ${lovyangfx.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32s2/esp32s2-metro.ini b/user_setups/esp32s2/esp32s2-metro.ini index 32d76957..9e48297c 100644 --- a/user_setups/esp32s2/esp32s2-metro.ini +++ b/user_setups/esp32s2/esp32s2-metro.ini @@ -59,8 +59,8 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32s2.lib_deps} - adafruit/Adafruit STMPE610@^1.1.4 ;STMPE610 touch controller - lovyan03/LovyanGFX @ ^0.4.12 + ${stmpe610.lib_deps} + ${lovyangfx.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32s2/makerfabs-tft-s2.ini b/user_setups/esp32s2/makerfabs-tft-s2.ini index 945ca498..9990f9cb 100644 --- a/user_setups/esp32s2/makerfabs-tft-s2.ini +++ b/user_setups/esp32s2/makerfabs-tft-s2.ini @@ -47,7 +47,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32s2.lib_deps} - lovyan03/LovyanGFX @ ^0.4.12 + ${lovyangfx.lib_deps} lib_ignore = ${env.lib_ignore} diff --git a/user_setups/esp32s2/s2-mini-esp32s2_ili9341.ini b/user_setups/esp32s2/s2-mini-esp32s2_ili9341.ini index e8b3606c..36d5bda5 100644 --- a/user_setups/esp32s2/s2-mini-esp32s2_ili9341.ini +++ b/user_setups/esp32s2/s2-mini-esp32s2_ili9341.ini @@ -45,7 +45,7 @@ build_flags = lib_deps = ${env.lib_deps} ${esp32s2.lib_deps} - lovyan03/LovyanGFX @ ^0.4.12 + ${lovyangfx.lib_deps} lib_ignore = ${env.lib_ignore} From 06ea14fd7cc8406982f92b8065cd5ffd4225f0fb Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 9 Mar 2022 14:30:00 +0100 Subject: [PATCH 23/28] Add COMMIT_HASH to info endpoint #308 --- src/hasp/hasp.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/hasp/hasp.cpp b/src/hasp/hasp.cpp index ac3c4bbf..43125256 100644 --- a/src/hasp/hasp.cpp +++ b/src/hasp/hasp.cpp @@ -649,7 +649,12 @@ void hasp_get_info(JsonDocument& doc) char size_buf[32]; JsonObject info = doc.createNestedObject(F(D_MANUFACTURER)); - info[F(D_INFO_VERSION)] = haspDevice.get_version(); + buffer = haspDevice.get_version(); +#ifdef COMMIT_HASH + buffer += " "; + buffer += COMMIT_HASH; +#endif + info[F(D_INFO_VERSION)] = buffer; buffer = __DATE__; buffer += (" "); From 0c4a192c9467617d0c9e892bae15f91324df50cc Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 9 Mar 2022 14:30:35 +0100 Subject: [PATCH 24/28] PWM resolution fix --- src/dev/esp32/esp32.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dev/esp32/esp32.cpp b/src/dev/esp32/esp32.cpp index 626387f1..2057f9d9 100644 --- a/src/dev/esp32/esp32.cpp +++ b/src/dev/esp32/esp32.cpp @@ -185,8 +185,8 @@ void Esp32Device::set_backlight_pin(uint8_t pin) /* Setup Backlight Control Pin */ if(pin < GPIO_NUM_MAX) { LOG_VERBOSE(TAG_GUI, F("Backlight : Pin %d"), pin); -#ifndef ESP32S2 - ledcSetup(BACKLIGHT_CHANNEL, BACKLIGHT_FREQUENCY, 12); +#if !defined(CONFIG_IDF_TARGET_ESP32S2) + ledcSetup(BACKLIGHT_CHANNEL, BACKLIGHT_FREQUENCY, 10); #else ledcSetup(BACKLIGHT_CHANNEL, BACKLIGHT_FREQUENCY, 10); #endif @@ -222,9 +222,9 @@ bool Esp32Device::get_backlight_power() void Esp32Device::update_backlight() { if(_backlight_pin < GPIO_NUM_MAX) { -#ifndef ESP32S2 - uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 4095) : 0; - if(_backlight_invert) duty = 4095 - duty; +#if !defined(CONFIG_IDF_TARGET_ESP32S2) + uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0; + if(_backlight_invert) duty = 1023 - duty; ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value #else uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0; From e5332a3aad19a399194bcf31add3bcacf3e2c130 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 9 Mar 2022 15:52:42 +0100 Subject: [PATCH 25/28] TFT_eSPI not compatible with Arduino v2 --- .vscode/extensions.json | 3 +++ .../esp32/d1-r32-unoshield_ili9341_adc.ini | 17 ++++++++++++++++- .../esp32/d1-r32-unoshield_ili9486_adc.ini | 17 ++++++++++++++++- user_setups/esp32/yeacreate-nscreen32.ini | 4 ++-- 4 files changed, 37 insertions(+), 4 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 9a44568a..d2311d2d 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -4,5 +4,8 @@ "recommendations": [ "ms-vscode.cpptools", "platformio.platformio-ide" + ], + "unwantedRecommendations": [ + "ms-vscode.cpptools-extension-pack" ] } diff --git a/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini b/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini index c092a60b..a5ba4ee2 100644 --- a/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini +++ b/user_setups/esp32/d1-r32-unoshield_ili9341_adc.ini @@ -5,7 +5,7 @@ ;***************************************************; [env:d1-r32-unoshield_ili9341_adc] -extends = esp32_4mb_v2 +extends = esp32_4mb board = esp32dev build_flags = @@ -46,3 +46,18 @@ build_flags = ; -- Debugging options ----------------------------- ; -D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG + +;region -- Library options ------------------------------- +lib_deps = + ${env.lib_deps} + ${esp32.lib_deps} + bodmer/TFT_eSPI @ 2.4.32 + ; ${tft_espi.lib_deps} + ; https://github.com/lovyan03/LovyanGFX.git#1be6600 + lorol/LittleFS_esp32@^1.0.6 ; for v1 + +lib_ignore = + ${env.lib_ignore} + ;${esp32.lib_ignore} + ; TFT_eSPI +;endregion \ No newline at end of file diff --git a/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini b/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini index 766a4c3e..b092869a 100644 --- a/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini +++ b/user_setups/esp32/d1-r32-unoshield_ili9486_adc.ini @@ -5,7 +5,7 @@ ;***************************************************; [env:d1-r32-unoshield_ili9486_adc] -extends = esp32_4mb_v2 +extends = esp32_4mb board = esp32dev build_flags = @@ -45,3 +45,18 @@ build_flags = ; -- Debugging options ----------------------------- ; -D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG + +;region -- Library options ------------------------------- +lib_deps = + ${env.lib_deps} + ${esp32.lib_deps} + bodmer/TFT_eSPI @ 2.4.32 + ; ${tft_espi.lib_deps} + ; https://github.com/lovyan03/LovyanGFX.git#1be6600 + lorol/LittleFS_esp32@^1.0.6 ; for v1 + +lib_ignore = + ${env.lib_ignore} + ;${esp32.lib_ignore} + ; TFT_eSPI +;endregion \ No newline at end of file diff --git a/user_setups/esp32/yeacreate-nscreen32.ini b/user_setups/esp32/yeacreate-nscreen32.ini index 2b92d03c..bbcbd3dc 100644 --- a/user_setups/esp32/yeacreate-nscreen32.ini +++ b/user_setups/esp32/yeacreate-nscreen32.ini @@ -17,8 +17,8 @@ build_flags = -D HASP_MODEL="YeaCreate Nscreen32" ;region -- TFT_eSPI build options ------------------------ - ;-D USER_SETUP_LOADED=1 - -D LGFX_USE_V1=1 + -D USER_SETUP_LOADED=1 + ;-D LGFX_USE_V1=1 -D ST7796_DRIVER=1 -D ESP32_PARALLEL=1 -D TFT_ROTATION=0 ; 0=0, 1=90, 2=180 or 3=270 degree From 88a478d28e5cbdef18de7318e359771872bd1c70 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Sat, 12 Mar 2022 14:32:09 +0100 Subject: [PATCH 26/28] Use correct mcu chip for S2 bootloader #250 --- tools/esp_merge_bin.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/esp_merge_bin.py b/tools/esp_merge_bin.py index 12862dba..727dddec 100644 --- a/tools/esp_merge_bin.py +++ b/tools/esp_merge_bin.py @@ -49,7 +49,10 @@ def copy_merge_bins(source, target, env): name = name.replace('_4MB', '').replace('_8MB', '').replace('_16MB', '').replace('_32MB', '') flash_size = env.GetProjectOption("board_upload.flash_size") - bootloader = "{}tools{}sdk{}esp32{}bin{}bootloader_dio_40m.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, os.path.sep, os.path.sep, os.path.sep) + board = env.BoardConfig() + mcu = board.get("build.mcu", "esp32") + + bootloader = "{}tools{}sdk{}{}{}bin{}bootloader_dio_40m.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, mcu, os.path.sep, os.path.sep, os.path.sep) if not os.path.isfile(bootloader): bootloader = "{}tools{}sdk{}bin{}bootloader_dio_40m.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, os.path.sep, os.path.sep, os.path.sep) partitions = "{}{}partitions.bin".format(env.subst("$BUILD_DIR"), os.path.sep) @@ -77,7 +80,7 @@ def copy_merge_bins(source, target, env): print(firmware_dst) print(flash_size) - process = subprocess.Popen(['python', 'tools/esptool_with_merge_bin.py', '--chip', 'esp32', 'merge_bin', '--output', firmware_dst, '--flash_mode', 'dio', '--flash_size', flash_size, '0x1000', bootloader, '0x8000', partitions, '0xe000', boot_app0, '0x10000', firmware_src], + process = subprocess.Popen(['python', 'tools/esptool_with_merge_bin.py', '--chip', mcu, 'merge_bin', '--output', firmware_dst, '--flash_mode', 'dio', '--flash_size', flash_size, '0x1000', bootloader, '0x8000', partitions, '0xe000', boot_app0, '0x10000', firmware_src], stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = process.communicate() From bbb6b099b37156069cfbbe1b3d64e056606af50c Mon Sep 17 00:00:00 2001 From: fvanroie Date: Sat, 12 Mar 2022 16:08:28 +0100 Subject: [PATCH 27/28] Fix INVERT_COLORS in lovyan driver #220 --- src/drv/tft/tft_driver_lovyangfx.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/drv/tft/tft_driver_lovyangfx.cpp b/src/drv/tft/tft_driver_lovyangfx.cpp index 7d2d799d..30d9512e 100644 --- a/src/drv/tft/tft_driver_lovyangfx.cpp +++ b/src/drv/tft/tft_driver_lovyangfx.cpp @@ -194,12 +194,12 @@ static void init_panel(lgfx::Panel_Device* panel, Preferences* prefs) prefs->getUInt("dummy_read_bits", 1); // bits of dummy read before reading data other than pixels cfg.readable = prefs->getBool("readable", false); // true if data can be read -#ifdef INVERT_COLORS - cfg.invert = - prefs->getBool("invert", INVERT_COLORS != 0); // true if the light and darkness of the panel is reversed -#else +// #ifdef INVERT_COLORS // This is configurable un Web UI +// cfg.invert = +// prefs->getBool("invert", INVERT_COLORS != 0); // true if the light and darkness of the panel is reversed +// #else cfg.invert = prefs->getBool("invert", false); // true if the light and darkness of the panel is reversed -#endif +// #endif #ifdef TFT_RGB_ORDER cfg.rgb_order = prefs->getBool("rgb_order", true); // true if the red and blue of the panel are swapped #else From 028640e37dfb45df78a7f686ace223c338d8368f Mon Sep 17 00:00:00 2001 From: fvanroie Date: Sat, 12 Mar 2022 16:59:22 +0100 Subject: [PATCH 28/28] Fix typo --- user_setups/esp32/_esp32.ini | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user_setups/esp32/_esp32.ini b/user_setups/esp32/_esp32.ini index e45a1aa9..9e21497b 100644 --- a/user_setups/esp32/_esp32.ini +++ b/user_setups/esp32/_esp32.ini @@ -105,19 +105,19 @@ extra_scripts = ${esp32.extra_scripts} [esp32_4mb] -extends = exp32, arduino_esp32_v1 +extends = esp32, arduino_esp32_v1 board_upload.flash_size=4MB board_upload.maximum_size = 4194304 board_build.partitions = user_setups/esp32/partitions_4MB.csv [esp32_8mb] -extends = exp32, arduino_esp32_v1 +extends = esp32, arduino_esp32_v1 board_upload.flash_size=8MB board_upload.maximum_size = 8388608 board_build.partitions = user_setups/esp32/partitions_8MB.csv [esp32_16mb] -extends = exp32, arduino_esp32_v1 +extends = esp32, arduino_esp32_v1 board_upload.flash_size = 16MB board_upload.maximum_size = 16777216 board_build.partitions = user_setups/esp32/partitions_16MB.csv @@ -138,19 +138,19 @@ extra_scripts = ${esp32.extra_scripts} [esp32_4mb_v2] -extends = exp32, arduino_esp32_v2 +extends = esp32, arduino_esp32_v2 board_upload.flash_size=4MB board_upload.maximum_size = 4194304 board_build.partitions = user_setups/esp32/partitions_4MB.csv [esp32_8mb_v2] -extends = exp32, arduino_esp32_v2 +extends = esp32, arduino_esp32_v2 board_upload.flash_size=8MB board_upload.maximum_size = 8388608 board_build.partitions = user_setups/esp32/partitions_8MB.csv [esp32_16mb_v2] -extends = exp32, arduino_esp32_v2 +extends = esp32, arduino_esp32_v2 board_upload.flash_size = 16MB board_upload.maximum_size = 16777216 board_build.partitions = user_setups/esp32/partitions_16MB.csv