Commit Graph

1140 Commits

Author SHA1 Message Date
Frank
2cc08486fd change version numbering scheme
* use 14.5.0-dev instead of "0.14.5.0-b32.41.dev"
* new release name "Small Step"

* semantic versioning compatibility checked, see  https://jubianchi.github.io/semver-check/#/version/14.5.0-dev
2024-12-11 15:09:05 +01:00
Frank
86ed5a82e3 DNA effect: additional parameter "phases" (thanks @ewoudwijma )
controls the number of phases shown by the effect

breaking - the old code was using a fixed width per wave,  while the new one always fits the same number waves into the panel width.
2024-12-03 16:31:52 +01:00
Frank
6c87799ce5 post merge 2024-11-29 00:48:27 +01:00
Frank
f21b2949f1 fix for effect double restart problem when cross-fade is enabled
we only use palette and brightness transitions, so effect restart at the transition end is not required.
2024-11-27 21:13:46 +01:00
Frank
402786c14e GEQ FLat mode (1D) 2024-11-27 11:11:07 +01:00
Frank
d6dedd025d color_fade optimizations
* removed unnecessary conditions
* optimized bit-shifting logic
* use uint16_t for colors, to prevent the compiler from using 64bit integer
2024-11-15 20:12:01 +01:00
Frank
776718b734 2D drift improvements for large panel sizes
speedup, accuracy improvements and enhancements:
* separated calculations in float from integer
* improved time resolution
* slow down effect on for dimensions >32
* added original "twin" option
* added customizable blur (thanks dedehai)
2024-11-14 18:30:43 +01:00
Frank
202255849f fix errors when width>255 or height>255
some effects still don't work when x y dimensions do not fit into 8bit
2024-11-13 23:06:27 +01:00
Frank
537638e5a2 Bugfix: saving LED settings not possible when brightness limiter disabled
--- and the "Maximum Current" field is empty or has a value below 250.
2024-11-08 14:30:19 +01:00
Frank
53ecf16ab1 bugfix: make freeze work again
the last commit had a side-effect that cause "freeze" to first blank the screen, then freeze.
2024-11-07 16:43:20 +01:00
Frank
0ec5d3394f T7-S3 (LILYGO / TTGO) with MOONHUB
build env and HUB75 pinout for S3 and MOONHUB HUB75 adapter board
2024-11-04 22:54:30 +01:00
Frank
a362b619fb fix JSON buffer problem on classic esp32 with PSRAM
as it turns out, classic esp32 cannot allocate more than 64kb for json doc.
2024-10-30 17:00:44 +01:00
Frank
e3444174c0 align PSRAM build flags on all MM targets 2024-10-30 15:52:39 +01:00
Frank
711c709900 allocate more PSRAM for JSON 2024-10-28 10:30:01 +01:00
Frank
cff17861a4 bugfix: rest segments when leds are switched off/on
based on an idea from @blazoncek in 4cc2cc4ad4 (diff-749825f808f7ce1ce1108fffc7ed037085160a63cad32397135dfc0063494373R56)
2024-10-27 16:43:21 +01:00
Frank
adf7270ee5 build 2410200 2024-10-20 01:07:27 +02:00
Frank
617a98ddd8 bugfix: preset loading should not resets all error
preset loading was always resetting errorFlag to NO_ERROR.
Changed so only preset-related error are reset.
2024-10-17 12:00:27 +02:00
Frank
1fcb15bcc0 build number 2410080 2024-10-08 19:02:55 +02:00
Frank
7740c7dc62 drip effect rework
* made effect time-defendant (instead of framerate dependent)
* made effect a bit slower
* fixed physics
* made dropping more random (avoids skipped rows)
* drop traces look better now
* made bounce more realistic
* prevent off-screen drawing
2024-10-07 13:14:50 +02:00
Frank
b245112d2a some drawing speedups
* speedups for addPixelColorXY, fadePixelColorXY, fadeToBlackBy
2024-09-28 02:19:53 +02:00
Frank
bc11ec4b4e HUB75 bugfixes
* exclude HUB75 from ABL (bad macro in const.h; "pwr" item in json.cpp)
* show HUB75 as "physical" (LEDs preferences)
* minor corrections
2024-09-26 17:33:40 +02:00
Frank
f1088bb5c0 (experimental) loop2 to get fresh audio just before drawing
* introducing usermod::loop2() - runs just before strip.service()
--> expecting to reduce lagging between audio and visual to an absolute minimum.
2024-09-21 20:41:05 +02:00
Frank
fc2e1263cb new option don't use effect-specific palette or mapping modes
* new setting in UI page: "Don't use effect palette and segment parameters" - only meaningful when "Use effect default parameters" is enabled, too.

--> effect slider defaults will still be applied, however palette, 1D2D mapping mode and other segment settings will not change.
2024-09-06 13:06:28 +02:00
Frank
030a7cee53 another small speedup, and segment stability improvement
* removed a few sanity check that are done again later in getPixelColor
* stability: prevent crashes when changing segments settings or effect options
2024-08-16 17:54:11 +02:00
Frank
f287143cc3 build 2408150 2024-08-15 20:36:09 +02:00
Frank
f8154a8c78 Update wled.h - build 2408080 2024-08-08 19:08:34 +02:00
Frank
7f9da309c9 const const const
adding hints for the compiler for optimization.
In case your custom build complains about "const", just remove the keyword. based on e82f38e277, but going further :-)

* "const" class functions : function does not modify any class attributes ( --> "this" becomes const)

* __attribute__((pure)) :  function return value depends only on the parameters and/or global variables. The function does not modify any global or static variables.
* __attribute__((const)) : function only examines arguments (no globals), and has no effects except the return value. This slightly more strict than "pure"
* hot: tells the compiler "this functions is called very often"
* cold: the opposite of hot
2024-08-07 14:58:38 +02:00
Frank
42919f9daf blob effect improvements, and a dirty hack for HUB75 double buffer
* mode_2Dfloatingblobs() improvements for large panels
* Segment::fillCircle() speed optimizations
* HUB75 hack (disabled by default): skip first fill(BLACK) when using double buffering (as the buffer gets cleared after each frame)
2024-08-06 15:53:46 +02:00
Frank
5240c3450b Segment drawing optimizations (FASTPATH only)
* cache width, height, and a few more values that are normally re-calculated for each pixel
* make normal sPC a bit faster
* Segment::fade_out() optimization

--> only active in FASTPATH mode, to preserve flash on small devices (8266)
--> code still needs some polishing
--> up to 20% speedup with some 2D effects (esp32,  flash qio 80Mhz, -O2)
2024-08-05 21:30:25 +02:00
Frank
078bd70775 HUB75 speedups and minor improvements
* HUB75: allow to use native driver gamma correction - requires to undo WLED gamma
* added unGamma24() function
* HUB75: optimized setPixelColor()
* some experimental HUB75 stuff
2024-08-05 17:28:03 +02:00
Frank
5b406e5500 build 2407171 2024-07-17 21:51:37 +02:00
Frank
14f286fc8b increase MAX_LEDS_PER_BUS to 8464 (92x92)
previous limit was 2048 (const.h) or 4096 (settings_leds.htm). Some busses like HUB75 or Network are abled to handle all LEDs on one connection.
2024-07-17 12:08:31 +02:00
Frank
528ec1fa4c version of today, -b32.41
featuring FastPath v2
2024-07-05 18:25:48 +02:00
Frank
c67d5dbdc4 build 2406240 - release v0.14.1-b32 2024-06-24 21:51:34 +02:00
Frank
e28fa67bf0 version bump -b32.40 2024-06-23 00:38:27 +02:00
Frank
6f6ba307c8 drip effect bugfixing
* bring back lost parameter "Fall ratio" (MM specific)
* stabilize the math, avoid rounding errors and unsigned overflows
* speed limit for long strips added
* gravity reduced slightly
2024-05-24 17:28:19 +02:00
Frank
21e6b4d62f optimization
replacing MIN / MAX (arduino macros) by more efficient min/max (libc templates)
2024-05-24 11:26:28 +02:00
Frank
eb3200bb29 align JSON release info with upstream 0_15 (update page, JSON "info")
align with upstream /json/info
* info.release
* info.arch
* info.clock
* info.flash
2024-05-22 13:03:30 +02:00
Frank
0c7450407e WLEDMM_TWOPATH - use I2S driver for second output
* TWOPATH is up to 20% faster in some situations.
* user_print for showing the driver unit (I2S#n, RMT#x) on serial
2024-05-17 21:24:10 +02:00
Blaz Kristan
64b1d76893 Palette loading optimisation
- fixes #3978
- FX: Firenoise can use selected palette
2024-05-16 00:07:18 +02:00
Blaž Kristan
c3a908634a Merge pull request #3946 from freakintoddles2/0_15
Adds an API parameter to allow the user to skip to the next preset in a playlist at any time
2024-05-05 22:21:04 +02:00
Frank
6261ecc057 Change default for ArduinoOTA (not the same as OTA) 2024-05-04 14:54:22 +02:00
Frank
4378bdda61 build no 2405040 2024-05-04 14:06:24 +02:00
Frank
de66ec45b7 make ALL_JSON_TO_PSRAM the default
PSRAM optimizations: always enable ALL_JSON_TO_PSRAM and WLED_USE_PSRAM_JSON
2024-04-28 22:56:06 +02:00
Frank
d058e33df3 slightly reduce flickering during file access
it seems that reading/writing "larger" files from LittleFS causes LED flickering.

This change adds a simple cache for "file not found" results, so that repeated file.exists() calls are avoided.
2024-04-28 18:57:05 +02:00
Frank
858610e39b trying to reduce flickering
The NeoPixelBus RMT driver seems to get stalled when ESP.get.... functions are called (big kernel lock?). Also its glitching during flash file access.

This change tries to avoid some conflicts by first checking that the driver is not sending.
2024-04-26 21:21:32 +02:00
Frank
e743c9b96c post-merge fixes, upgrade ESPAsyncWebServer 2.2.1 2024-04-23 17:32:38 +02:00
Frank
e886ece189 Segment::setPixelColorXY optimization
use a shortcut when the segment is "simple" and just a single pixel needs to be set on HW level.
2024-04-20 22:02:15 +02:00
Frank
93b8c63e2b post PR3904 fixes and improvements
* fix compiler warnings (uninitialized vars, ambiguous  functions calls)
* restore some lost function prototypes
* avoid negative pixel indices
* only use "fast" color_add when there is no risk of  "overshooting" results
* minor optimizations
2024-04-18 21:09:14 +02:00
Frank
019cafc5e0 report out-of-memory situations to the user 2024-04-16 19:10:46 +02:00