5297 Commits

Author SHA1 Message Date
Frank
0404ec9881 changes in response to feedback from @willmmiles
* MIN_SHOW_DELAY -> MIN_FRAME_DELAY
* allow up to 250 for target FPS
* minor cleanup
* added specific MIN_FRAME_DELAY for -S2
2024-11-07 23:15:39 +01:00
netmindz
6ff5c88ebf
List ESP32 first 2024-11-07 08:17:08 +00:00
Frank
1e761c31bd simpler hight FPS warning
* removed "use 0 for unlimited"
* added "high FPS mode is experimental" warning
* added "backup first!" warning
* added anchor #backup to sec page
2024-11-06 22:09:33 +01:00
Frank
ab7b2d729e use class="warn" for unlimited mode message 2024-11-05 12:24:20 +01:00
Damian Schneider
271a07a7d6
Merge pull request #4250 from DedeHai/FPS_calc_averaging
Fixed & improved FPS calculation
2024-11-05 08:52:42 +01:00
Frank
029293a086 simplify sheduler logic
* _frametime ensures that effects are not serviced too often
*  MIN_SHOW_DELAY is the minimum allowed FRAMETIME that can be requested by effects
2024-11-04 20:11:10 +01:00
Frank
cf1630a94a 0 FPS = unlimited 2024-11-04 19:49:43 +01:00
Damian Schneider
4634ace74e Added define for bitshift, removed dithering
dithering is not really needed, the FPS_MULTIPLIER is a much better option.
2024-11-04 19:33:42 +01:00
Damian Schneider
3733715184
bugfix
bitshift was still set from testing, forgot to update
2024-11-04 17:38:45 +01:00
Damian Schneider
bf37ac53a3 improved FPS calc resolution, added averaging & multiplier compileflags
Fixed point calculation for improved accuracy, dithering in debug builds only.
Averaging and optional multiplier can be set as compile flags, example for speed testing with long averaging and a 10x multiplier:

-D FPS_CALC_AVG=200
-D FPS_MULTIPLIER=10

The calculation resolution is limited (9.7bit fixed point) so values larger than 200 can hit resolution limit and get stuck before reaching the final value.

If WLED_DEBUG is defined, dithering is added to the returned value so sub-frame accuracy is possible in post-processingwithout enabling the multiplier.
2024-11-04 08:10:05 +01:00
Frank
50934e6840 adressing some review comments
* keep FRAMETIME_FIXED as a fixed value
* remove WLED_FPS_SLOW and FRAMETIME_FIXED_SLOW
* explicit test "(_targetFps != FPS_UNLIMITED)" for debug messages
* don't modify _lastServiceShow in show()
* test for "fps == FPS_UNLIMITED" explicitly, so we could pick a different
 magic number later
2024-11-02 18:16:51 +01:00
Frank
891ea48e11 Merge remote-tracking branch 'upstream/0_15' into framerate_ac015 2024-11-02 17:56:24 +01:00
Frank
70323b9477 rename delay -> frameDelay
Avoiding name collisions with the 'delay' function.
2024-11-02 17:50:30 +01:00
Frank
451cd4c74a Improved framerate control in strip.show(), strip.service()
* separate fps calculation (strip.show) from framerate control (strio.service)
* improved condition for early exit in strip.show
* make MIN_SHOW_DELAY depend on target fps
* strip.show consideres complete time for effect calculation + show; old code wrongly used the time between completion of last show and start of next effect drawing, causing unexpected slowdown
* add "unlimited FPS mode" for testing
* increase warning limits for "slow strip" and "slow effects"
2024-11-01 23:19:38 +01:00
Frank
7d0951a08a
Merge pull request #4243 from MoonModules/AC_0_15_S3-WROOM2
Add support for ESP32-S3 WROOM-2 (solves #4099)
2024-11-01 22:04:21 +01:00
Frank
d98ca9a202 show correct flash mode in WLED_DEBUG 2024-11-01 21:51:46 +01:00
Frank
3c2c5bedc5 LEDPIN --> DATA_PINS 2024-11-01 21:42:54 +01:00
Frank
749d34cd30 pinmanager support for S3 WROOM-2 (pin 33-37 reserved for flash) 2024-11-01 21:31:57 +01:00
Frank
1898be2fe1 S3 WROOM-2 buildenv
this chip has 16MB or 32MB flash, and requires .memory_type = opi_opi
2024-11-01 21:13:43 +01:00
Blaž Kristan
af34da4160
Merge pull request #4231 from Aircoookie/b7
WLED 0.15.0-b7 release
v0.15.0-b7
2024-10-30 20:59:00 +01:00
ingDIY
fa053b7e60
Update platformio_override.sample.ini
fixed back U8g2 version
2024-10-29 01:14:02 +01:00
Blaž Kristan
4588219e31 Update changelog 2024-10-28 12:42:53 +01:00
Blaž Kristan
6e89346f00 WLED 0.15.0-b7 release
- fix for #4172
- fix for #4230
- /json/live enabled when WS disabled
2024-10-27 18:47:10 +01:00
Damian Schneider
2703c9899a Bugfix in FX ripple_base() 2024-10-27 15:08:25 +01:00
maxi4329
d05c358fd2 version changed to 20 2024-10-27 11:13:56 +01:00
maxi4329
7c6bc5c421 indened formating 2024-10-26 21:07:17 +02:00
maxi4329
798c398f23 specified required nodejs ver 2024-10-26 20:33:38 +02:00
Blaž Kristan
4cc2cc4ad4 Multiple fixes
- increase WLED_MAX_BUSSES for C3 (fixes #4215)
- fix for #4228
- fix for very long running effect (strip.now, strip.timebase)
- C++ API change to allow `seg.setColor().setOpacity()`
2024-10-26 15:16:11 +02:00
ingDIY
dcfdca6351 cleaned up old references to USE_ALT_DISPlAY that aren't used anymore in the code/source files; fixed readme.md documents and updated instructions; removed referencies to old usermods; fixed invalid filenames; removed referencies to old usermods; checked cycle options; splitted and fixed platformio_override.sample.ini; 2024-10-25 12:14:37 +02:00
Svennte
832599b8c5
Fix alexa devices invisible/uncontrollable (#4214)
Fix for LED and Scenes uncontrollable using Alexa.
Weird behavior regarding to the device names and shared scenes fixed with this.

Seen in issue Aircoookie/Espalexa#228 and fixed from @ams-hh
Tested by myself and works just fine. Created second pull request here because the library seems to be a bit different from the official Espalexa repo.

---------
Co-authored-by: Frank <91616163+softhack007@users.noreply.github.com>
Co-authored-by: Blaz Kristan <blaz@kristan-sp.si>
2024-10-25 09:33:05 +02:00
Will Miles
c81ef2669e
Merge pull request #4223 from willmmiles/f-string-hygiene
Usermod F-string hygiene
2024-10-24 15:23:11 -04:00
Will Miles
19d837c222
Merge pull request #4222 from Aircoookie/esp8266-oappend-fix
Esp8266 oappend fix
2024-10-24 15:22:46 -04:00
Will Miles
4f48ddfaec Replace SET_F with F in usermods
Since oappend() is now strongly typed, pass the correct type.  This is a
step towards removing the extra shim logic on ESP8266.
2024-10-23 21:35:30 -04:00
Will Miles
2e01fe0b5b Revert "Replace SET_F with F in usermods"
This reverts commit 7d067d8c305c3c6f397b6863f6849659a0aadd24.
2024-10-23 21:34:35 -04:00
Will Miles
7d067d8c30 Replace SET_F with F in usermods
Since oappend() is now strongly typed, pass the correct type.  This is a
step towards removing the extra shim logic on ESP8266.
2024-10-23 21:28:21 -04:00
Will Miles
b3b326738c Fix incorrect SET_F calls
Replace with F() or PSTR() as appropriate.
2024-10-23 21:26:40 -04:00
Will Miles
2bb2caf2d2 Enable NON32XFER_HANDLER on ESP8266
This is a platform feature that asks forgiveness for PROGMEM misuse:
it adds a handler such that incorrectly used PROGMEM will work without
crashing, just really, *really* inefficiently.

Given that most of our real-world use cases for PROGMEM strings are
relatively infrequent text calls, we can err on the side of developer
convenience and address performance problems if and when they arise.
2024-10-23 20:01:42 -04:00
Will Miles
2a094883ad Better oappend shim on ESP8266
Detect IRAM pointers if we can't be sure.
2024-10-23 20:01:42 -04:00
Frank
6d1126b8aa
Update audioreactive readme.md
added `-D sqrt_internal=sqrtf` -> needed for good performance
2024-10-22 16:19:46 +02:00
Frank
26a47537f9 AR memory optimization - part 2
shorten strings in UI script - saves a few hundred bytes on RAM
2024-10-22 15:15:14 +02:00
Frank
01d43c69fb AR memory optimization - part 1
allocating FFT buffers late makes up to 16Kb heap available when audioreactive is not enabled.

Already tested in MM fork.
2024-10-22 14:45:32 +02:00
Frank
7db1989093 fix major performance regression in ArduinoFFT
since v2.0.0, we cannot override the internal sqrt function by #define --> moved to build_flags.

Average FFT time on esp32 : 4.5ms --> 1.8ms
2024-10-22 14:42:48 +02:00
Will Miles
32eee3365a PinManager: Make in to namespace
Namespaces are the C++ language construct for grouping global functions.
2024-10-20 11:11:23 -04:00
Will Miles
95b4bde918 UsermodManager: Make into namespace
Namespaces are the C++ language construct for grouping global functions.
2024-10-20 11:11:20 -04:00
Frank
0a97e28aab bugfix: prevent preset loading from resetting other errors
without this fix, any not-yet reported error - like filesystem problems at startup, or out-of-memory - was rest by successfully loading a preset.
2024-10-19 18:43:10 +02:00
1Prototype1
4fa8a3898a Added Distribute for cpal
Added a button to distribute the color markers in palette equally
2024-10-19 00:30:24 +05:30
maxi4329
caa997fff1 removed onkeydown tried to find a replacement for the nbsp 2024-10-18 18:43:41 +02:00
maxi4329
bd68b977d5 minor webui enhancements 2024-10-17 18:07:01 +02:00
Damian Schneider
98a6907976 cleanup and improvement to sin_appros()
-replaced all PI references with M_PI version
-there is no need to do the angle-modulo in float, casting it to an integer does the same BUT it has to be cast to an `int` first, see comment.
2024-10-16 19:53:58 +02:00
Christian Schwinne
e9d2182390
Re-license the WLED project from MIT to EUPL (#4194) 2024-10-16 00:07:19 +02:00