Commit Graph

418 Commits

Author SHA1 Message Date
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
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
217004c70c Bugfix.
- disbled transitions/crossfade prevented segment off
2023-05-14 18:18:09 +02:00
Blaz Kristan
3d9160f2fa Merge branch 'main' into seg-groups 2023-05-05 23:01:17 +02:00
Blaz Kristan
65c584aeda 2D enhancement (internal)
- move() wrapping
- dual addPixelColorXY()
2023-04-27 17:31:55 +02:00
Blaž Kristan
2540a2dfd9
Soap, new 2D effect (#3184)
* Soap, new 2D effect

* Fix Soap FX on matrices with edges < 8 LEDs

* Add palette support to Soap FX

---------

Co-authored-by: cschwinne <dev.aircoookie@gmail.com>
2023-04-27 01:22:33 +02:00
Blaz Kristan
02d4f9cbba Merge branch 'main' into seg-groups 2023-04-20 17:21:20 +02:00
Frank
4a3bc486d0 two more "shadowed locals"
In these case, there seem to be no bug, but  simply renaming the "inner" variables improves code readability.
2023-04-14 13:09:25 +02:00
Blaz Kristan
dfa0a16487 Reduce sound sim options to increase 2D mapping. 2023-04-04 17:16:50 +02:00
Blaz Kristan
558b22c36a POC: Implemented segment groups (4).
Sacrificed 1 bit on sound simulation and 1D to 2D mapping each.
2023-04-01 23:40:43 +02:00
Blaz Kristan
13678cb8d5 Add adjustable Random Cycle time.
- solves #3147
2023-03-25 21:28:30 +01:00
Blaz Kristan
7c186e4fcc Fix for smaller number of pixeld than matrix size. 2023-03-11 15:03:28 +01:00
Blaz Kristan
763b64cc57 Combat low memory condition on ESP8266. 2023-03-10 15:20:50 +01:00
Blaz Kristan
ddd32bd600 Multiple fixes.
- compiler warning fixes (gcc17)
- revert min heap size to 8k
- fix form submitting in 2D settings
- remove IRAM_ATTR for ESP8266 core 4.1.0
2023-03-05 22:56:14 +01:00
Blaz Kristan
c151221d12 UI fixes & revert forcing ULTRAWHITE for on/off bus
Reduce min heap for 8266
2023-03-02 18:21:55 +01:00
Blaz Kristan
7a2f556682 Bugfix for 1 pixel segment capabilities. 2023-02-28 19:08:41 +01:00
Blaz Kristan
3ca7006e3a Tweaks & bugfixes.
One pixel segment handling.
- added 0D FX metadata (1 pixel effects)
- ignore palettes for White only segment
- ignore color for non-RGB & non-White segment (on/off)

Bugfix
- proper auto segment creation
- hide palettes for non RGB segments
- some tweaks for #2984
- force Solid for some FX (causing crash) on 1 pixel segment

UI Optimisations
- slider tooltips
- tiny bit smaller tooltips
- hide segment power if only one segment
- gap between sliders
2023-02-25 09:41:15 +01:00
Christian Schwinne
220718cb58
Remove Blynk support (#3102)
Change default palette for Railway to Colors 1 and 2
2023-02-21 17:07:32 +01:00
Blaz Kristan
3ffc58d442 Bugfix
- segment capabilities on 2D segments and ledmaps
- UI segment update
- auto segment creation 2D + 1D
2023-02-15 20:36:54 +01:00
Blaz Kristan
92d2be3f5e Add ledmap names
Bugfix
- reset segments upon 2D ledmap allocation error
- fix invlid 2D segments
2023-02-14 17:11:58 +01:00
Blaž Kristan
a7cded21f7 Merge branch 'main' into led-gaps 2023-02-14 14:28:10 +01:00
Christian Schwinne
74156b7ed8
Support white addressable LED strips (#3073)
* Support white addressable LED strips

* Various white handling tweaks

Allow RGB controls for white-only busses depending on AWM (makes palette-only FX work on non-RGB addressable busses)
Fixed RGB controls hidden if segment contained any non-RGB bus (even though there is also an RGB bus in that segment)
New Max auto white mode
Added hasCCT() bus method
Rename methods to be clearer
WS2811 White getPixelColor fix()

* Fix merge conflict (bus manager cpp)
2023-02-14 01:33:06 +01:00
Blaz Kristan
821f320347 Add user selectable Gamma
Add panel visualisation (@ewoudwijma, #3090)

Bugfix:
- PIR onStateChange() ignored until inited
- remove matrix orientation
- ignore removing ledmap 0 if 2D
- _globalLeds size
2023-02-12 13:18:30 +01:00
Blaz Kristan
eee9274098 Bugfix.
- compiler warnings
- loading nonexistent default ledmap in 2D will revert to built ledmap
- making autosements after 2D set up change
2023-02-11 18:41:30 +01:00
Blaz Kristan
8dd1f89225 Update.
- allow ledmap selection in UI
- upload gap file
- expand matrix generator
2023-02-10 19:49:43 +01:00
Blaz Kristan
e51f7bfbff LED matrix gaps. 2023-02-09 20:15:55 +01:00
Blaž Kristan
dec45109d3
Refactor busmgr (#3079)
* Refactor bus manager.

* Fix for net debug

* Fix 8266 compile

* Move bus static members to proper cpp

---------

Co-authored-by: cschwinne <dev.aircoookie@gmail.com>
2023-02-05 23:48:43 +01:00
Blaž Kristan
dca8a47da8
Dual mode 2D + 1D with auto segment creation. (#3060)
* Dual mode 2D + 1D with auto segment creation.

* Bugfix.
- stop when seglen
2023-02-01 19:30:56 +01:00
Blaz Kristan
31fa73518b Bugfix. #3064 2023-01-30 17:11:14 +01:00
Blaz Kristan
17543535e3 FX update
- Dynamic & Dynamic Smooth
- Dissolve & Dissolve Rnd
- Juggles
- Game of Life
- Colorful
- Fireworks & Rain
2023-01-18 22:56:49 +01:00
Blaz Kristan
63d8a902d5 Loading defaults on "fxdef". 2023-01-15 15:21:39 +01:00
Blaz Kristan
6fa5689aaf Bugfix.
- segment off
2023-01-12 20:36:50 +01:00
Blaz Kristan
e410de9552 Bugfix.
- fadePixelColorXY()
- clearing 2D segment on mirror or reverse change
- FX update (DNA Spiral, Colored bursts)
2023-01-12 19:13:07 +01:00
Blaz Kristan
8dc262b415 Bugfixes.
- faster random palette blends
- remove UI ledmap selection for 2D
- FX updates (DNA Spiral, Colored bursts, Metaballs)
2023-01-11 23:08:08 +01:00
Abhi Gulati
7fa494815f
Fix a typo (#3014) 2023-01-11 11:21:45 +01:00
Blaz Kristan
27d7f5f190 Fixes.
Prevent flickering if segment off.
2023-01-06 18:11:52 +01:00
Blaž Kristan
c7eccfb714 FX updates:
- Ripple (2D & no Bg)
- Glitter (no Bg)
- Sparkle (no Bg)
- Scan (no Bg)
- Two dots (no Bg)
- ICU (no Bg)
- Lightning (no Bg)
- Halloween eyes (no Bg)
- Spots (no Bg)
- Bouncing Balls (no BG)
- Popcorn (no Bg)
- Starburst (no Bg)
- Drip (no Bg)
- Whitespace cleanup
- draw_circle()

"no Bg" will allow overlapping segments if checked.
2023-01-06 09:10:39 +01:00
Blaz Kristan
95869eeb70 Allow more virtual buses. 2022-12-31 17:06:18 +01:00
Blaz Kristan
be08c01be6 Fix for #2979 2022-12-28 01:01:31 +01:00
Blaz Kristan
d36460e30b Minor optimisation.
Fix for #2969
2022-12-23 16:37:13 +01:00
Blaz Kristan
22b2503839 Bugfix & code optimisation. 2022-12-22 18:13:32 +01:00
Blaz Kristan
4322d195d3 Smooth random palette changes
Bugfix loading string palettes
JS optimization.
2022-12-21 21:00:28 +01:00
Blaz Kristan
0a0ced3e8e Hex string custom palette option 2022-12-18 21:02:19 +01:00
Blaz Kristan
a802bb2736 Merge branch 'main' into selall-bugfix 2022-12-16 22:32:15 +01:00
Blaz Kristan
3c5838cafd Remove "strip" dependency in Segment class 2022-12-16 22:31:07 +01:00
Blaz Kristan
b637398a9c Optimisations. 2022-12-09 18:37:53 +01:00
Blaz Kristan
8899684092 Select custom palette bugfix. 2022-11-25 17:33:29 +01:00
cschwinne
324fc149b3 Shorter JSON keys for 1d2d map and sound sim
(smaller fxdata, saves 100b flash, slightly shorter json doc)
2022-11-24 04:15:24 +01:00
Blaz Kristan
c47d6cffa8 Missing presets.json on factory reset bugfix.
Clarification on loading ledmaps in UI.
Added manual ledmap loading.
2022-11-16 20:55:21 +01:00
Blaz Kristan
b141ec7ea7 Fix for #2880 (stateChanged on segment on/off)
Added comments.
Added X1, X2, X3, M1, M2, M3 segment options to HTTP API.
Added "on" handling with "ps".
2022-11-13 12:13:49 +01:00
cschwinne
c0a783198e Reduce fxdata size by about 200 bytes
Removed redundant commas before semicolon delimiter (`,;` -> `;`)
No need to transmit `@` in /json/fxdata
2022-11-11 03:10:41 +01:00
Blaz Kristan
5f4199183c Bugfix for color transitioning.
Return palette option for Candle.
Fix for "* Color..." palette hiding.
Comment out debug output.
2022-11-09 20:09:01 +01:00
Blaz Kristan
bd025309fb Custom palette name bugfix. 2022-10-04 22:10:20 +02:00
Blaž Kristan
f385af595a Add setMode() and setPalette() methods
- automatically start transition
Implement load FX defaults for HTTP API (FXD)
2022-09-29 12:49:12 +02:00
Blaž Kristan
26825ed60f Missing isActive() 2022-09-16 14:07:04 +02:00
Blaz Kristan
4480abc646 Better palette blends. 2022-09-06 21:47:50 +02:00
Blaz Kristan
787f5f06df Global gamma.
Randomcycle palette bugfix.
2022-09-04 20:17:05 +02:00
Blaz Kristan
38bd0d6bbb Bugfixes 2022-08-31 21:21:53 +02:00
Blaž Kristan
da0da4c75e Remove NONUNITY
Expand soundSim
Tetrix optimisation
2022-08-31 14:24:02 +02:00
Blaz Kristan
cd7bcb79e5 Tetrix vStrip 2D modification.
AA version of Bouncing balls
Better AA
2022-08-30 17:18:56 +02:00
Blaz Kristan
005419ab9a vStrip calculation
remove Segment copy constructor
2022-08-29 21:51:46 +02:00
Blaz Kristan
c6126db2a2 Bugfix for 1D setPixelColor
Float vStrips.
Fix misspelled MISOSPI.
2022-08-27 18:25:54 +02:00
Blaz Kristan
030833f942 Global MISO pin.
Virtual strip expansion for 2D.
2022-08-25 21:57:43 +02:00
Blaz Kristan
daf67d9cf7 Whitespace cleanup.
Revert legacy effects to 1D and use mapping instead.
2022-08-24 23:04:51 +02:00
Blaz Kristan
af5e38e5ee Fix for segment on/off transitions.
Fix for missing return.
Slightly smoother Chunchun, added Speed parameter for Hiphotic.
2022-08-23 15:57:05 +02:00
Blaz Kristan
d3d8fdff13 Transpose fix. 2022-08-22 22:02:36 +02:00
Blaz Kristan
59b038b8c4 Index under- shooting.
Fix for arc 1D to 2D mapping.
UI segment 2D mapping fix.
Watchdog reposition & flicker reduction.
2022-08-22 16:48:19 +02:00
Blaž Kristan
1711ac9a88 Fix in is2D()
Horizontal and vertical 1D segment
Index overshoot fix.
2022-08-22 14:35:34 +02:00
Blaz Kristan
44a4b11d36 Replace setOption/getOption 2022-08-19 21:14:49 +02:00
Blaz Kristan
fa55896722 Const functions. 2022-08-17 20:45:30 +02:00
Blaž Kristan
4e0cf380be Fix for 0 duration/reset runtime. 2022-08-11 11:23:39 +02:00
Blaz Kristan
1cb3ab82c2 Reduction of flicering on web access (info) 2022-08-10 20:53:11 +02:00
Blaz Kristan
a8785570df Memory allocation fixes.
Whitespace.
Cleanup.
2022-08-06 12:39:12 +02:00
Blaz Kristan
9270f80af2 Merge branch 'integration' into merge-audio 2022-08-05 23:03:38 +02:00
Blaz Kristan
cdca715afc Effect change at end of transition.
Compile bugfix.
2022-08-03 22:09:27 +02:00
Blaz Kristan
d0a08a55d1 Memory management! 2022-08-03 21:36:47 +02:00
ewowi
a098aa0a89 leds array from CRGB to uint32_t 2022-08-02 22:06:13 +02:00
Blaz Kristan
0ba8bace0d 2D optimisations. 2022-08-02 18:27:32 +02:00
ewowi
78edcfe5cf Merge branch 'ledsArrayToSGPC' into integration 2022-08-02 12:21:46 +02:00
ewowi
2ca5e0c8b8 Remove leds from FX.cpp
- add addPixelColor overloads
- remove setPixels function
- sPC/gPC move leds check to beginning
- refactor wu_pixel work without leds
- remove leds out of effects and replace by sPC/gPC/aPC/nullptr
- workaround %=
- refactor game of life (but need to check patterns / history, see SR)
- refactor fill_circle to work without leds
2022-08-02 12:19:04 +02:00
Blaz Kristan
7ca1d99412 Multiple additions:
- transparent leds[] for getPixelColor()
- sample 2D Black Hole for trnasparent leds[]
- conditional audio compile (WLED_NO_AUDIO)

Bugfix:
- effect filtering
2022-08-01 22:01:24 +02:00
ewowi
987b442796 Merge branch 'ledsArrayToSGPC' into integrationMergeOnly 2022-08-01 16:25:51 +02:00
ewowi
004c2920f5 All effects use strip.leds, refactor XY
- remove leds out of SEGMENT.data (remove if no other use of data)
- use strip.leds
- refactor XY to make segment relative to the whole matrix
- use RGBW32
- in case of 1D also use XY in leds[]: XY(i%width, i/width)]
- add ps_malloc
2022-08-01 16:11:59 +02:00
Blaz Kristan
f02616acd1 Some fixes. 2022-07-31 19:52:07 +02:00
ewowi
69f9a484ca strip.leds array fully fastLed and segment compatible
- leds array from uint32_t to CRGB for fastled compatibility
- reading and writing leds from strip to segment sPC/gPC so it has logical instead of physical indexes so it can be used in effects
- change mode_2DBlackHole as showcase how it can both work with leds or with sPC/gPC
2022-07-31 14:48:00 +02:00
Blaz Kristan
dde5367560 Default palette gamma fix.
Reverted to leds[] in SR effects.
Code optimisations.
2022-07-31 13:28:12 +02:00
ewowi
66da57f375 POC to use leds array in strip.set/getPixelColor 2022-07-31 12:38:10 +02:00
Blaz Kristan
d328db543e Bugfixes.
- gamma on *Color palettes
- gamma moved out of WS2812FX
- palette fade (JSON) fix
2022-07-30 23:58:29 +02:00
Blaz Kristan
eb9eda1f6d Transition struct (reduced RAM footprint). 2022-07-30 14:50:11 +02:00
Blaz Kristan
f16558c126 Optimisations. 2022-07-30 14:20:36 +02:00
Blaz Kristan
b0ba1b2ecc Bugfix.
- defult transitions
- conditional 2D compile
2022-07-30 10:49:54 +02:00
Blaz Kristan
52b863fe36 Memory allocation bugfix. 2022-07-29 20:24:29 +02:00
Blaz Kristan
79337a4568 Bugfix for palette transitions. 2022-07-29 16:26:15 +02:00
Blaž Kristan
191db46c4f Code optimisation & cleanup.
Minor fixes.
2022-07-29 12:15:56 +02:00
Blaz Kristan
df534d30bf Custom palettes. 2022-07-28 23:19:58 +02:00
Blaz Kristan
3b2573afed More filtering options.
Palette loading bugfix.
2022-07-27 17:00:55 +02:00
Blaz Kristan
78aad924c5 Bugfixes.
- moved simulateSound() to util
- effect fixes (name changes)
- mapping fixes
- default values fixes
- UI fixes
2022-07-25 21:31:50 +02:00
Blaz Kristan
8e9637f6d4 Default effect values. 2022-07-23 22:00:19 +02:00
Blaž Kristan
2fe4edb6df Segment clear bugfix.
getPixelColor fix.
2022-07-21 07:24:03 +02:00