Commit Graph

481 Commits

Author SHA1 Message Date
Frank
d1541b520f Bugfix: remove ghost pixels when changing segment options
... transpose, mirror, reverse, grouping, spacing, size

* unlike AC WLED, when calling seg.fill(BLACK) from webserver context this usually has no effect --> added  markForBlank() that shedules segment blanking at the next drawing cycle
* fill previous segment with black when size, grouping or spacing changes
2024-11-07 14:36:39 +01:00
Frank
9312506217 detection of "OPI" flash (esp32s3 WROOM-2) 2024-10-30 18:40:26 +01:00
Frank
f14c4cbe5b make presets with images work with FASTPATH
seg.startFrame() is needed, otherwise nothing will be drawn.
2024-10-28 13:09:29 +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
1656400746 bugfix for broken presets when segment name is very long
another off-by-one
2024-10-06 21:32:07 +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
ffc9ec3cfb exclude HUB75 from auto brightness limiter
For a 64x64 panel, ABL assumes 4A of standby current. This does not make any sense.
2024-09-22 17:07:26 +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
4051d5ddd8 increase limit for FX string: 127 --> 191 bytes 2024-07-16 18:40:11 +02:00
Blaz Kristan
3df3b9acaf ArduinoFFT update
shadow variables
2024-06-26 21:35:19 +02:00
Will Miles
775e07c6d6 serveLiveLeds: Use dynamic buffer
There were three problems here:
- AsyncWebServer is going to copy to a heap buffer anyways, so we might
   as well just pass it one it can use
- The buffer size estimate was wrong -- we need 9 bytes per pixel
   ("RRGGBB",), so the buffer could overflow, and it was not
   considering the extra 2D requirements
- On ESP8266, the stack allocation was overflowing the stack, causing
  corruption and crashes.
2024-06-26 21:20:41 +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
Blaž Kristan
a25e608e2b Fix for #3991 2024-05-21 12:56:24 +02:00
Frank
1b9b2dcffe minimal Auto segment creation bugfix
based on 13bfda56ef
2024-05-18 21:49:09 +02:00
Frank
45d07190c9 -S3: show PSRAM mode (qspi or OPI) in info panel 2024-05-06 20:11:53 +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
70a5d8b843 a few more compile-time infos about enabled/disabled features
helps to understand what you'll get
2024-05-04 01:16:45 +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
Will Miles
5117a72e52 LockedJsonResponse: Release early if possible
Release the json buffer lock as soon as we've finished serializing.
This should slightly reduce the number of lock collisions as the
response class isn't destructed until after the last packet is ack'd.
2024-02-23 10:58:58 +01:00
Blaz Kristan
e7285c7a03 Possible fix for #3589 & partial fix for #3605 2024-02-12 22:13:17 +01:00
Blaz Kristan
567d513a3b Prevent JSON buffer clear after failed lock attempt
(alternative to #3743)
2024-02-12 22:12:46 +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
Blaž Kristan
3b6100a057 Merge pull request #3648 from willmmiles/json-response-locking
Expand JSON buffer lock scope to entire web reply
2024-01-08 11:54:58 +01:00
Frank
03a909ac8a esp32_4MB_XL was over the limits (flash usage)
still only 256 bytes left for program
2023-12-29 22:53:26 +01:00
Frank
80a9736d0d print WLED error codes to serial + netdebug
These errors were shown in UI only, but missing in debug output.
2023-12-29 21:40:46 +01:00
Frank
8905992a89 code spell checking - part4 (MM specific) 2023-12-15 00:14:57 +01:00
Frank
ced03f1f08 code spell checking - part1 (core)
I've found a code spellchecker, so this is what can be corrected easily. Changes are only affecting comments, readme and a few user-visible strings. So no functional impact expected.
2023-12-14 22:05:55 +01:00
Blaz Kristan
ca3708ec60 Bugfix (#3526) 2023-11-27 17:50:11 +01:00
Ewoud
587e6766c1 Bugfix: uxTaskGetStackHighWaterMark only works in esp32 2023-11-23 13:56:02 +01:00
Ewoud
43a5a290c0 Presets default name incl icons and checkbox defaults, info free stack
index.js
- add checked default values for preset brightness and segment bounds
- show free stack
- preset default name including icons

json.cpp
- serializeInfo: add freestack
2023-11-23 13:23:44 +01:00
Ewoud
294a872462 json/info: brand and product configurable by compile variables
For MM builds brand = WLEDMM
Will be used in WLED-Native - by Moustachauve

Changed in bh1750, bme280, pir, json.cpp and wled.h
2023-10-15 21:43:55 +02:00
Blaz Kristan
3eb360dfe1 Fix for #3403 2023-10-06 17:19:25 +02:00
Ewoud
06220946c0 Refactor Nodes popup for SuperSync
(WIP)
2023-10-03 17:57:57 +02:00
Blaž Kristan
23916268f5 Merge pull request #3317 from chroma-tech/group-masks-api
Add send and receive groups to json api
2023-08-16 09:58:30 +02:00
Frank
8e678ffa5e allow gamma corrected preview without gamma corrected LEDs 2023-08-05 00:06:58 +02:00
Will Tatam
9d218299c4 Fix palette preview of Audio Responsive Ramp 2023-07-27 13:04:52 +01:00
Frank
5f55f91ff0 debug message cleanup
changed some non-critical USER_PRINT debug messages into DEBUG_PRINT
2023-07-14 16:17:42 +02:00
Frank
c64f74a611 fix for random crashes on changing presets (UI)
Segments are created/deleted on-the-fly; it seems that "local leds" buffers did not follow properly.
* revise segment copy/move constructors
* de-optimize use of local leds (as they need to be re-allocated when segment size changes)
* minor stability improvements
2023-07-08 22:40:43 +02:00
Frank
582b96f846 robustness improvements
* handling of stop = 0 when calculating sizes (avoid unsigned underflow)
* make sure groupLength() is never zero (to avoid div/0)
* gapmaps: check for "(gapSize > 0)" added.

not sure if all the checks are 100% needed, but they will improve robustness in corner cases.
2023-06-21 13:30:40 +02:00
Ewoud
b95ff2d74f Merge remote-tracking branch 'upstream/main' into mdev 2023-06-07 20:54:04 +02:00
Frank
404fb566fa partly disable waitUntilIdle() as its still work-in-progress
This disables parts of the new feature that might lead to delays, so basicially there is some detection, but no protection any more.

further development needed --> audio_fastpath branch

compile with -D WLEDMM_PROTECT_SERVICE to enable full protection.
2023-06-01 21:55:46 +02:00
Frank
333f5ac2a1 waitUntilIdle() improvements
* protect deserializeMap()
* better handling of recursion in deserializeSegment() and deserializeState
* don't use yield() on esp32
2023-06-01 21:28:46 +02:00
Frank
0a5bfb656d avoid updating strip / segments while draving effects (ESP32 only)
💫 this is the way🌟
A new locking mechanism that allows to wait until strip.service() has completed.
2023-06-01 17:41:36 +02:00
Blaž Kristan
69ab2ce402 Merge branch 'main' into feature 2023-05-30 16:20:20 +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
Blaz Kristan
90431b662b Rename "group" to "set" 2023-05-15 17:06:29 +02:00
Ewoud
fede3dd54c Merge remote-tracking branch 'upstream/main' into mdev 2023-05-11 17:39:12 +02:00
Blaz Kristan
3d9160f2fa Merge branch 'main' into seg-groups 2023-05-05 23:01:17 +02:00
Ewoud
642dbfed85 GFX default on, if set off it stays off (until page refresh) 2023-05-04 17:51:33 +02:00
Blaz Kristan
f38851b7c6 Merge branch 'main' into cpal 2023-04-30 17:52:28 +02:00