diff --git a/docs/builds_overview.py b/docs/builds_overview.py index 204cb4a03..46e219ad3 100644 --- a/docs/builds_overview.py +++ b/docs/builds_overview.py @@ -12,6 +12,7 @@ # When adding or removing a build set, this script may need adjustments! # Changelog: +# 2025-10-05 tonhuisman: Adjustments for Display A and Display B split # 2024-05-04 tonhuisman: Working and documented # 2024-04-28 tonhuisman: Initial script @@ -30,8 +31,9 @@ appendBuilds = {'MAX'} # What build set to add plugins also appendAlso = { - 'NORMAL': {'CLIMATE', 'COLLECTION A', 'COLLECTION B', 'COLLECTION C', 'COLLECTION D', 'COLLECTION E', 'COLLECTION F', 'COLLECTION G', 'DISPLAY', 'ENERGY', 'IR', 'IRext', 'NEOPIXEL'}, - 'COLLECTION': {'COLLECTION A', 'COLLECTION B', 'COLLECTION C', 'COLLECTION D', 'COLLECTION E', 'COLLECTION F', 'COLLECTION G'} + 'NORMAL': {'CLIMATE', 'COLLECTION A', 'COLLECTION B', 'COLLECTION C', 'COLLECTION D', 'COLLECTION E', 'COLLECTION F', 'COLLECTION G', 'DISPLAY A', 'DISPLAY B', 'ENERGY', 'IR', 'IRext', 'NEOPIXEL'}, + 'COLLECTION': {'COLLECTION A', 'COLLECTION B', 'COLLECTION C', 'COLLECTION D', 'COLLECTION E', 'COLLECTION F', 'COLLECTION G'}, + 'DISPLAY': {'DISPLAY A', 'DISPLAY B'} } # Ignore these, not real build sets @@ -40,7 +42,8 @@ excludeBuilds = {'DEVELOPMENT', 'RETIRED'} # Plugins not included excludePlugins = { 'CLIMATE': {'P007', 'P008', 'P009', 'P017', 'P022', 'P027', 'P030', 'P035', 'P040', 'P041', 'P042', 'P045'}, - 'DISPLAY': {'P070'}, + 'DISPLAY A': {'P038', 'P041', 'P042', 'P070'}, + 'DISPLAY B': {'P038', 'P041', 'P042', 'P057', 'P070', 'P075', 'P104'}, 'MAX': {'P089'}, # 'NEOPIXEL': {''}, 'NORMAL': {'P016', 'P035'}, @@ -57,7 +60,8 @@ buildColors = { 'COLLECTION F': 'yellow', 'COLLECTION G': 'yellow', 'CLIMATE': 'yellow', - 'DISPLAY': 'yellow', + 'DISPLAY A': 'yellow', + 'DISPLAY B': 'yellow', 'ENERGY': 'yellow', 'IR': 'yellow', 'IRext': 'yellow', diff --git a/docs/source/Plugin/_plugin_substitutions_p01x.repl b/docs/source/Plugin/_plugin_substitutions_p01x.repl index f88b837fb..c9f68c4ac 100644 --- a/docs/source/Plugin/_plugin_substitutions_p01x.repl +++ b/docs/source/Plugin/_plugin_substitutions_p01x.repl @@ -28,7 +28,7 @@ .. |P012_type| replace:: :cyan:`Display` .. |P012_typename| replace:: :cyan:`Display - LCD2004` .. |P012_porttype| replace:: `.` -.. |P012_status| replace:: :green:`NORMAL` :yellow:`DISPLAY` :yellow:`CLIMATE` +.. |P012_status| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`DISPLAY A` .. |P012_github| replace:: P012_LCD.ino .. _P012_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P012_LCD.ino .. |P012_usedby| replace:: `.` diff --git a/docs/source/Plugin/_plugin_substitutions_p02x.repl b/docs/source/Plugin/_plugin_substitutions_p02x.repl index 1a9d4fd51..eb1c1005d 100644 --- a/docs/source/Plugin/_plugin_substitutions_p02x.repl +++ b/docs/source/Plugin/_plugin_substitutions_p02x.repl @@ -41,7 +41,7 @@ .. |P023_type| replace:: :cyan:`Display` .. |P023_typename| replace:: :cyan:`Display - OLED SSD1306` .. |P023_porttype| replace:: `.` -.. |P023_status| replace:: :green:`NORMAL` :yellow:`DISPLAY` :yellow:`CLIMATE` +.. |P023_status| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`DISPLAY A` .. |P023_github| replace:: P023_OLED.ino .. _P023_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P023_OLED.ino .. |P023_usedby| replace:: `.` diff --git a/docs/source/Plugin/_plugin_substitutions_p07x.repl b/docs/source/Plugin/_plugin_substitutions_p07x.repl index c6be0725b..280f933fe 100644 --- a/docs/source/Plugin/_plugin_substitutions_p07x.repl +++ b/docs/source/Plugin/_plugin_substitutions_p07x.repl @@ -68,7 +68,7 @@ .. |P075_type| replace:: :cyan:`Display` .. |P075_typename| replace:: :cyan:`Display - Nextion` .. |P075_porttype| replace:: `.` -.. |P075_status| replace:: :yellow:`DISPLAY` :yellow:`COLLECTION` +.. |P075_status| replace:: :yellow:`COLLECTION` :yellow:`DISPLAY A` .. |P075_github| replace:: P075_Nextion.ino .. _P075_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P075_Nextion.ino .. |P075_usedby| replace:: `.` diff --git a/docs/source/Plugin/_plugin_substitutions_p09x.repl b/docs/source/Plugin/_plugin_substitutions_p09x.repl index 0154a7f40..233db6d8e 100644 --- a/docs/source/Plugin/_plugin_substitutions_p09x.repl +++ b/docs/source/Plugin/_plugin_substitutions_p09x.repl @@ -63,7 +63,7 @@ .. |P095_type| replace:: :cyan:`Display` .. |P095_typename| replace:: :cyan:`Display - TFT ILI934x/ILI948x` .. |P095_porttype| replace:: `.` -.. |P095_status| replace:: :yellow:`DISPLAY` :yellow:`COLLECTION` :yellow:`(ESP32)` +.. |P095_status| replace:: :yellow:`COLLECTION` :yellow:`\(ESP32\)` :yellow:`DISPLAY B` .. |P095_github| replace:: _P095_ILI9341.ino .. _P095_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P095_ILI9341.ino .. |P095_usedby| replace:: `.` @@ -102,7 +102,7 @@ .. |P099_type| replace:: :cyan:`Touch` .. |P099_typename| replace:: :cyan:`Touch - XPT2046 touchscreen on TFT display` .. |P099_porttype| replace:: `SPI` -.. |P099_status| replace:: :yellow:`DISPLAY` +.. |P099_status| replace:: :yellow:`DISPLAY B` .. |P099_github| replace:: _P099_XPT2046Touch.ino .. _P099_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P099_XPT2046Touch.ino .. |P099_usedby| replace:: `.` diff --git a/docs/source/Plugin/_plugin_substitutions_p10x.repl b/docs/source/Plugin/_plugin_substitutions_p10x.repl index 6099d1014..6768b77e0 100644 --- a/docs/source/Plugin/_plugin_substitutions_p10x.repl +++ b/docs/source/Plugin/_plugin_substitutions_p10x.repl @@ -55,7 +55,7 @@ .. |P104_type| replace:: :cyan:`Display` .. |P104_typename| replace:: :cyan:`Display - MAX7219 dot matrix` .. |P104_porttype| replace:: `SPI` -.. |P104_status| replace:: :yellow:`DISPLAY` +.. |P104_status| replace:: :yellow:`DISPLAY A` .. |P104_github| replace:: P104_max7219_Dotmatrix.ino .. _P104_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P104_max7210_Dotmatrix.ino .. |P104_usedby| replace:: `.` diff --git a/docs/source/Plugin/_plugin_substitutions_p11x.repl b/docs/source/Plugin/_plugin_substitutions_p11x.repl index 12a1398a9..3dcf40c9e 100644 --- a/docs/source/Plugin/_plugin_substitutions_p11x.repl +++ b/docs/source/Plugin/_plugin_substitutions_p11x.repl @@ -80,7 +80,7 @@ .. |P116_type| replace:: :cyan:`Display` .. |P116_typename| replace:: :cyan:`Display - ST77xx TFT` .. |P116_porttype| replace:: `.` -.. |P116_status| replace:: :yellow:`DISPLAY` +.. |P116_status| replace:: :yellow:`DISPLAY B` .. |P116_github| replace:: _P116_ST77xx.ino .. _P116_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P116_ST77xx.ino .. |P116_usedby| replace:: `.` diff --git a/docs/source/Plugin/_plugin_substitutions_p12x.repl b/docs/source/Plugin/_plugin_substitutions_p12x.repl index 7d03c8ef9..26cd48c12 100644 --- a/docs/source/Plugin/_plugin_substitutions_p12x.repl +++ b/docs/source/Plugin/_plugin_substitutions_p12x.repl @@ -41,7 +41,7 @@ .. |P123_type| replace:: :cyan:`Touch` .. |P123_typename| replace:: :cyan:`Touch - I2C Touchscreens` .. |P123_porttype| replace:: `.` -.. |P123_status| replace:: :yellow:`DISPLAY` +.. |P123_status| replace:: :yellow:`DISPLAY B` .. |P123_github| replace:: P123_I2CTouch.ino .. _P123_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P123_I2CTouch.ino .. |P123_usedby| replace:: `.` diff --git a/docs/source/Plugin/_plugin_substitutions_p14x.repl b/docs/source/Plugin/_plugin_substitutions_p14x.repl index 3996585e1..49ff184bc 100644 --- a/docs/source/Plugin/_plugin_substitutions_p14x.repl +++ b/docs/source/Plugin/_plugin_substitutions_p14x.repl @@ -15,7 +15,7 @@ .. |P141_type| replace:: :cyan:`Display` .. |P141_typename| replace:: :cyan:`Display - PCD8544 Nokia 5110 LCD` .. |P141_porttype| replace:: `.` -.. |P141_status| replace:: :yellow:`DISPLAY` +.. |P141_status| replace:: :yellow:`DISPLAY B` .. |P141_github| replace:: P141_PCD8544_Nokia5110.ino .. _P141_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P141_PCD8544_Nokia5110.ino .. |P141_usedby| replace:: `.` @@ -106,7 +106,7 @@ .. |P148_type| replace:: :cyan:`Display` .. |P148_typename| replace:: :cyan:`Display - POWR3xxD/THR3xxD` .. |P148_porttype| replace:: `.` -.. |P148_status| replace:: :yellow:`ENERGY` :yellow:`DISPLAY` +.. |P148_status| replace:: :yellow:`DISPLAY B` :yellow:`ENERGY` .. |P148_github| replace:: P148_POWRxxD_THR3xxD.ino .. _P148_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P148_POWRxxD_THR3xxD.ino .. |P148_usedby| replace:: `.` diff --git a/docs/source/Plugin/_plugin_substitutions_p16x.repl b/docs/source/Plugin/_plugin_substitutions_p16x.repl index 843ffeea8..82079032e 100644 --- a/docs/source/Plugin/_plugin_substitutions_p16x.repl +++ b/docs/source/Plugin/_plugin_substitutions_p16x.repl @@ -41,7 +41,7 @@ .. |P165_type| replace:: :cyan:`Display` .. |P165_typename| replace:: :cyan:`Display - NeoPixel (7-Segment)` .. |P165_porttype| replace:: `.` -.. |P165_status| replace:: :yellow:`DISPLAY` :yellow:`NEOPIXEL` +.. |P165_status| replace:: :yellow:`NEOPIXEL` .. |P165_github| replace:: P165_7SegNeopixel.ino .. _P165_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P165_7SegNeopixel.ino .. |P165_usedby| replace:: `.` diff --git a/platformio_esp32_envs.ini b/platformio_esp32_envs.ini index 93412c0b1..da566d704 100644 --- a/platformio_esp32_envs.ini +++ b/platformio_esp32_envs.ini @@ -246,15 +246,24 @@ build_flags = ${esp32_common_LittleFS_ETH.build_flags} -DPLUGIN_ENERGY_COLLECTION -[env:display_ESP32_4M316k_LittleFS] -extends = esp32_common_LittleFS +[env:display_A_ESP32_4M316k_LittleFS_ETH] +extends = esp32_common_LittleFS_ETH board = esp32_4M build_flags = ${esp32_common_LittleFS.build_flags} -DFEATURE_ARDUINO_OTA=1 - -DPLUGIN_DISPLAY_COLLECTION + -DPLUGIN_DISPLAY_A_COLLECTION -D ST7789_EXTRA_INIT=1 -D P116_EXTRA_ST7789=1 - + +[env:display_B_ESP32_4M316k_LittleFS_ETH] +extends = esp32_common_LittleFS_ETH +board = esp32_4M +build_flags = ${esp32_common_LittleFS_ETH.build_flags} + -DFEATURE_ARDUINO_OTA=1 + -DPLUGIN_DISPLAY_B_COLLECTION + -D ST7789_EXTRA_INIT=1 + -D P116_EXTRA_ST7789=1 + [env:climate_ESP32_4M316k_LittleFS_ETH] diff --git a/platformio_esp32c3_envs.ini b/platformio_esp32c3_envs.ini index 6648747ca..4b1a77f9b 100644 --- a/platformio_esp32c3_envs.ini +++ b/platformio_esp32c3_envs.ini @@ -78,10 +78,17 @@ build_flags = ${esp32c3_common_LittleFS.build_flags} -D PLUGIN_ENERGY_COLLECTION -[env:display_ESP32c3_4M316k_LittleFS] +[env:display_A_ESP32c3_4M316k_LittleFS_ETH] extends = esp32c3_common_LittleFS build_flags = ${esp32c3_common_LittleFS.build_flags} - -D PLUGIN_DISPLAY_COLLECTION + -D PLUGIN_DISPLAY_A_COLLECTION + -D ST7789_EXTRA_INIT=1 + -D P116_EXTRA_ST7789=1 + +[env:display_B_ESP32c3_4M316k_LittleFS_ETH] +extends = esp32c3_common_LittleFS +build_flags = ${esp32c3_common_LittleFS.build_flags} + -D PLUGIN_DISPLAY_B_COLLECTION -D ST7789_EXTRA_INIT=1 -D P116_EXTRA_ST7789=1 diff --git a/platformio_esp32c6_envs.ini b/platformio_esp32c6_envs.ini index 85fae4c22..ff2f7c9f8 100644 --- a/platformio_esp32c6_envs.ini +++ b/platformio_esp32c6_envs.ini @@ -35,10 +35,17 @@ build_flags = ${esp32c6_common_LittleFS.build_flags} -D PLUGIN_ENERGY_COLLECTION -[env:display_ESP32c6_4M316k_LittleFS] +[env:display_A_ESP32c6_4M316k_LittleFS_ETH] extends = esp32c6_common_LittleFS build_flags = ${esp32c6_common_LittleFS.build_flags} - -D PLUGIN_DISPLAY_COLLECTION + -D PLUGIN_DISPLAY_A_COLLECTION + -D ST7789_EXTRA_INIT=1 + -D P116_EXTRA_ST7789=1 + +[env:display_B_ESP32c6_4M316k_LittleFS_ETH] +extends = esp32c6_common_LittleFS +build_flags = ${esp32c6_common_LittleFS.build_flags} + -D PLUGIN_DISPLAY_B_COLLECTION -D ST7789_EXTRA_INIT=1 -D P116_EXTRA_ST7789=1 diff --git a/platformio_esp32s2_envs.ini b/platformio_esp32s2_envs.ini index da88c2428..c3b50a24c 100644 --- a/platformio_esp32s2_envs.ini +++ b/platformio_esp32s2_envs.ini @@ -113,11 +113,19 @@ board = esp32s2cdc build_flags = ${esp32s2_common_LittleFS.build_flags} -D PLUGIN_ENERGY_COLLECTION -[env:display_ESP32s2_4M316k_LittleFS] +[env:display_A_ESP32s2_4M316k_LittleFS_ETH] extends = esp32s2_common_LittleFS board = esp32s2cdc build_flags = ${esp32s2_common_LittleFS.build_flags} - -D PLUGIN_DISPLAY_COLLECTION + -D PLUGIN_DISPLAY_A_COLLECTION + -D ST7789_EXTRA_INIT=1 + -D P116_EXTRA_ST7789=1 + +[env:display_B_ESP32s2_4M316k_LittleFS_ETH] +extends = esp32s2_common_LittleFS +board = esp32s2cdc +build_flags = ${esp32s2_common_LittleFS.build_flags} + -D PLUGIN_DISPLAY_B_COLLECTION -D ST7789_EXTRA_INIT=1 -D P116_EXTRA_ST7789=1 diff --git a/platformio_esp32s3_envs.ini b/platformio_esp32s3_envs.ini index 276e2a6e1..26098b043 100644 --- a/platformio_esp32s3_envs.ini +++ b/platformio_esp32s3_envs.ini @@ -104,11 +104,19 @@ board = esp32s3cdc-qio_qspi build_flags = ${esp32s3_common_LittleFS.build_flags} -D PLUGIN_ENERGY_COLLECTION -[env:display_ESP32s3_4M316k_LittleFS] +[env:display_A_ESP32s3_4M316k_LittleFS_ETH] extends = esp32s3_common_LittleFS board = esp32s3cdc-qio_qspi build_flags = ${esp32s3_common_LittleFS.build_flags} - -D PLUGIN_DISPLAY_COLLECTION + -D PLUGIN_DISPLAY_A_COLLECTION + -D ST7789_EXTRA_INIT=1 + -D P116_EXTRA_ST7789=1 + +[env:display_B_ESP32s3_4M316k_LittleFS_ETH] +extends = esp32s3_common_LittleFS +board = esp32s3cdc-qio_qspi +build_flags = ${esp32s3_common_LittleFS.build_flags} + -D PLUGIN_DISPLAY_B_COLLECTION -D ST7789_EXTRA_INIT=1 -D P116_EXTRA_ST7789=1 diff --git a/platformio_esp82xx_envs.ini b/platformio_esp82xx_envs.ini index 7f57db8eb..8d884fffd 100644 --- a/platformio_esp82xx_envs.ini +++ b/platformio_esp82xx_envs.ini @@ -607,12 +607,26 @@ extra_scripts = ${regular_platform.extra_scripts} ; display : 4096k version ---------------------------- -[env:display_ESP8266_4M1M] +[env:display_A_ESP8266_4M1M] extends = esp8266_4M1M, regular_platform build_flags = ${regular_platform.build_flags} ${esp8266_4M1M.build_flags} -D BUILD_NO_DEBUG - -D PLUGIN_DISPLAY_COLLECTION + -D PLUGIN_DISPLAY_A_COLLECTION + -D WEBSERVER_USE_CDN_JS_CSS +lib_ignore = ${regular_platform.lib_ignore} + ESP8266SdFat + SD(esp8266) + SD + SDFS + LittleFS(esp8266) + +[env:display_B_ESP8266_4M1M] +extends = esp8266_4M1M, regular_platform +build_flags = ${regular_platform.build_flags} + ${esp8266_4M1M.build_flags} + -D BUILD_NO_DEBUG + -D PLUGIN_DISPLAY_B_COLLECTION -D WEBSERVER_USE_CDN_JS_CSS lib_ignore = ${regular_platform.lib_ignore} ESP8266SdFat diff --git a/platformio_special_envs.ini b/platformio_special_envs.ini index fe6545124..75538698c 100644 --- a/platformio_special_envs.ini +++ b/platformio_special_envs.ini @@ -112,7 +112,8 @@ build_flags = ${esp32_base_idf5_5.build_flags} ${debug_pio.build_flags} -DESP32_CLASSIC -DUSE_LITTLEFS - -D PLUGIN_DISPLAY_COLLECTION + -D PLUGIN_DISPLAY_A_COLLECTION + -D PLUGIN_DISPLAY_B_COLLECTION -D WEBSERVER_USE_CDN_JS_CSS -D BUILD_NO_DEBUG board_build.filesystem = littlefs @@ -133,7 +134,9 @@ build_flags = ${esp32_base_idf5_5.build_flags} ${debug_pio.build_flags} -DESP32_CLASSIC -DUSE_LITTLEFS - -D PLUGIN_DISPLAY_COLLECTION + -D PLUGIN_DISPLAY_A_COLLECTION + -D PLUGIN_DISPLAY_B_COLLECTION + -D PLUGIN_NEOPIXEL_COLLECTION -D WEBSERVER_USE_CDN_JS_CSS -D BUILD_NO_DEBUG board_build.filesystem = littlefs diff --git a/src/src/CustomBuild/define_plugin_sets.h b/src/src/CustomBuild/define_plugin_sets.h index f8f2cb6a3..59fb0e761 100644 --- a/src/src/CustomBuild/define_plugin_sets.h +++ b/src/src/CustomBuild/define_plugin_sets.h @@ -159,14 +159,14 @@ To create/register a plugin, you have to : #endif #endif - -#if defined(PLUGIN_DISPLAY_COLLECTION) - // Display builds are getting too large, so for now disable ETH for display buikds - #if FEATURE_ETHERNET - #undef FEATURE_ETHERNET - #endif +#if defined(PLUGIN_DISPLAY_A_COLLECTION) || defined(PLUGIN_DISPLAY_B_COLLECTION) + // Display builds are getting too large, so for now disable ETH for display builds + // Update: By splitting Display into A and B, there is enough space available to enable ETH for now + // #if FEATURE_ETHERNET + // #undef FEATURE_ETHERNET + // #endif #ifndef BUILD_NO_DEBUG - #define BUILD_NO_DEBUG + #define BUILD_NO_DEBUG #endif #endif @@ -1161,8 +1161,11 @@ To create/register a plugin, you have to : #ifndef PLUGIN_ENERGY_COLLECTION #define PLUGIN_ENERGY_COLLECTION #endif - #ifndef PLUGIN_DISPLAY_COLLECTION - #define PLUGIN_DISPLAY_COLLECTION + #ifndef PLUGIN_DISPLAY_A_COLLECTION + #define PLUGIN_DISPLAY_A_COLLECTION + #endif + #ifndef PLUGIN_DISPLAY_B_COLLECTION + #define PLUGIN_DISPLAY_B_COLLECTION #endif #ifndef PLUGIN_CLIMATE_COLLECTION #define PLUGIN_CLIMATE_COLLECTION @@ -1841,91 +1844,202 @@ To create/register a plugin, you have to : #endif // ifdef PLUGIN_ENERGY_COLLECTION -// Collection of all display plugins. (also NeoPixel) -#ifdef PLUGIN_DISPLAY_COLLECTION +// Collection of display plugins, set A (non-AdaGFX_Helper). +#ifdef PLUGIN_DISPLAY_A_COLLECTION #ifndef PLUGIN_DESCR - #define PLUGIN_DESCR "Display" + #define PLUGIN_DESCR "Display A" #endif - #if !defined(LIMIT_BUILD_SIZE) && (defined(ESP8266) || !(ESP_IDF_VERSION_MAJOR > 3)) - #ifndef PLUGIN_BUILD_MAX_ESP32 - #define LIMIT_BUILD_SIZE // Reduce buildsize (on ESP8266 / pre-IDF4.x) to fit in all Display plugins - #define KEEP_I2C_MULTIPLEXER - #ifndef P036_LIMIT_BUILD_SIZE - #define P036_LIMIT_BUILD_SIZE // Reduce build size for P036 (FramedOLED) only - #endif - #ifndef P037_LIMIT_BUILD_SIZE - #define P037_LIMIT_BUILD_SIZE // Reduce build size for P037 (MQTT Import) only - #endif - #define NOTIFIER_SET_NONE - #ifdef USES_N001 - #undef USES_N001 // Email - #endif - #ifdef USES_N002 - #undef USES_N002 // Buzzer - #endif - #endif - #endif - #if defined(ESP8266) - #if defined(FEATURE_I2C_DEVICE_CHECK) - #undef FEATURE_I2C_DEVICE_CHECK - #endif - #define FEATURE_I2C_DEVICE_CHECK 0 // Disable I2C device check code + #if !defined(LIMIT_BUILD_SIZE) && (defined(ESP8266) || !(ESP_IDF_VERSION_MAJOR > 3)) + #ifndef PLUGIN_BUILD_MAX_ESP32 + #define LIMIT_BUILD_SIZE // Reduce buildsize (on ESP8266 / pre-IDF4.x) to fit in all Display plugins + #define KEEP_I2C_MULTIPLEXER + #ifndef P036_LIMIT_BUILD_SIZE + #define P036_LIMIT_BUILD_SIZE // Reduce build size for P036 (FramedOLED) only + #endif + #ifndef P037_LIMIT_BUILD_SIZE + #define P037_LIMIT_BUILD_SIZE // Reduce build size for P037 (MQTT Import) only + #endif + #define NOTIFIER_SET_NONE + #ifdef USES_N001 + #undef USES_N001 // Email + #endif + #ifdef USES_N002 + #undef USES_N002 // Buzzer + #endif + #endif + #endif + #if defined(ESP8266) + #if defined(FEATURE_I2C_DEVICE_CHECK) + #undef FEATURE_I2C_DEVICE_CHECK + #endif + #define FEATURE_I2C_DEVICE_CHECK 0 // Disable I2C device check code // #if !defined(FEATURE_TARSTREAM_SUPPORT) // #define FEATURE_TARSTREAM_SUPPORT 0 // Disable TarStream support for size // #endif // FEATURE_TARSTREAM_SUPPORT - #endif - #if !defined(FEATURE_SD) && !defined(ESP8266) - #define FEATURE_SD 1 - #endif - #ifndef USES_P012 - #define USES_P012 // LCD - #endif - #ifndef USES_P023 + #endif + #if !defined(FEATURE_SD) && !defined(ESP8266) + #define FEATURE_SD 1 + #endif + #ifndef USES_P012 + #define USES_P012 // LCD + #endif + #ifndef USES_P023 #define USES_P023 // OLED - #endif - #ifndef USES_P036 + #endif + #ifndef USES_P036 #define USES_P036 // FrameOLED - #endif - #ifdef USES_P038 + #endif + #ifdef USES_P038 #undef USES_P038 // DISABLE NeoPixel - #endif - #ifdef USES_P041 + #endif + #ifdef USES_P041 #undef USES_P041 // DISABLE NeoClock - #endif - #ifdef USES_P042 + #endif + #ifdef USES_P042 #undef USES_P042 // DISABLE Candle - #endif - #ifndef USES_P057 + #endif + #ifndef USES_P057 #define USES_P057 // HT16K33_LED - #endif - #ifdef USES_P070 + #endif + #ifdef USES_P070 #undef USES_P070 // DISABLE NeoPixel_Clock - #endif - #ifndef USES_P075 + #endif + #ifndef USES_P075 #define USES_P075 // Nextion - #endif - #ifndef USES_P095 - #define USES_P095 // TFT ILI9341 - #endif - #ifndef USES_P096 - #define USES_P096 // eInk (Needs lib_deps = Adafruit GFX Library, LOLIN_EPD ) - #endif - #ifndef USES_P099 - #define USES_P099 // XPT2046 Touchscreen - #endif - #ifndef USES_P104 + #endif + // #ifndef USES_P095 + // #define USES_P095 // TFT ILI9341 + // #endif + // #ifndef USES_P096 + // #define USES_P096 // eInk (Needs lib_deps = Adafruit GFX Library, LOLIN_EPD ) + // #endif + // #ifndef USES_P099 + // #define USES_P099 // XPT2046 Touchscreen + // #endif + #ifndef USES_P104 // Plugin adds over 40k to build size #define USES_P104 // MAX7219 dot matrix - #endif - #if !defined(USES_P109) && defined(ESP32) - #define USES_P109 // ThermoOLED - #endif - #ifndef USES_P116 - #define USES_P116 // ST77xx - #endif - #if !defined(USES_P123) && defined(ESP32) - #define USES_P123 // I2C Touchscreens - #endif + #endif + #if !defined(USES_P109) && defined(ESP32) + #define USES_P109 // ThermoOLED + #endif + // #ifndef USES_P116 + // #define USES_P116 // ST77xx + // #endif + // #if !defined(USES_P123) && defined(ESP32) + // #define USES_P123 // I2C Touchscreens + // #endif + #if !defined(USES_P137) && defined(ESP32) + #define USES_P137 // AXP192 + #endif + #if !defined(USES_P138) && defined(ESP32) + #define USES_P138 // IP5306 + #endif + #if !defined(USES_P139) && defined(ESP32) + #define USES_P139 // AXP2101 + #endif + // #ifndef USES_P141 + // #define USES_P141 // PCD8544 Nokia 5110 + // #endif + #ifndef USES_P143 + #define USES_P143 // I2C Rotary encoders + #endif + #if !defined(USES_P148) && defined(ESP32) + #define USES_P148 // Sonoff POWR3xxD and THR3xxD display + #endif + // #if !defined(USES_P165) && defined(ESP32) + // #define USES_P165 // Display - NeoPixel (7-Segment) + // #endif + #if !defined(USES_P180) && defined(ESP32) + #define USES_P180 // Generic - I2C Generic + #endif +#endif // ifdef PLUGIN_DISPLAY_A_COLLECTION + +// Collection of display plugins, set B (AdaGFX_Helper). +#ifdef PLUGIN_DISPLAY_B_COLLECTION + #ifndef PLUGIN_DESCR + #define PLUGIN_DESCR "Display B" + #endif + #if !defined(LIMIT_BUILD_SIZE) && (defined(ESP8266) || !(ESP_IDF_VERSION_MAJOR > 3)) + #ifndef PLUGIN_BUILD_MAX_ESP32 + #define LIMIT_BUILD_SIZE // Reduce buildsize (on ESP8266 / pre-IDF4.x) to fit in all Display plugins + #define KEEP_I2C_MULTIPLEXER + #ifndef P036_LIMIT_BUILD_SIZE + #define P036_LIMIT_BUILD_SIZE // Reduce build size for P036 (FramedOLED) only + #endif + #ifndef P037_LIMIT_BUILD_SIZE + #define P037_LIMIT_BUILD_SIZE // Reduce build size for P037 (MQTT Import) only + #endif + #define NOTIFIER_SET_NONE + #ifdef USES_N001 + #undef USES_N001 // Email + #endif + #ifdef USES_N002 + #undef USES_N002 // Buzzer + #endif + #endif + #endif + #if defined(ESP8266) + #if defined(FEATURE_I2C_DEVICE_CHECK) + #undef FEATURE_I2C_DEVICE_CHECK + #endif + #define FEATURE_I2C_DEVICE_CHECK 0 // Disable I2C device check code + // #if !defined(FEATURE_TARSTREAM_SUPPORT) + // #define FEATURE_TARSTREAM_SUPPORT 0 // Disable TarStream support for size + // #endif // FEATURE_TARSTREAM_SUPPORT + #endif + #if !defined(FEATURE_SD) && !defined(ESP8266) + #define FEATURE_SD 1 + #endif + #ifdef USES_P012 + #undef USES_P012 // DISABLE LCD + #endif + #ifdef USES_P023 + #undef USES_P023 // DISABLE OLED + #endif + #ifndef USES_P036 + #define USES_P036 // FrameOLED + #endif + #ifdef USES_P038 + #undef USES_P038 // DISABLE NeoPixel + #endif + #ifdef USES_P041 + #undef USES_P041 // DISABLE NeoClock + #endif + #ifdef USES_P042 + #undef USES_P042 // DISABLE Candle + #endif + #ifdef USES_P057 + #undef USES_P057 // DISABLE HT16K33_LED + #endif + #ifdef USES_P070 + #undef USES_P070 // DISABLE NeoPixel_Clock + #endif + #ifdef USES_P075 + #undef USES_P075 // DISABLE Nextion + #endif + #ifndef USES_P095 + #define USES_P095 // TFT ILI9341 + #endif + #ifndef USES_P096 + #define USES_P096 // eInk (Needs lib_deps = Adafruit GFX Library, LOLIN_EPD ) + #endif + #ifndef USES_P099 + #define USES_P099 // XPT2046 Touchscreen + #endif + #ifdef USES_P104 + // Plugin adds over 40k to build size + #undef USES_P104 // DISABLE MAX7219 dot matrix + #endif + #if !defined(USES_P109) && defined(ESP32) + #define USES_P109 // ThermoOLED + #endif + #ifndef USES_P116 + #define USES_P116 // ST77xx + #endif + #if !defined(USES_P123) && defined(ESP32) + #define USES_P123 // I2C Touchscreens + #endif #if !defined(USES_P137) && defined(ESP32) #define USES_P137 // AXP192 #endif @@ -1941,16 +2055,16 @@ To create/register a plugin, you have to : #ifndef USES_P143 #define USES_P143 // I2C Rotary encoders #endif - #ifndef USES_P148 + #if !defined(USES_P148) && defined(ESP32) #define USES_P148 // Sonoff POWR3xxD and THR3xxD display #endif - #if !defined(USES_P165) && defined(ESP32) - #define USES_P165 // Display - NeoPixel (7-Segment) - #endif + // #if !defined(USES_P165) && defined(ESP32) + // #define USES_P165 // Display - NeoPixel (7-Segment) + // #endif #if !defined(USES_P180) && defined(ESP32) #define USES_P180 // Generic - I2C Generic #endif -#endif // ifdef PLUGIN_DISPLAY_COLLECTION +#endif // ifdef PLUGIN_DISPLAY_B_COLLECTION // Collection of all climate plugins. #ifdef PLUGIN_CLIMATE_COLLECTION @@ -2398,6 +2512,24 @@ To create/register a plugin, you have to : #ifndef USES_P046 #define USES_P046 // VentusW266 #endif + #ifndef USES_P038 + #define USES_P038 // NeoPixel + #endif + #ifndef USES_P041 + #define USES_P041 // NeoClock + #endif + #ifndef USES_P042 + #define USES_P042 // Candle + #endif + #ifndef USES_P057 + #define USES_P057 // HT16K33_LED + #endif + #ifndef USES_P070 + #define USES_P070 // NeoPixel_Clock + #endif + #ifndef USES_P075 + #define USES_P075 // Nextion + #endif #ifndef USES_P087 #define USES_P087 // Serial Proxy #endif @@ -2614,13 +2746,13 @@ To create/register a plugin, you have to : #ifndef USES_P168 #define USES_P168 // Light - VEML6030/VEML7700 #endif - #ifndef USES_P170 - #define USES_P170 // Input - I2C Liquid level sensor - #endif - #ifndef USES_P169 #define USES_P169 // Environment - AS3935 Lightning Detector #endif + + #ifndef USES_P170 + #define USES_P170 // Input - I2C Liquid level sensor + #endif #ifndef USES_P173 #define USES_P173 // Environment - SHTC3 #endif @@ -2789,7 +2921,7 @@ To create/register a plugin, you have to : // Disable Homie plugin for now in the dev build to make it fit. -#if defined(PLUGIN_DISPLAY_COLLECTION) && defined(USES_C014) && defined(ESP8266) +#if (defined(PLUGIN_DISPLAY_A_COLLECTION) || defined(PLUGIN_DISPLAY_B_COLLECTION)) && defined(USES_C014) && defined(ESP8266) #undef USES_C014 #endif diff --git a/src/src/PluginStructs/P037_data_struct.h b/src/src/PluginStructs/P037_data_struct.h index 7c7bd6b9c..974abca08 100644 --- a/src/src/PluginStructs/P037_data_struct.h +++ b/src/src/PluginStructs/P037_data_struct.h @@ -60,7 +60,7 @@ // #endif # endif // if (defined(LIMIT_BUILD_SIZE) && !defined(P037_OVERRIDE)) || defined(P037_LIMIT_BUILD_SIZE) -# ifdef PLUGIN_DISPLAY_COLLECTION +# if defined(PLUGIN_DISPLAY_A_COLLECTION) || defined(PLUGIN_DISPLAY_B_COLLECTION) # if P037_FILTER_SUPPORT # undef P037_FILTER_SUPPORT # define P037_FILTER_SUPPORT 0 @@ -69,7 +69,7 @@ # undef P037_REPLACE_BY_COMMA_SUPPORT # define P037_REPLACE_BY_COMMA_SUPPORT 0 # endif // if P037_REPLACE_BY_COMMA_SUPPORT -# endif // ifdef PLUGIN_DISPLAY_COLLECTION +# endif // if defined(PLUGIN_DISPLAY_A_COLLECTION) || defined(PLUGIN_DISPLAY_B_COLLECTION) # endif // ifndef PLUGIN_BUILD_MAX_ESP32 # define P037_MAX_MAPPINGS 25 diff --git a/src/src/PluginStructs/P104_data_struct.h b/src/src/PluginStructs/P104_data_struct.h index 0fde33829..f50975328 100644 --- a/src/src/PluginStructs/P104_data_struct.h +++ b/src/src/PluginStructs/P104_data_struct.h @@ -18,10 +18,12 @@ # include -// # if defined(PLUGIN_SET_MAX) || defined(PLUGIN_BUILD_CUSTOM) || (defined(PLUGIN_DISPLAY_COLLECTION) && defined(ESP32)) +// # if defined(PLUGIN_SET_MAX) || defined(PLUGIN_BUILD_CUSTOM) || ((defined(PLUGIN_DISPLAY_A_COLLECTION) || +// defined(PLUGIN_DISPLAY_B_COLLECTION)) && defined(ESP32)) # ifdef ESP32 # define P104_USE_NUMERIC_DOUBLEHEIGHT_FONT // Enables double height numeric font for double-height time/date -// # endif // if defined(PLUGIN_SET_MAX) || defined(PLUGIN_BUILD_CUSTOM) || (defined(PLUGIN_DISPLAY_COLLECTION) && defined(ESP32)) +// # endif // if defined(PLUGIN_SET_MAX) || defined(PLUGIN_BUILD_CUSTOM) || ((defined(PLUGIN_DISPLAY_A_COLLECTION) || +// defined(PLUGIN_DISPLAY_B_COLLECTION)) && defined(ESP32)) # endif // ifdef ESP32 # define P104_USE_FULL_DOUBLEHEIGHT_FONT // Enables the use of a full (lower ascii only) set double height font # define P104_USE_VERTICAL_FONT // Enables the use of a vertical font @@ -45,7 +47,7 @@ # endif // if FEATURE_EXTENDED_CUSTOM_SETTINGS && defined(ESP32) && defined(USE_LITTLEFS) // To make it fit in the ESP8266 display build -# if defined(PLUGIN_DISPLAY_COLLECTION) && defined(ESP8266) && !defined(LIMIT_BUILD_SIZE) +# if (defined(PLUGIN_DISPLAY_A_COLLECTION) || defined(PLUGIN_DISPLAY_B_COLLECTION)) && defined(ESP8266) && !defined(LIMIT_BUILD_SIZE) # ifdef P104_USE_FULL_DOUBLEHEIGHT_FONT # undef P104_USE_FULL_DOUBLEHEIGHT_FONT # ifndef P104_USE_NUMERIC_DOUBLEHEIGHT_FONT @@ -83,7 +85,7 @@ # undef P104_DEBUG_DEV # endif // ifdef P104_DEBUG_DEV # define P104_MEDIUM_ANIMATIONS -# endif // if defined(PLUGIN_DISPLAY_COLLECTION) && defined(ESP8266) +# endif // if (defined(PLUGIN_DISPLAY_A_COLLECTION) || defined(PLUGIN_DISPLAY_B_COLLECTION)) && defined(ESP8266) && !defined(LIMIT_BUILD_SIZE) // # define P104_MINIMAL_ANIMATIONS // disable most animations // # define P104_MEDIUM_ANIMATIONS // disable some complex animations