Skip to content

Release notes v0.14.0-b26

Below are the ongoing updates in WLEDMM which are included in release v0.14.0-b26.30

Some _S builds are optimized for speed

July 21st, 2023

By @Softhack007

Some MoonModules builds are now utilizing compiler option -O2 "optimize for speed", instead of -Os "optimize for size".

As the firmware size grows with this option, only a few _S firmware binaries for esp32 are currently build with this higher optimization level:

  • esp32_4MB_S (flash usage 87.4% --> 98.8%)
  • esp32_16MB_V4_S (flash usage 73.3% --> 82.9%)
  • esp32_16MB_S (includes animartix)
  • esp32S3_8MB_S for -S3 (up to 45% faster than normal build!)

First tests show 20%-35% higher FPS (framerates) in effects!

Known issue: USERMOD_ANIMARTRIX aborts with internal compiler error when building with -O2:

wled00/../usermods/usermod_v2_animartrix/usermod_v2_animartrix.h: In function 'uint16_t mode_Waves()':
wled00/../usermods/usermod_v2_animartrix/usermod_v2_animartrix.h:340:1: error: insn does not satisfy its constraints:
 }
 ^
 (insn 811 738 824 24 (set (reg/v:SF 19 f0 [orig:69 result ] [69])
        (mem/u/c:SF (symbol_ref/u:SI ("*.LC1575") [flags 0x2]) [0  S4 A32])) ".pio/libdeps/my_esp32_16MB_V4_S_debug/animartrix/ANIMartRIX.h":345 47 {movsf_internal}
     (nil))
 during RTL pass: postreload
 wled00/../usermods/usermod_v2_animartrix/usermod_v2_animartrix.h:340:1: internal compiler error: in extract_constrain_insn, at recog.c:2210
 libbacktrace could not find executable to open
 Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions.