Wykres commitów

3922 Commity (e260b9473a76600deffbf41171d7583560bdd03c)

Autor SHA1 Wiadomość Data
Frank 42b247756a blur speedup
it seems that SEGMENT.blur() is the main bottleneck for many 2D effects.

This change optimizes performance of the function:
* avoid to re-write unchanged pixels
* early exit when blur_amount == 0 (=nothing to do)
* use _fast_ types where possible

I've seen up to 20% speedup with this change.
2023-07-06 19:51:37 +02:00
Frank fbbf2d5eb3 2DPlasmaball - optimize out float 2023-07-06 19:07:09 +02:00
Frank 788a276616 fix power calculation for NeoPixelBusLg
power estimation results from estimateCurrentAndLimitBri() were too low (example: estimated 1.3Amp, measured 1.6Amp). This change corrects the power calculation. Due to the changed behavior of getPixelColor, powerSum must be used as-is, not scaled down again by brightness.
2023-07-06 19:06:31 +02:00
Frank 196779ffb6
XY: minor bugfix
properly handle width=0 OR height=0
2023-07-06 09:54:12 +02:00
Blaz Kristan 59a144baed Disable global buffer on ESP8266 by default
Remove global dependency from Bus class and subclasses
Remove timings
2023-07-05 23:57:46 +02:00
Blaz Kristan ad825b80b0 Added a few debug timings. 2023-07-05 17:16:54 +02:00
Frank 45a0061660
reverting _restaurationBri change
see previous discussion
2023-07-05 14:26:09 +02:00
Frank 8831c76fb4 restoreColorLossy small optimization
minor optimizations that give up to 10% speedup in my tests
* use "fast" integer types (where possible)
* replaced _bri with _restaurationBri (no use of globals)
2023-07-04 16:22:19 +02:00
Blaz Kristan 66616e1cab Some timings added. 2023-07-03 21:13:01 +02:00
Frank fa281a0df0 ABL optimization
this optimization avoids to apply brightness two times .

NeoPixelBusLg has already applied global brightness at sPC. Due to internal working of the Lg bus, its sufficient to only post-apply scaling, and set the new (scaled) brightness for the next frame.
2023-07-03 19:23:57 +02:00
Frank d48a96599f prevent races on leds buffer (looptask vs. async_tcp)
I still see strange crashes in setPixelColor/GetpixelColor, which ssem to come from race conditions between async_tcp (change presets) and looptask (strip.service).
To make the situation better, its important that any global pointers are reset to NULL immediately after free().
2023-07-03 19:15:50 +02:00
Frank 7de7ef8e8c fix some crashes when changing presets
This fixes some of the crashes I had when changing presets.

still not a full solution ...
2023-07-03 17:00:43 +02:00
Frank 406a254523 inactive segments robustness improvement
* Avoid uint16 underflow in width() and height(): stop > start is possible, and means "inactive segment".

Without these checks, it was possible that width() and height() produce VERY large values due to underflow.
2023-07-03 15:43:47 +02:00
Frank eabd6f60ef soudsim bugfix
FFT_MajorPeak was just going from 0..255.
Now it simulates the full range from 21hz ... 8Khz
2023-07-03 15:07:14 +02:00
Frank e416d06aa9
Merge pull request #3274 from Aircoookie/ABL_hotfixPlus
some optimizations for ABL hotfix
2023-07-03 14:36:46 +02:00
Frank 65e073e6b8 de-optimization
first version still cased some flickering.
This de-optimization makes LEDs more stable.
2023-07-03 14:01:45 +02:00
Frank 45ac0d5dc6 fix for #3276
due to `if (strip.isUpdating()) return;` reading the encoder did not happen in time if the strip was active - with high number of LEDs, this means "always updating". Similar observation that we had with the audioreactive usermod, and similar solution.
2023-07-02 19:14:32 +02:00
Blaz Kristan c9ef034ab8 Build bump/fix 2023-07-02 13:43:29 +02:00
Titanium177 c89f38f4f8
Edited Metadata for effect 5 & 8 to be availible on just 1 Pixel (PWM) (#3275) 2023-07-01 23:18:02 +02:00
Blaz Kristan 858b57d77a Return of local leds[] 2023-07-01 21:48:30 +02:00
Frank 9b87892036 optimization for ABL hotfix
* adding an optional parameter to setBrightness(). ApplyPostAdjustments() will only be called if `immediate=true`. Only ABL will use immediate=true, to ensure electrical safety of equipment.

This allows some optimizations of performance, as ApplyPostAdjustments() is time consuming.

* busses.setBrightness(bri) --> applied to all future pixels (fast, lossless)
* busses.setBrightness(bri, true) --> applied directly to all previously set pixels (slower, lossy)
2023-07-01 20:09:52 +02:00
Blaz Kristan 272f96b405 Double buffering at bus level. 2023-06-30 21:12:59 +02:00
Andre Lackmann 3e519001a3
Removed current cycle assignment that clears current value (#3262) 2023-06-30 15:03:32 +02:00
Blaz Kristan f442aad962 Misc.
- larger stack buffer for oappend
- increase max segment name for ESP32
2023-06-27 16:01:20 +02:00
Christian Schwinne fa9b151c36 Slightly more efficient buffer copy to busses 2023-06-27 01:57:05 +02:00
Christian Schwinne 481bd6f57a
Add WiFi network scan RPC command to Improv Serial (#3271) 2023-06-27 01:51:44 +02:00
Blaž Kristan f015227fc8
Missing WS connection fallback for liveview (#3267)
* Missing WS connection fallback for liveview
- fix for #3250

Remove (conditional WLED_ENABLE_LEGACY) legacy URI

Replace /sliders with /?sliders

* Merge liveview and liveviewws pages

Remove /url string subpage
Enable /json/live by default

* WS retry count
Removed appended ws from URL

* Also reset WS retries on successful WS connection

---------

Co-authored-by: Christian Schwinne <cschwinne@gmail.com>
2023-06-27 01:51:24 +02:00
Christian Schwinne 61ba16b779 Global buffer and ABL fixes 2023-06-27 00:38:30 +02:00
Christian Schwinne f6e86bfcf8 First global buffer iteration 2023-06-26 22:12:32 +02:00
Christian Schwinne 498dd76730 Decouple segment led buffer from global led buffer 2023-06-26 18:16:38 +02:00
Christian Schwinne ebd909dfe7 Remove obsolete Visual Studio files 2023-06-26 00:17:34 +02:00
Blaz Kristan 067ed1258b Temporary bugfix for #3264 2023-06-24 21:04:46 +02:00
Blaz Kristan ef3c72a24f Fix for #3265 2023-06-23 23:49:54 +02:00
Blaz Kristan b257f476c9 Bugfix for #3259 2023-06-22 19:06:07 +02:00
Alerson Jorge d3af2be79a
Adding Pixel Magic Tool to WLED (#3249)
* Adding Pixel Magic Tool to WLED

* Revert "Adding Pixel Magic Tool to WLED"

This reverts commit b4f08fa8d5.

* Adding Pixel Magic Tool to WLED

* Corrections and performance improvements

* Remove IE compatibility tag

(saves a few bytes and IE10 is over 10 years old and unsupported)
Correct HTML language attribute
(Chrome would show a popup asking to translate from Portugese)

* Corrections and performance improvements

* Enable pxmagic by default

---------

Co-authored-by: Aircoookie <21045690+Aircoookie@users.noreply.github.com>
Co-authored-by: Christian Schwinne <cschwinne@gmail.com>
2023-06-22 11:26:24 +02:00
Christian Schwinne 94aeb19245 Enable pxmagic by default 2023-06-22 11:18:58 +02:00
Clayton Sims e4ee392c27
Support for ESP-NOW Wireless Remote Control (#3237)
* Initial checkin for ESP-NOW remote feature

* cleanup irrelevant comment

* don't bring in espnow package includes when feature disabled

* Formatting and removing inaccurate call mode hardcoding

* Fork ESP Now code by platform (8266 v. esp32)

* compiled html update

* Disable ESP-NOW remote by default on ESP32 until tested

* Enable ESP-NOW remote for ESP32

* Rename ESP NOW define

---------

Co-authored-by: cschwinne <dev.aircoookie@gmail.com>
2023-06-22 10:06:19 +02:00
Blaz Kristan cf48ad06ed New SPI display SSD1309 for 4LD.
Fixed global I2C usage (no pin allocation in usermods).
Enabled option dor Multi relay.
2023-06-21 23:31:15 +02:00
Will Tatam 63df85f7f9 AC lacks i2sMaster param to I2SSource 2023-06-19 13:33:46 +01:00
Will Tatam b29611509e AC lacks ERRORSR_PRINTLN 2023-06-19 13:33:16 +01:00
Will Tatam dd1cf0ec56 AC lacks ERRORSR_PRINTF 2023-06-19 13:27:54 +01:00
cschwinne c04c73bbd7 WS logic: No resending, improved ESP8266 stability
Update ESP8266 core to 3.1.2
2023-06-18 01:07:50 +02:00
Alerson Jorge 0d287283d4 Corrections and performance improvements 2023-06-16 20:21:59 -03:00
Blaz Kristan 4ea5723b7f Enhance pin dropdowns.
- add pins for PCF8574 (POC)
- bugfix for saving
Reduced maximum relays to 8.
Changed MultiRelay config parameter name.
2023-06-16 22:06:26 +02:00
Aircoookie ea964124d6 Remove IE compatibility tag
(saves a few bytes and IE10 is over 10 years old and unsupported)
Correct HTML language attribute
(Chrome would show a popup asking to translate from Portugese)
2023-06-16 12:02:09 +02:00
Blaz Kristan 75244853c1 Fix for #3251 2023-06-16 10:24:56 +02:00
Alerson Jorge c361c34b16 Corrections and performance improvements 2023-06-15 22:10:54 -03:00
Aircoookie 264b3a785b Code style: define constants for settings subpage IDs 2023-06-15 23:58:22 +02:00
Frank bb15e1d8ac
minor comment update
Small corrections in Lissajous comments
2023-06-15 09:30:44 +02:00
Alerson Jorge 68860ae866 Adding Pixel Magic Tool to WLED 2023-06-14 19:38:11 -03:00