Skip to content

Commit

Permalink
my favourite HUB75 buildenv [env:esp32_4MB_V4_HUB75_forum]
Browse files Browse the repository at this point in the history
  • Loading branch information
softhack007 committed Aug 15, 2024
1 parent 9e65ab3 commit f7e3f35
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 0 deletions.
64 changes: 64 additions & 0 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ build_flags =
-D DECODE_SONY=true
-D DECODE_SAMSUNG=true
-D DECODE_LG=true
-D FASTLED_NO_FASTLED
;-Dregister= # remove warnings in C++17 due to use of deprecated register keyword by the FastLED library ;; warning: this breaks framework code on ESP32-C3 and ESP32-S2
-DWLED_USE_MY_CONFIG
; -D USERMOD_SENSORSTOMQTT
Expand Down Expand Up @@ -240,6 +241,8 @@ upload_speed = 115200
lib_compat_mode = strict
lib_deps =
fastled/FastLED @ 3.6.0
;; fastled/FastLED @ 3.7.1
;; https://github.com/softhack007/FastLED.git#ESP32-C6 ;; patched version needed for -C6
IRremoteESP8266 @ 2.8.2
;;makuna/NeoPixelBus @ 2.7.5 ;; WLEDMM will be added in board specific sections
;;https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.7
Expand Down Expand Up @@ -1602,6 +1605,67 @@ lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps}
lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
; RAM: [=== ] 28.1% (used 91960 bytes from 327680 bytes)
; Flash: [==========] 97.8% (used 1537777 bytes from 1572864 bytes)

;; softhack007: my favourite HUB75 buildenv - fastest possible
[env:esp32_4MB_V4_HUB75_forum]
extends = esp32_4MB_V4_S_base
platform_packages = ${esp32_4MB_V4_S_base.platform_packages}
;; toolchain-xtensa-esp32@~11.2 ;; for trying out newer gcc @11.2.0+2022r1 ;; 25fps -> 30fps;; FastLED 3.7.1 required !!

build_unflags = ${esp32_4MB_V4_S_base.build_unflags}
${Speed_Flags.build_unflags} ;; to override -Os
;; -D WLED_ENABLE_DMX_INPUT
-DARDUINO_EVENT_RUNNING_CORE=1
;;-DCORE_DEBUG_LEVEL=0
;; -D NDEBUG
-D NO_CIE1931 ;; Do use LED brightness compensation described in CIE 1931

build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags}
;; -Wsuggest-attribute=const -Wsuggest-attribute=pure
;; -Wmissing-noreturn -Wmissing-return
;; -Wall -Wextra
-Wno-unused-value -Wno-format -Wno-type-limits
-D WLED_RELEASE_NAME=esp32_4MB_V4_HUB75
${Speed_Flags.build_flags} ;; -O2 -> optimize for speed instead of size
;; -D DEBUG
-D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET
-D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup
-D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions.
-D WLED_DISABLE_LOXONE
-D WLED_DISABLE_ALEXA
-D WLED_DISABLE_HUESYNC
-D WLED_DISABLE_MQTT
-D WLED_DISABLE_INFRARED
-D WLED_DISABLE_ADALIGHT
;; -D WLED_DEBUG
;; -D SR_DEBUG
-D WLED_BOOTUPDELAY=350
-D WLED_ENABLE_HUB75MATRIX -DESP32_FORUM_PINOUT
;; -D HUB75_NO_DOUBLEBUFFER ;; -D PIXEL_COLOUR_DEPTH_BITS=12
${common_mm.animartrix_build_flags}
;;-DARDUINO_EVENT_RUNNING_CORE=0 ;; assign Wifi to core0, to have more CPU on core#1 (arduino loop)
;;-DARDUINO_RUNNING_CORE=1 ;; should be default, but does not hurt
-DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1 ;; optional - seems to move more buffers into PSRAM
;; -D CONFIG_ESP32_REV_MIN=3 ;; disables PSRAM bug workarounds in the core, reducing the code size and improving overall performance.
-D JSON_BUFFER_SIZE=18432 -D MIN_HEAP_SIZE=6144
-D MAX_SEGMENT_DATA=40960 ;; default 32767
-D WLEDMM_SAVE_FLASH
-D WLED_DISABLE_BROWNOUT_DET
;;-DCORE_DEBUG_LEVEL=1
;;-D WLED_DISABLE_PARTICLESYSTEM1D
;;-D WLED_DISABLE_PARTICLESYSTEM2D
;;-D WLED_DISABLE_PARTICLESYSTEM_BUFFER

lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps}
${common_mm.animartrix_lib_deps}
lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
;; ${common_mm.DMXin_lib_ignore}

board_build.partitions = ${esp32.big_partitions}
board_build.f_flash = 80000000L ; use full 80MHz speed for flash (default = 40Mhz)
board_build.flash_mode = qio ; (dio = dual i/o; more compatible than qio = quad i/o)


; compiled with ESP-IDF 4.4.1
[env:esp32_4MB_V4_M]
extends = esp32_4MB_V4_M_base
Expand Down
2 changes: 2 additions & 0 deletions wled00/FX.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,13 @@ bool strip_uses_global_leds(void) __attribute__((pure)); // WLEDMM implemented
#ifndef MAX_NUM_SEGMENTS
#define MAX_NUM_SEGMENTS 32
#endif
#ifndef MAX_SEGMENT_DATA
#if defined(ARDUINO_ARCH_ESP32S2)
#define MAX_SEGMENT_DATA 24576
#else
#define MAX_SEGMENT_DATA 32767
#endif
#endif
#endif

/* How much data bytes each segment should max allocate to leave enough space for other segments,
Expand Down

0 comments on commit f7e3f35

Please sign in to comment.