diff --git a/platformio_override.sample.ini b/platformio_override.sample.ini index 55b65430..56713f7c 100644 --- a/platformio_override.sample.ini +++ b/platformio_override.sample.ini @@ -526,6 +526,48 @@ build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_DISABLE_BROWNOU -D USER_SETUP_LOADED monitor_filters = esp32_exception_decoder + +[env:esp32dev_hub75] +board = esp32dev +upload_speed = 921600 +platform = ${esp32_idf_V4.platform} +extends = esp32dev_V4 +build_flags = ${common.build_flags} + -D WLED_RELEASE_NAME=\"ESP32_hub75\" + -D WLED_ENABLE_HUB75MATRIX -D NO_GFX -D NO_CIE1931 + ; -D ESP32_FORUM_PINOUT ;; enable for SmartMatrix default pins + ; -D WLED_DEBUG +lib_deps = ${esp32_idf_V4.lib_deps} + https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-DMA.git#3.0.11 +board_build.partitions = ${esp32.default_partitions} +board_build.flash_mode = dio + + +[env:adafruit_matrixportal_esp32s3] +; ESP32-S3 processor, 8 MB flash, 2 MB of PSRAM, dedicated driver pins for HUB75 +board = lolin_s3_mini +platform = ${esp32s3.platform} +platform_packages = ${esp32s3.platform_packages} +upload_speed = 921600 +build_unflags = ${common.build_unflags} +build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=ESP32-S3_4M_qspi + -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MODE=1 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB") + -DBOARD_HAS_PSRAM + -DLOLIN_WIFI_FIX ; seems to work much better with this + -D WLED_WATCHDOG_TIMEOUT=0 + ${esp32.AR_build_flags} + -D WLED_ENABLE_HUB75MATRIX -D NO_GFX -D NO_CIE1931 + -D S3_LCD_DIV_NUM=20 ;; Attempt to fix wifi performance issue when panel active with S3 chips + -D ARDUINO_ADAFRUIT_MATRIXPORTAL_ESP32S3 + +lib_deps = ${esp32s3.lib_deps} + ${esp32.AR_lib_deps} + https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-DMA.git#aa28e2a ;; S3_LCD_DIV_NUM fix + +board_build.partitions = ${esp32.default_partitions} +board_build.f_flash = 80000000L +board_build.flash_mode = qio +monitor_filters = esp32_exception_decoder # ------------------------------------------------------------------------------ # Usermod examples # ------------------------------------------------------------------------------ diff --git a/wled00/pin_manager.h b/wled00/pin_manager.h index a488d24f..b6805243 100644 --- a/wled00/pin_manager.h +++ b/wled00/pin_manager.h @@ -94,6 +94,13 @@ namespace PinManager { [[deprecated("Replaced by two-parameter deallocatePin(gpio, ownerTag), for improved debugging")]] inline void deallocatePin(byte gpio) { deallocatePin(gpio, PinOwner::None); } + // De-allocates multiple pins but only if all can be deallocated (PinOwner has to be specified) + bool deallocateMultiplePins(const uint8_t *pinArray, byte arrayElementCount, PinOwner tag); + bool deallocateMultiplePins(const managed_pin_type *pinArray, byte arrayElementCount, PinOwner tag); + + bool allocateMultiplePins(const managed_pin_type * mptArray, byte arrayElementCount, PinOwner tag ); + bool allocateMultiplePins(const int8_t * mptArray, byte arrayElementCount, PinOwner tag, boolean output); + // will return true for reserved pins bool isPinAllocated(byte gpio, PinOwner tag = PinOwner::None); // will return false for reserved pins diff --git a/wled00/wled.h b/wled00/wled.h index e4cab539..154a2a4c 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -7,7 +7,7 @@ */ // version code in format yymmddb (b = daily build) -#define VERSION 2412040 +#define VERSION 2506160 //uncomment this if you have a "my_config.h" file you'd like to use //#define WLED_USE_MY_CONFIG