Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 46 additions & 45 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -875,6 +875,7 @@ extra_scripts = ; pio-scripts/enable_lto.py
; WLED initialization done.

[env:ABC_WLED_ESP32P4_Shield_V2]
;; THIS IS PIOARDUINO NOW, NOT PLATFORMIO!
build_src_filter = +<**/*.c>
+<**/*.cpp>
+<**/*.S>
Expand All @@ -884,41 +885,50 @@ build_src_filter = +<**/*.c>
-<**/espalexa/**>
-<**/DS1307RTC*>
-<**/dependencies/dmx>
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-2/platform-espressif32.zip ;; https://github.com/troyhacks/platform-espressif32#Arduino/IDF5
-<**/LovyanGFX/lgfx/v1/platforms/**>
-<**/LovyanGFX/lgfx/v1/panel/**>
-<**/LovyanGFX/lgfx/v1/touch/**>
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip ;; https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-2/platform-espressif32.zip ;; https://github.com/troyhacks/platform-espressif32#Arduino/IDF5
platform_packages = framework-arduinoespressif32 @ https://github.com/troyhacks/arduino-esp32#feature/esp32p4
framework-arduinoespressif32-libs @ https://github.com/troyhacks/esp32-arduino-libs#main ;; 9d3db693436d2ff6244d7c981a7f19b22382bb62 ;; main ;; #d0dae8c20ba9ada0c0c3d488a8262ba0f07299bc ;;
; toolchain-riscv32-esp @ https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip
board_build.arduino.upstream_packages = no
; board_build.arduino.upstream_packages = no
board = esp32-p4-evboard
custom_add_libs =
ENABLE_VL53L8CX = https://github.com/stm32duino/VL53L8CX
USERMOD_ANIMARTRIX = https://github.com/troyhacks/animartrix.git
custom_remove_libs =
WLED_DISABLE_INFRARED = IRremoteESP8266
WLED_DISABLE_MQTT = async-mqtt-client
build_unflags = -O2
-D CONFIG_LWIP_TCPIP_TASK_AFFINITY
-D CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0
-D CONFIG_ARDUINO_RUNNING_CORE
-D CONFIG_ARDUINO_EVENT_RUNNING_CORE
build_flags = -Ofast
-ffast-math
-mstrict-align
-fipa-pta
-freorder-blocks
-fno-jump-tables
-fno-tree-switch-conversion
-Wwrite-strings
-fstrict-volatile-bitfields
build_flags = -Ofast ;; -O3 + -ffast-math + aggressive opts
-funroll-loops ;; more aggressive loop unrolling than -Ofast alone
-fno-threadsafe-statics ;; remove mutex guards on local static init
-fstrict-volatile-bitfields ;; use field width for volatile bitfield access (hardware regs)
; -flto ;; must be in build_flags; enable_lto.py runs too late for the compiler
-fipa-pta ;; interprocedural pointer analysis; requires LTO
-ffunction-sections ;; isolate functions for linker GC
-fdata-sections ;; isolate data for linker GC
-Wl,--gc-sections ;; linker dead-code elimination; most effective with LTO
-fvisibility=hidden ;; hidden symbols by default; LTO inlines/eliminates more aggressively
-fno-semantic-interposition ;; no symbol interposition assumed; more cross-TU inlining with LTO
-fno-exceptions ;; drop C++ exception handling code
-fno-rtti ;; drop C++ runtime type information
-fno-unwind-tables ;; no unwind tables; safe since exceptions are disabled
-fno-asynchronous-unwind-tables ;; no async unwind tables; safe since exceptions are disabled
-fno-jump-tables ;; avoid jump tables in flash (Xtensa i-cache unfriendly)
-fmerge-all-constants ;; deduplicate identical constants across translation units
; -mtext-section-literals ;; inline literals in text; bloats flash on Xtensa, leave disabled
-Wl,--defsym=_cleanup_r=0 ;; stub out newlib cleanup (bare-metal, no OS to return to)
; -D WLED_ENABLE_COLORLIGHT
-D WLED_MAX_USERMODS=25
-D WLEDMM_FASTPATH
-D WLEDMM_REMAP_AT_OUTPUT
-D WLEDMM_DISPLAY_W=800 ;; DSI Display Width
-D WLEDMM_DISPLAY_H=1280 ;; DIS Display Height
-D WLEDMM_DISPLAY_DEPTH=24 ;; DSI Display Bits Per Pixel (24 for RGB888)
-D WLEDMM_DISPLAY_BUTTONS=32
-D WLEDMM_DISPLAY_BUTTONS_COLS=8
-D REALTIME_OUTPUT_TIMER
; -D WLEDMM_DISPLAY_W=800 ;; DSI Display Width
; -D WLEDMM_DISPLAY_H=1280 ;; DIS Display Height
; -D WLEDMM_DISPLAY_DEPTH=24 ;; DSI Display Bits Per Pixel (24 for RGB888)
; -D WLEDMM_DISPLAY_BUTTONS=32
; -D WLEDMM_DISPLAY_BUTTONS_COLS=8
; -D REALTIME_OUTPUT_TIMER
; -D WLED_DISABLE_LOGGING
; -D PARLIO_TIMER
; -D PARLIO_AUTO_OVERCLOCK
Expand All @@ -937,10 +947,9 @@ build_flags = -Ofast
-D CORE_DEBUG_LEVEL=0 ;; ESP_LOG_VERBOSE ;; ESP_LOG_VERBOSE == 5
-D NDEBUG ;; comment this out if REALLY debugging for things like Parallel IO, PPA, etc
-D WLED_USE_ETHERNET ;; Coexistence is slower but both work now. Ethernet is preferred automatically.
; -D WLED_USE_ETHERNET_ONLY ;; Disable WiFi for performance reasons - on the P4 it needs high priority background tasks to talk to the C6
;-D WLED_USE_ETHERNET_ONLY ;; Disable WiFi for performance reasons - on the P4 it needs high priority background tasks to talk to the C6
-D E131_MAX_UNIVERSE_COUNT=50
-D FAKE_DEFINE_151
-D ARTNET_TIMER
-D FAKE_DEFINE_153
; -D ARTNET_SYNC_ENABLED ;; reduces tearing with FPP but also slower.
-D MAX_LEDS=99999 ;; 65535 ;; 18432
-D MAX_LEDS_PER_BUS=99999 ;; 65535 ;; 18432
Expand All @@ -964,31 +973,19 @@ build_flags = -Ofast
-D USERMOD_AUDIOREACTIVE
-D USERMOD_AUTO_PLAYLIST
-D USERMOD_PIONEER_PROLINK
-D USERMOD_ARTNETMAP
-D UM_AUDIOREACTIVE_USE_ESPDSP_FFT
-D SR_DMTYPE=4 ;; 9 = ES8311 (new) which is the codec chip on the ESP32-P4 EV board
-D I2S_SDPIN=33
-D USERMOD_MIDI_USB ;; WIP usermod for control surfaces like the Akai APC Mini Mk2 (the reference controller)
-D UM_AUDIOREACTIVE_USE_ESPDSP_FFT ;; This is redundant, we ONLY use this now.
-D SR_DMTYPE=4 ;; 9 = ES8311 (new) which is the codec chip on the ESP32-P4 EV board
-D I2S_WSPIN=26
-D I2S_CKPIN=32
-D MCLK_PIN=36
-D MCLK_PIN=36
-D SR_ENABLE_DEFAULT
; -D TROYHACKS_FAILSAFE_BUSSES ;; in case you have a bus type causing resets during testing, turn this on, upload, busses will be removed at boot. Then reflash without this flag.
-D WLED_DISABLE_ESPNOW ;; not working yet due to API changes in v5.3
-D CONFIG_ADC_SUPPRESS_DEPRECATE_WARN
-D CONFIG_I2S_SUPPRESS_DEPRECATE_WARN
-D WLED_DISABLE_IMPROV_WIFISCAN
; -D ENABLE_VL53L8CX
-D VL53L8CX_DISABLE_AMBIENT_PER_SPAD
-D VL53L8CX_DISABLE_NB_SPADS_ENABLED
-D VL53L8CX_DISABLE_NB_TARGET_DETECTED
-D VL53L8CX_DISABLE_SIGNAL_PER_SPAD
-D VL53L8CX_DISABLE_RANGE_SIGMA_MM
; -D VL53L8CX_DISABLE_DISTANCE_MM
-D VL53L8CX_DISABLE_REFLECTANCE_PERCENT
; -D VL53L8CX_DISABLE_TARGET_STATUS
-D VL53L8CX_DISABLE_MOTION_INDICATOR
; -D SR_DEBUG
; -D FFT_SAMPLING_LOG
; -D SR_DEBUG
; -D USERMOD_ANIMARTRIX
; -D WLEDMM_NO_MAP_RESET
; -D WLED_DEBUG_MAPS
Expand All @@ -997,17 +994,21 @@ lib_deps = https://github.com/Makuna/NeoPixelBus#CORE3
https://github.com/softhack007/FastLED.git#ESP32-C6
https://github.com/troyhacks/ESPAsyncWebServer
https://github.com/lovyan03/LovyanGFX
lib_ignore = WebServer
; https://github.com/troyhacks/animartrix.git
lib_ignore = IRremoteESP8266
WebServer
; SD
; SD_MMC
board_build.partitions = tools/WLED_ESP32_8MB_1500KB_FS.csv ;; WLED_ESP32_8MB.csv
board_build.flash_mode = qio
monitor_filters = esp32_exception_decoder, colorize
monitor_speed = 115200
upload_speed = 921600
framework = arduino
lib_compat_mode = strict
extra_scripts = pre:pio-scripts/set_conditional_libs.py
pre:pio-scripts/platformio_version.py
extra_scripts = ; pio-scripts/enable_lto.py
pre:pio-scripts/set_version.py
pre:pio-scripts/platformio_version.py
pre:pio-scripts/build-html.py
post:pio-scripts/output_bins.py
post:pio-scripts/strip-floats.py
Expand Down
Loading