Commit Graph

1117 Commits

Author SHA1 Message Date
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
Frank
0bb0b7f036 Custom palette gamma (fixes #126)
based on upstream 7f6486c77d
2024-04-09 20:02:06 +02:00
Frank
bc249379f0 minor improvements from upstream
* add checkSettingsPIN() and get_random_wheel_index() functions
* add on/off state to UDP data
* small robustness improvements
2024-04-09 15:43:46 +02:00
Frank
9f5a75ffab build number up 2024-02-25 19:48:06 +01:00
Frank
ff56cf0ee9 Pinwheel speed optimizations
* use "float" math only - sinf(), cosf(), roundf()
* use fewer "rays" for medium-sized matrix (<=32 pixels wide/high)
* ray drawing optimized to use fixed point

up to 80% faster on esp32 and esp32-S3; -S2/-C3 should also see benefits, as these do not have floating point support in hardware.
2024-02-25 18:00:19 +01:00
Ewoud
d9e2fc9a99 appendGPIOinfo NUM_DIGITAL_PINS fix 2024-02-25 11:01:03 +01:00
Frank
2cc67245ca avoid infinite disconnect loops when RAM is low 2024-02-23 10:54:50 +01:00
Frank
7ae38649ad post merge
MM specific adjustments
2024-02-23 10:24:26 +01:00
Frank
0628152297 build number up 2024-02-18 16:59:03 +01:00
Frank
c9b416a4fe prevent flickering during OTA
I've almost toasted my wiring due to uncontrolled LED flickering during OTA.
So here is the fix - it prevents any strip updates when OTA is ongoing.
2024-02-12 21:53:59 +01:00
Will Tatam
6970b82e37 Merge branch 'mdev' into dmx_input 2024-02-10 17:10:15 +00:00
Frank
9164998190 release -b30.36 preparation
0.14.1 as we have all relevant bugfixes for upstream.
2024-01-29 16:07:54 +01:00
Frank
a8897203a9 trying to make palette preview look close to real LED colors
FastLED palettes (from palettes.h) use gammas (2.6, 2.2, 2.5). Screens expect un-corrected colors, so we try to revert palette gamma correction in the browser.
2024-01-28 16:19:16 +01:00
Frank
27e0bff4ee make "segment off" work (MM specific) - fixes #90
fix for #90

In principle its dangerous to write pixels from the webserver callback, but in this case we should be save -  `suspendStripService=true` ensures that strip.service() is not active in the main loopTask.
2024-01-26 17:21:31 +01:00
netmindz
42109fe606 Merge branch 'mdev' into dmx_input 2024-01-16 13:27:42 +00:00
Frank
8a4792b4c4 version bump 0.14.0-b29.35
release prep
2024-01-03 17:10:08 +01:00
Blaz Kristan
aa9e8bbe4d Bugfix #3632 2024-01-02 17:31:55 +01:00
Frank
4b89016c2d audio-enhanced standard effects
backported from WLED-SR
2023-12-31 00:01:29 +01:00
Blaz Kristan
738df1847a Fix for #2922 2023-12-29 17:21:43 +01:00
Frank
5e5233ce0c version bump -b28.35 2023-12-29 17:04:42 +01:00
Frank
cde3298c54 MM experimental - build flag to move ALL json into PSRAM
-DALL_JSON_TO_PSRAM -DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON

on -S2, this *doubles* the PSRAM utilization!

before: heap used 85%, PSRAM used 13kb / 21kb
after:   heap used 60%, PSRAM used 41kb / 65kb !!
2023-12-18 20:41:11 +01:00
Frank
ca9644f04e removing my nasty debug probes; version number of today
enough of this shit ;-) no more stiff upper lips.
2023-12-18 18:33:29 +01:00
Frank
cf20c80098 #define _MoonModules_WLED_
very useful to create "runs anywhere" usermods.
2023-12-16 23:20:31 +01:00
Frank
7624b76186 version bump 0.14.0-b28.34 2023-12-16 22:58:14 +01:00