Commit Graph

3047 Commits

Author SHA1 Message Date
Ewoud
ca5a54bb72 Merge branch 'mdev' into audio_fastpath 2023-05-04 17:52:21 +02:00
Ewoud
642dbfed85 GFX default on, if set off it stays off (until page refresh) 2023-05-04 17:51:33 +02:00
Frank
4341d36885 move main JSON doc into PSRAM (experimental)
this should move the main JSON doc into PSRAM on WROVER boards.
* free heap should increase by ~60kb
* PSRAM use should go up by the same amount.
2023-05-04 17:09:43 +02:00
Frank
7d0e627e14 some effect optimizations
* getpixelcolor: attribute pure - it reads memory, but does not write
* some optimizations for SEGMENT.blur() and SEGMENT.fadeToBlackBy()

* FX.c:pp remove double calls to blur() and fade_out()
* FX.cpp: SEGMENT.setUpLeds() added to effects, to enable LED buffering (safe some time because getPixelColor does not need to access NeopixelBus)

* a few other optimizations to safe time and avoid "expensive" operations
* set I2C bus speed to 400kHz (default is 100Khz)

* a few other small optimizations and tweaks
* pio: esp32 V4 builds use "patch5" toolchain version, which contains a few bugfixes especially for memory management.
2023-05-03 20:33:23 +02:00
Frank
91d36fa269 fastpath: use i2s#1 for 5th LED pin
use 4 RMT channels, then I2S#1, then RMT 5-8. This allows to have up to 5 "fast" LED pins.

"Even though the ESP32 has 8 channels of RMT hardware, using beyond 4 has shown to cause sending delays." (https://github.com/Makuna/NeoPixelBus/wiki/ESP32-NeoMethods#rmt)
2023-05-03 00:29:14 +02:00
Frank
e1cadbc337 (experimental) reduced websocket frequency
fastpath: reduced websocket frequency, to have more time for physically attached LEDs.

fingers crossed that this won't break anything....
2023-04-30 21:00:28 +02:00
Frank
ac5aed8e36 websocket bugfix from upstream
web response buffer size (corruption when websockets not used)

432c5837f0
2023-04-30 19:28:44 +02:00
Frank
f69142d5be optimization for AA setPixelColorXY() 2023-04-30 19:09:38 +02:00
Frank
40c96c14f5 a bunch of smaller speedups to core functions
*  make local functions "static"
* use fast_ int types where possible
* use native min/max instead of MIN/MAX macros. Macros evaluate each parameter TWICE!!
* adding __attribute__((pure)) and __attribute((const)) to help the compiler optimize
* ws.cpp: reduce max "live leds" in fastpath mode
2023-04-30 18:41:30 +02:00
Frank
fb03a37b08 fps help in LED settings
led settings: added hint on max leds per pin
fx.h: faster FRAMERATE_FIXED
2023-04-30 18:37:14 +02:00
netmindz
d4bdb3037c Update FX.cpp
Assign proper attribution of DJLight to Stefan Petrick
2023-04-24 18:37:15 +01:00
Frank
fb3477e5f6 soundreactive effect updated
* blurz: some visual improvements
* Matripix: improved color smoothness, Color by frequency (instead of volume), option to use sound pressure
* pixelwave: improved color selection, use sound energy instead of volume
* freqwave: some speedups, option to show frequency with "musical scale"

* gravfreq: fixed some math accidents that lead to horrible flickering
* default setting improved for some effects
2023-04-21 23:27:14 +02:00
Frank
d5a7f5dd74 scrolling text bugfix
effect was crashing with too long or undefined segment names.
2023-04-21 19:27:37 +02:00
Frank
8e9db0adde more accurate FPS forESP32
the standard millis() code is very inaccurate in the "high FPS" ranges. This replaces it with the esp32 high resolution timer.
2023-04-21 17:34:01 +02:00
Frank
9130e4be54 minor optimization of core LED functions
* use _fast_ integer types in loops - in contrast to "uint16_t" etc, the compiler can leave out range/overflow corrections, so it might run faster.
* fcn_declare.h: revive "WLED_USE_REAL_MATH" option, which can be a bit faster on ESP32.
2023-04-21 16:44:58 +02:00
Frank
363567434d audio effects: allow to run at full speed
* set the "speed" slider to 255, for running at full speed
* #FPS (framerate) and #POW (ampere) added to scrolling text
2023-04-21 15:57:31 +02:00
Frank
00661de7fc accept up to 250 fps target in LED preferences
warning included.
2023-04-21 15:26:35 +02:00
Frank
33a78bef4d a little less buffer for -S2
the last change caused a build error for ESP32-S2: region `dram0_0_seg' overflowed by 5064 bytes
2023-04-20 00:58:31 +02:00
Frank
1b3d9a1a53 more JSON buffer for boards with PSRAM
allows to load ledmaps with > 15000 positions!
2023-04-20 00:34:01 +02:00
Frank
d90ee766f6 PSRAM: you can have it, and eat it or not eat it
*This patch allows to compile with BOARD_HAS_PSRAM, but not set WLED_USE_PSRAM - reserved pins will be protected, and PSRAM usage will be shown in info.
* if you add `-D WLED_USE_PSRAM_JSON` then PSRAM will be used for some JSON buffers, but not for LEDs and Segments.
2023-04-19 17:58:50 +02:00
Frank
e2d3800fc3 woraround for spurious crash in serializePalettes
the root cause of the crash is not really clear, as the problem seems to occur randomly, mosr frequent with fresh installations.
This workaround prevents the array bounds violation, by re-using the last valid  gGradientPalettes entry.
2023-04-19 15:34:35 +02:00
Frank
a2f15c775b WIFI_POWERON_HACK for AP mode
reduce TX power - required for C3 mini v1.0.0 (wemos), see https://www.wemos.cc/en/latest/c3/c3_mini_1_0_0.html#about-wifi
2023-04-19 11:56:29 +02:00
Troy
2e1189381d Merge pull request #35 from troyhacks/DDP-RGBW-Transmit-Fix
DDP Transmit RGBW Fix
2023-04-17 19:52:36 -04:00
Frank
8d85a52449 correct some stupid peak detection defaults
parameters C1 and C2 control peak detection. Previous defaults (c2=0 !!!) did not make any sense.
2023-04-17 21:35:47 +02:00
Frank
3f4294398a Blurz effect: back to original SR code
Modifications from upstream have made the effect kind of boring non-reactive. So we go back to the original effect.

HINT: Effect looks best with _segment_ brightness set to max (use _global_ brightness to reduce brightness as you like).
2023-04-17 21:22:11 +02:00
Frank
28c737df87 small fix
Serial0 does not exist without ARDUINO_USB_CDC_ON_BOOT
2023-04-15 23:37:54 +02:00
Frank
2585b785d9 remove duplictate dependancies (AsyncTCP 1.1.1)
* moving "pbolduc/AsyncTCP.git @ 1.2.0" on top of lib_deps, to prevent that AsyncTCP 1.1.1 is pulled in (due due dependacies from Aircoookie/ESPAsyncWebServer
* remove duplicate env.lib_deps from -S2 environments
2023-04-15 21:06:00 +02:00
TroyHacks
b7f1373e7d DDP Transmit RGBW Fix 2023-04-14 15:05:41 -04:00
Frank
4294f60151 npm run build 2023-04-14 20:00:35 +02:00
Frank
cc9a19bc1d partial merge of upstream/main
* leaving out DotStarHspi5MhzMethod, as we are still on NPB 2.6.9 for eth boards
* leaving out the index.css/index.css changes, as I'm not sure how to merge this.

@ewoudwijma we need to merge the JS and CSS parts when you are back; I'll stay with our MM version for now.
2023-04-14 19:53:04 +02:00
Will Tatam
cc25a21bcb Merge branch 'mdev' into audio-palette-updates 2023-04-14 18:28:43 +01:00
Frank
10ca7c83ca enumerateLedmaps: prevent buffer overflow
make sure that bounds of char fileName[33] are not exceeded by sprintf.
2023-04-14 18:33:07 +02:00
Frank
5f4dd53be4 V4 target: enable warning for variable shadoing
* pio.ini: add "-Wshadow=compatible-local" for V4 targets
* pio.ini: fix alignment for 8266 build_flags
* fix one (harmless) case of shadowed vars in MM specific code
2023-04-14 14:20:55 +02:00
Frank
db62153e34 fix for a potential array overrun
unguarded sprintf / strcpy are always a risk.
2023-04-13 23:20:57 +02:00
Frank
122f54a274 prevent heat-up on tiny -C3 boards
* reduce LED default brightness
* unset "disable wifi sleep" when WLEDMM_WIFI_POWERON_HACK
2023-04-13 23:00:51 +02:00
Frank
94a7f5623d handling of Serial on CDC USB board
... like the typical -C3
* Replaced a few direct Serial.printf with macros
* Always check if Serial is connected before printing (CDC sometimes hangs  when trying to send/receive without connection)
2023-04-13 22:59:09 +02:00
Frank
a193aabd67 Merge pull request #34 from troyhacks/2023-04-12-Art-Net_Transmit_Repair_Bad_Optimization
"Unfixing" an optimization to the Art-Net header.
The local "buffer" was shadowing the LED buffer (function parameter), so art-net would only send out headers but no LEDs.
2023-04-13 22:11:48 +02:00
TroyHacks
deb09c288a Unmessing an optimization to the header - which caused the header to be sent over and over. 2023-04-12 18:00:35 -04:00
Frank
04fa3995da soundsim bugfix
FFT_MajorPeak simulated value was too small.
2023-04-11 23:00:06 +02:00
Frank
61949cfdc8 Sound Pressure - some optimizations
- slightly extend input range
- add correction factors for some sound sources
- gravimeter: tweaking
2023-04-10 02:04:53 +02:00
Ewoud
822fcf272b ARTI-FX change .wled.log to .log 2023-04-08 15:32:58 +02:00
Ewoud
876b08e3e4 Temporary disable WLED_ENABLE_DMX_INPUT in esp32_4MB_V4_S_base 2023-04-08 14:42:14 +02:00
Ewoud
ca9bd2270e Merge remote-tracking branch 'upstream/main' into mdev
Everything merged except platformio.ini
4ld has not been merged previously
Update version to 0.14.0-b15.22
2023-04-08 14:12:17 +02:00
Ewoud
212126b0ad esp8266_4MB_M: usermods maches max usermods, add net print,set flashsize 2023-04-07 16:40:24 +02:00
Ewoud
a6e2cf0b26 ARTI-FX: Fix printing to USER_PRINT (if !logToFile) 2023-04-07 13:57:27 +02:00
Ewoud
4aea3970a3 ARTI-FX support 8266 (experimental!!) add soundpressure
Add ARTI-FX to esp8266_4MB_M (experimental!)

Arti.h
- FREE_SIZE ESP.getFreeHeap() for 8266
- define asChar(x) to print to Serial/File depending on ESP32/8266
- artiPrintf: print to USER_PRINTF (experimental)

Arti_wled.h
- add ARDUINO_ARCH_ESP8266 to ARTI_ARDUINO
- add soundPressure

usermod_v2_artifx.h: use FREE_SIZE
2023-04-07 12:43:38 +02:00
Ewoud
20a91454d1 Post marge: regenerate html_settings 2023-04-06 21:01:38 +02:00
MoonModules
7ffe25d55c Merge branch 'mdev' into DMX-Input-esp_dmx 2023-04-06 20:51:20 +02:00
Frank
6cce70b207 gravimeter and waverly: option to show sound pressure level
* adjusted gravimeter and waverly effects so that "Sound Pressure" can be used instead of volume
* some improvements to gravimeter effect
* fixing some over/underflows in gravimeter
* waverly: option "No Clouds" to only show lower part
2023-04-06 19:21:27 +02:00
Frank
197e120e3b estimated audio sound pressure 2023-04-06 18:58:20 +02:00