Commit Graph

2761 Commits

Author SHA1 Message Date
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
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
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
cschwinne
c04c73bbd7 WS logic: No resending, improved ESP8266 stability
Update ESP8266 core to 3.1.2
2023-06-18 01:07:50 +02: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
Blaz Kristan
75244853c1 Fix for #3251 2023-06-16 10:24:56 +02: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
Blaz Kristan
7538649e81 Add optional leading 0 on time and date for Scrolling Text
- replaces #2994
2023-06-14 21:58:32 +02:00
Frank
9e69627626
2D Lissajous improvements
* allow user to control rotation speed (c3 slider)
* preserve accuracy by performing division _after_ multiplication: " (i * speed) / 32", instead of " i * (speed / 32)"
* proper rounding of "map" results, for better visual appearance
* avoid division by zero in map() function
2023-06-14 20:21:43 +02:00
Aircoookie
dd9da2853a Support settings pin unlock via JSON
Also supports locking by providing any incorrect pin
2023-06-14 11:53:39 +02:00
Blaz Kristan
f6092b9128 Build bump & updated changelog 2023-06-13 21:10:11 +02:00
Blaz Kristan
5ca8f4a3aa Merge branch 'pin-dropdown' into beta-3 2023-06-12 22:22:47 +02:00
Blaz Kristan
ba6e2f0a54 Pin dropdown updates for LED pins.
Updated pxmagic
2023-06-12 19:21:14 +02:00
Blaz Kristan
149f4e38a0 Merge branch 'main' into dev-2 2023-06-11 09:54:44 +02:00
Blaz Kristan
b5ee170726 Merge branch 'main' into beta-3 2023-06-11 09:53:39 +02:00
Blaz Kristan
e22e8ffa0e npm 2023-06-11 09:44:15 +02:00
Jason Kölker
d18d800947
fix(settings): mitigate xss
Mitigate XSS on wifi scanning from injecting arbitrary code by using
`textConent` instead of `innerHTML`.

Partially Fixes #3233
2023-06-10 23:40:02 +00:00
Blaz Kristan
3ca58ee65f Pin dropdowns POC.
NeoPixelBusGammaMethod POC.
PixelMagic POC.
Button reassign POC.
2023-06-10 20:43:27 +02:00
Blaz Kristan
21387b9a83 Bugfix download backup json 2023-06-08 09:41:38 +02:00
Blaz Kristan
ccb0d491ed Port bugfix. 2023-06-08 07:14:03 +02:00
Blaz Kristan
daa3200713 Sync page bugfix 2023-06-08 07:06:23 +02:00
Blaz Kristan
fec2d1f7ee Bugfix
- respect Settings PIN lock in /json/cfg
2023-06-07 21:43:32 +02:00
Blaz Kristan
eb8e95723c Bugfix reverse proxy path detection 2023-06-07 21:37:54 +02:00
Blaz Kristan
dfb8de2349 Fix for #3204 2023-06-06 20:56:33 +02:00
David Sawatzke
59f1cdcc82 Fix WS2801 output on boards with ethrnet (similar to #2542)
and the corresponding fix d1fed11d0d
2023-06-06 16:34:22 +02:00
Blaz Kristan
3eb8be6239 Bump version and update changelog 2023-06-04 20:14:10 +02:00
Blaz Kristan
7dfc4a651d Merge branch 'main' into beta-3 2023-06-04 20:11:27 +02:00
Blaz Kristan
189d145393 Merge branch 'main' into beta-3 2023-06-04 18:43:28 +02:00
Blaz Kristan
26bec11d76 Reverse proxy support. 2023-06-04 18:40:29 +02:00
Blaz Kristan
1e7071bff3 Transition bugfix. 2023-06-04 18:36:46 +02:00
Blaz Kristan
92390d1d59 Bugfix in DDP handling. 2023-06-04 17:55:29 +02:00
Aircoookie
d383bc93c7 Changelog update
Reduce width of ethernet mode dropdown
2023-06-02 10:51:37 +02:00
Sebastian
af88c68fca
Buttons: Trigger on button press (instead of release) if all configured presets are the same (#3226)
* Buttons: Trigger when pressing if all configured presets are the same

* Add debounce for immediate rising-edge short press

---------

Co-authored-by: Aircoookie <21045690+Aircoookie@users.noreply.github.com>
2023-06-02 10:51:16 +02:00
Sebastian
9d22a06969
Changes for allowing Alexa to change light color to White when auto-calculating from RGB (#3211)
* Changes for allowing Alexa to change light color to White when auto-calculating from RGB

* Update alexa.cpp

Indention

* Do not rely on global auto white override

(gets white mode from segment light capabilities)

* alexa.cpp: Removed unnecessary whitespaces

---------

Co-authored-by: Aircoookie <21045690+Aircoookie@users.noreply.github.com>
2023-05-31 20:12:17 +02:00
Justin Mutter
a5161eb7f1
Use constant for mDNS name to allow setting from my_config.h (#3145) 2023-05-31 17:35:43 +02:00
Blaz Kristan
82e448de7c Beta-3 changes
- remove I2C init  from usermods
- PCF8574 (&co) port expander support
- refactor PIR &  Rotary encoder & 4LD
- reboot race condition
- optimisations
2023-05-30 19:36:14 +02:00
Blaž Kristan
69ab2ce402
Merge branch 'main' into feature 2023-05-30 16:20:20 +02:00
Blaz Kristan
4374930065 npm build 2023-05-30 16:18:11 +02:00
Blaz Kristan
9f3520cba5 Update comments. 2023-05-30 16:09:51 +02:00
Blaz Kristan
d20cdc099d Merge branch 'main' into feature 2023-05-30 15:55:39 +02:00
Blaž Kristan
926e9ff3de
Merge pull request #3171 from Aircoookie/seg-groups
Add support for segment sets (groups of segments)
2023-05-30 15:53:39 +02:00
Frank
70c277d8a1
bugfix: don't hide sound sim options for "double note" effects
There was is a typo in this line - apparently the "\u" was missing, so the search string was interpreted as octal char instead of unicode.
2023-05-30 13:23:26 +02:00
Blaz Kristan
0a5aac724a Merge branch 'main' into seg-groups 2023-05-29 21:35:52 +02:00
Christian Schwinne
bb91d5495f
Merge branch 'main' into feature 2023-05-29 21:31:40 +02:00
Blaz Kristan
995d94c124 Repeat segment button fix 2023-05-29 21:23:11 +02:00
Aircoookie
ee7036f13d CSS tweaks
Fix repeat segment button remaining hidden
Fix third segment row (offset) alignment in 1D mode
Keep disabled sound simulation modes as comment for reference
New local var for 2D seg UI, improves code legibility
2023-05-29 21:06:10 +02:00
Blaz Kristan
5a8a8dc292 Feature implementation
- #2236
  - #1984
Better PSRAM handling
platformio.ini update
On/Off bus handling
2023-05-28 22:50:19 +02:00
coral
7d84de6690
Fix errors in DDP implementation (#3193)
* fix DDP spec

* Adjust DDP type byte to latest spec

Allow receiving of RGBW DDP with either old or new bits per channel value

---------

Co-authored-by: Aircoookie <21045690+Aircoookie@users.noreply.github.com>
2023-05-26 14:58:40 +02:00
Blaz Kristan
56a3bff42e Multi-packet MQTT fix.
Solves #3205
2023-05-23 18:37:24 +02:00
Blaz Kristan
bffeec1615 Remove PSRAM use from global LED buffer. 2023-05-21 18:37:18 +02:00
Frank
e4a9f115cb fx functions: avoid memory corruption
* PSRAM_Allocator was missing the "reallocate" method, which lead to undefined behaviour when dynamic JSON doc needed to grow/shrink
* Segment::setUpLeds() quickfix for length() == 0 (should not happen, but it did happen for me once)
* leds in PSRAM causes major slowdown on wrover boards - disabled.
2023-05-21 14:33:25 +02:00
Frank
a717238f76 espalexa robustness improvements
* prevent string buffer overflows (stack corruption)
* avoid division by zero (program might crash)
* avoid log(0) which is undefined, too
* use faster math routines for float (logf, powf)
2023-05-21 13:21:38 +02:00
Blaz Kristan
4a567ab97c Merge branch 'main' into seg-groups 2023-05-15 17:06:38 +02:00
Blaz Kristan
90431b662b Rename "group" to "set" 2023-05-15 17:06:29 +02:00
Blaz Kristan
1c8f349a62 Bugfix.
- prevent LED flash on realtime end
2023-05-14 20:30:57 +02:00
Blaz Kristan
217004c70c Bugfix.
- disbled transitions/crossfade prevented segment off
2023-05-14 18:18:09 +02:00
Blaž Kristan
a75608628e
Merge pull request #3199 from Aircoookie/serg-eth
Serg74 ethernet board.
2023-05-13 15:29:13 +02:00
Blaž Kristan
33130f39ee
Merge pull request #3190 from Aircoookie/octopus
Octopus & Waving Cell 2D effects
2023-05-13 15:27:16 +02:00
Blaz Kristan
cae43e97cd Corner fix 2023-05-13 15:17:49 +02:00
Blaz Kristan
16b66afa7a Octopus offset 2023-05-10 21:06:48 +02:00
Frank
9e446210fb
refresh build number 2023-05-09 17:57:17 +02:00
Frank
b0118d2d57 use size_t as file index type (might prevent corruption)
* use size_t instead of uint16_t -> prevents random behaviour (corruption) in case that JSON files get larger than 64Kbytes.
* use a constant for max large file space (was UINT16_MAX)
* reduced the scope of some functions and variables to "static" - avoids name clashes and may support better optimization by the compiler
2023-05-09 17:44:26 +02:00
Blaz Kristan
b47c12cbee Serg74 ethernet board. 2023-05-08 08:48:52 +02:00
Blaz Kristan
cd6862b1a7 Merge branch 'main' into octopus 2023-05-06 12:56:35 +02:00
Blaz Kristan
3d9160f2fa Merge branch 'main' into seg-groups 2023-05-05 23:01:17 +02:00
Blaz Kristan
f4972e2be2 Code size reduction.
Save in hex notation.
2023-05-05 22:37:47 +02:00
Blaz Kristan
85c8e6ba42 Merge branch 'main' into cpal 2023-05-05 21:35:18 +02:00
Blaž Kristan
8e79bd8785
Merge pull request #3162 from wled-install/main
Add LAN8720 reset and new ethernet board
2023-05-05 21:32:06 +02:00
Frank
1ace7ce254
Merge pull request #3194 from billythekid/patch-1
Update palettes.h (typo in a comment)
2023-05-05 20:08:09 +02:00
Blaz Kristan
a00be5b60c Improved Tartan FX 2023-05-03 21:43:21 +02:00
Billy
aabe8d1d5e
Update palettes.h
just a typo-fix
2023-05-02 21:52:39 +01:00
Blaz Kristan
3da086438b Add rotating to Octopus
Soap optimization
2023-05-02 11:16:24 +02:00
Blaz Kristan
c257c86387 Fix for mirroring 2023-05-01 20:43:03 +02:00
Blaz Kristan
ff3ae14c29 Merge branch 'main' into octopus 2023-05-01 19:23:12 +02:00
Blaz Kristan
baacd55910 Minor UI fix 2023-05-01 14:17:52 +02:00