Commit Graph

409 Commits

Author SHA1 Message Date
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
Blaz Kristan
1e4f8be74b Merge branch 'mapping12soundsim' into segment-api 2022-07-20 21:22:23 +02:00
Blaz Kristan
b6e53b1a0c Minor bugfix and for loop optimization. 2022-07-19 22:14:46 +02:00
Blaz Kristan
a46894f395 Bugfixes. 2022-07-19 16:16:43 +02:00
Blaz Kristan
6c6849d8d7 Vectors & dynamic loadJS.
- Segments
- Modes

NOTE: crashes ESP if effect is running while deleting segment.
2022-07-17 15:58:41 +02:00
ewowi
e82336f355 Small bugfixes 2022-07-14 17:22:37 +02:00
Blaž Kristan
0cf891b9d9 Optimisations 2022-07-14 13:22:34 +02:00
ewowi
aeb8fd6fda make getPixelColor matrix (mapping) aware
And change some mapping defaults of effects useing getPixelColor
2022-07-13 15:40:40 +02:00
ewowi
9bec394d7f Add mapping12 and soundsim defaults to effects and apply in segment ui
index.js: rename setSliderAndColorControl to setEffectParameters, rename extras to effectPars, add segment variable update code
FX.cpp: add map12 and ssim defaults to data_FX_MODE variables (WIP)
FX_fcn.cpp: add return in setPixelColor for 2D
2022-07-13 12:41:33 +02:00
ewowi
6799a3bd35 Merge remote-tracking branch 'origin/segment-api' into mapping12soundsim 2022-07-12 20:04:44 +02:00
Blaz Kristan
588c7a81fc Fix for transitions. 2022-07-12 18:10:07 +02:00
ewowi
16aa0e4dba Resolve compile fail 2022-07-11 11:39:56 +02:00
ewowi
81cb765b7a Finish merge by adding the mapping12 code to setPixelColor 2022-07-11 11:20:30 +02:00
Blaz Kristan
d9f2c2b968 Segment API
- moved all drawing logic to segment
- moved transitions to segment
Conditional 2D compile.
Rearranged effect IDs.
Implemented dynamic effect arrays.
2022-07-10 22:23:25 +02:00
Blaz Kristan
bdea2acf67 Correctly position #defines 2022-07-06 19:49:55 +02:00
Blaz Kristan
9519c8edbd Fix disbling AudioReactive usermod
Reduce IRAM pressure for ESP8266
2022-07-06 19:42:48 +02:00
Blaz Kristan
64fd207533 Refactoring WS2812FX class.
- effect functions no longer part of class
- methods to access private members
- separate Segment, Segment_runtime, ColorTransition from WS2812FX
2022-07-06 13:13:54 +02:00
Blaz Kristan
febd7cbca8 Enable Peek for 2D. 2022-07-04 11:12:55 +02:00
Blaz Kristan
0a2e01a616 Multiple changes:
- change arduinoFFT to float (custom)
- update audioreactive to use float
- update effects to use float
- info slider (usermod)
- hide Peek in 2D
- minor bugfixes
2022-07-03 22:55:37 +02:00
Blaz Kristan
cf3faa1170 Merge branch 'audioreactive-prototype' into 2D-support 2022-06-29 16:30:50 +02:00
Blaz Kristan
d2705f033d Enhance API
- addPixelColorXY()
- fadeToBlackBy()
2022-06-28 23:32:29 +02:00
Blaz Kristan
a75b3a53aa Use getModeCount() instead of MODE_COUNT
Clear strip if spacing changes.
Rewrite 2DGEQ.
2022-06-26 23:01:22 +02:00
Blaz Kristan
3891348c26 Multiple fixes.
- anti-aliasing fix
- minor UI CSS fix
- dynamic JS loading (2D & UM)
- 2D Lissajous fix
2022-06-23 17:42:02 +02:00
Blaz Kristan
b00e038b33 Enhancement in effect functions.
- added color_add()
- fixed AA setPixelColor()
- added fadeToBlackBy() (FastLED)
- added hiding of * palettes if not all color selectors shown
2022-06-17 18:57:32 +02:00
Blaz Kristan
477c9ef577 Cosmetic fixes. 2022-06-15 22:17:34 +02:00
Blaž Kristan
4cc2dea2fe color_add() that preserves color ratio
AA version of setPixelColor(float)
Fix in AA ratio calculation.
2022-06-14 09:11:56 +02:00
Blaz Kristan
9db872db56 Fixes:
- mirroring
- FX memory allocations
- preset loading if WS request too big

Changes:
- remove "pt" in favor of "ps" in JSON
- fading in Ghost rider
2022-06-05 10:16:56 +02:00
Blaz Kristan
366006273d Watchdog timer (@poelzi).
Transpose optimisations.
Rain effect updated.
2022-05-30 22:21:13 +02:00
Blaz Kristan
8b73a7375a Fix for transpose.
blur1d() using weighted box blur.
2022-05-28 19:23:16 +02:00
Blaz Kristan
9920424a31 Polar Lights fix.
Cleanup.
2022-05-24 16:43:21 +02:00
Blaz Kristan
a6d7ed3824 Moved mode names (& slider data) to a static array
-- may break some things --
2022-05-21 18:37:09 +02:00
Blaz Kristan
e003ec39fb Transpose fix for XY()
Slight internal API change.
Renamed c1x,c2x,c3x to custom1, custom2, custom3 to be in line with SR.
2022-05-21 13:19:11 +02:00
Blaz Kristan
bf76affd06 Fix for missing palettes. 2022-05-20 19:44:06 +02:00
Blaz Kristan
b4d6525899 Added new 2D effects:
- 2D Floating Blobs
- 2D Ghost Rider
Crash fix for 2D Game of Life.
Added support function fill_circle() & wu_pixel().
Removed obsolete debug strings.
2022-05-20 19:35:22 +02:00
Blaz Kristan
ba3555a66f 2D Game of Life update.
Added crc16().
Reduced errorToast popup time.
Fixed drawLine() incorrect uint16_t use and added leds[] support.
2022-05-20 14:48:40 +02:00
Blaz Kristan
3ba4702181 2D crazy bees. 2022-05-19 18:57:23 +02:00
Blaz Kristan
ad9c42e832 2D Spaceships. 2022-05-19 18:27:04 +02:00
Blaz Kristan
0368d3be59 Some fixes.
Tried removing leds[] for some effects.
2022-05-19 17:01:52 +02:00
Blaz Kristan
598549b5fb Additional 2D effects. 2022-05-19 11:29:04 +02:00
Blaz Kristan
9ed14b6e8c Incorrect mode params fix.
Variable eye width in Halloween Eyes.
2022-05-11 09:53:40 +02:00
Blaz Kristan
4484721a9f 2D Haloween eyes
Misc fix.
2022-05-11 09:37:38 +02:00
Blaz Kristan
4963a5797b Corrected slider names & options for 2D effects. 2022-05-10 21:41:20 +02:00
Blaz Kristan
13f5798ed4 blur2D & other bugfixes 2022-05-10 10:37:27 +02:00
Blaz Kristan
c9bdecdb69 API change.
New SR effects.
Bugfixes.
2022-05-10 00:35:26 +02:00
Blaz Kristan
adb7726974 Bugfixes.
- removed IS_ macors
- replaced .options with getOptions()
- Fire2012 matrix fix
2022-05-09 16:15:07 +02:00
Blaz Kristan
cf189663a7 Segment width & height fix.
Auto 2D segment.
2022-05-08 14:28:02 +02:00
Blaz Kristan
f0d36fd769 WLED 2D matrix support.
- Added 2 sample effects to UI.
- 2D segment details.
- 1D effect upscaling to 2D.
- 2D setPixelColorXY() and other utility functions
- Arbitrary panel position & oritentation.
- 2D settings with physical to logical mapping.
- Bump version.
2022-05-08 10:50:48 +02:00
Blaz Kristan
f915201a27 Cleanup. 2022-04-12 16:08:17 +02:00
Blaz Kristan
845aa733b7 Bugfixes.
- auto segments selected
- slider data aded to data-opt
2022-04-11 22:18:44 +02:00
Blaz Kristan
eda6f134a9 Moved effect sliders to bottom.
Implemented custom effect parameters.
2022-04-10 11:02:57 +02:00
Blaz Kristan
081f211231 Merge branch 'master' into merge-master 2022-04-04 20:52:42 +02:00
Blaz Kristan
73e898773b Minor fixes.
- reversed condition for simplified UI
- removed duplicate code
2022-03-31 21:44:11 +02:00
Blaz Kristan
955bb51f11 Freeze/unfreeze for mainseg UDP. 2022-03-28 22:36:58 +02:00
Blaz Kristan
b583def913 Using freeze instead of power for segment.
Fix for missing udp.cpp
2022-03-28 20:44:49 +02:00
Blaz Kristan
81d880fb4e Global Auto-calculate white override. 2022-03-26 23:20:14 +01:00
Blaz Kristan
6079effae3 UDP on main segment only. 2022-03-25 17:20:41 +01:00
Blaz Kristan
41aa1ee318 Use UDP live/realtime data on main segment only.
Includes Adalight revert, CSS optimizations and setPixelColor() refactoring.
2022-03-25 16:36:05 +01:00
Blaz Kristan
c14f16bdf1 Merge branch 'master' into master-merge 2022-03-19 21:05:28 +01:00
cschwinne
d280e16723 Fixed /json/cfg unable to set busses (fixes #2589) 2022-03-19 14:21:14 +01:00
Blaž Kristan
aecfa3ff0f Merge branch 'master' into master-merge 2022-03-16 08:52:48 +01:00
SpeakingOfBrad
4642205768
Optionally set led strip color order at runtime. (#2582) 2022-03-16 00:17:49 +01:00
Blaž Kristan
e0fcaa6103 Merge branch 'master' into master-merge 2022-03-11 11:28:02 +01:00
Blaz Kristan
841a9f8082 Searchable presets.
Inline sin_gap().
Prevent live timeout.
2022-03-10 22:36:09 +01:00
cschwinne
4865ddb377 Fix realtime mode disabled by brightness change
Fix realtime mode not working immediately at turn on
Fix individual segment control not working immediately at turn on
2022-03-10 20:40:48 +01:00
cschwinne
0ea31cb088 Fix indefinite realtime terminated by new packet (fixes #2356 )
Add custom Aircoookie fork of ESP32 core (reduces bin size by >100kB)
2022-03-10 11:20:39 +01:00
Blaz Kristan
261260b232 Fix for non-W segment. 2022-03-09 15:31:31 +01:00
Blaž Kristan
5b88894638 Reintroduction of per bus auto white calculation.
JS/CSS UI optimizations.
2022-03-09 13:39:51 +01:00
Blaz Kristan
ddadaa828a Merge branch 'master' into master-merge 2022-03-08 22:46:50 +01:00
cschwinne
b626c7620e Disabled auto white mode in segments with no RGB bus 2022-03-08 02:16:33 +01:00
Blaž Kristan
e561304645 Merge branch 'master' into master-merge 2022-03-07 09:44:35 +01:00
Christian Schwinne
9c864c9759
UI: show color controls based on segment light capabilities (#2567)
* Dynamic hiding of unused color controls in UI

(e.g. a PWM white bus with no auto white mode will not display the color wheel or palette list)

* Store segment capabilities

Don't use palettes if no RGB supported
Make it safe to update busses using `/json/cfg`
2022-03-05 01:05:26 +01:00
Blaž Kristan
c8f1297adb Fixed main/first selected segments in IR.
Code optimization.
2022-02-25 10:24:00 +01:00
Blaž Kristan
23d7c3d0fe Merge branch 'master' into merge-master 2022-02-24 13:43:12 +01:00
cschwinne
ed90b638a9 Main seg replaced by first selected in internal interfaces
Version bump to 0.13.0-b7
Various small improvements
2022-02-23 19:20:07 +01:00
Blaz Kristan
41b6f3ffa7 Merge branch 'master' into merge-master 2022-02-20 22:24:11 +01:00
Christian Schwinne
7138e891be
Add per-segment light capability info (#2552)
* Add per-segment light capability info

* Fix duplication

* Change to more lightweight seglc array

* Added segment capabilities.

* Differs and capabilities refactoring

* Add back selection differs option

Co-authored-by: Blaz Kristan <blaz@kristan-sp.si>
2022-02-20 00:20:22 +01:00
cschwinne
613809c2af Do not turn rpt segments off 2022-02-16 23:54:14 +01:00
cschwinne
7b969bb8c2 Various state changed logic simplifications
Changed main segment, must be selected
2022-02-16 21:12:33 +01:00
Blaz Kristan
f8eece362f Compile fix.
Adjusted function names.
2022-02-10 16:09:16 +01:00
Blaz Kristan
d4ea30e081 Merge branch 'master' into merge-master 2022-02-10 14:16:55 +01:00
Blaz Kristan
a5b19bbc83 Multiple changes:
- added segment capabilities utility
- removed colorFromUinXX functions
- rewritten IR color handling (changeColor())
2022-02-10 13:24:51 +01:00
Christian Schwinne
00b0193a43
Fix re-init segment data leak (fixes #2535 ) (#2536) 2022-02-09 08:43:35 +01:00
Blaz Kristan
2da14e5b2a Merge branch 'master' into merge-master 2022-02-04 16:29:39 +01:00
cschwinne
97f8eea302 Refactored isRgbw to hasWhiteChannel() 2022-02-04 13:28:00 +01:00
Blaz Kristan
d31271fee3 Minor fixes:
- optimized setPixelSegment()
- moved extractModeName() to util.cpp
- optimized extractModeName()
- removed SR extensions from /json/effects endpoint (compatibility estabished)
2022-01-31 20:35:11 +01:00
Blaz Kristan
be8a9ae73b setPixelSegment() optimization 2022-01-31 17:56:21 +01:00
Blaz Kristan
436542eff8 Slidercontrol fix. 2022-01-23 11:13:50 +01:00
Blaz Kristan
3da70c3e8b Full segment syncing.
- removed setEffectConfig()
- rate limit handleNightlight()
- fixes in colorUpdated()
- segment color fix in UDP routine
2022-01-15 00:06:06 +01:00
Blaz Kristan
c8b1654e0a Some fixes and new slider values. 2022-01-12 21:48:34 +01:00
Blaz Kristan
0400d0e0f0 Additional sliders. 2022-01-12 21:35:10 +01:00
Blaz Kristan
a4a3aa045b A few more slider values added. 2022-01-12 15:45:32 +01:00
Blaz Kristan
06ded0098c Aurora speed change.
Fix for Palette title.
2022-01-10 19:00:44 +01:00
Blaz Kristan
f1fbea30f1 Some slider values & defaults. 2022-01-10 18:42:09 +01:00
Blaz Kristan
1e947a34a8 Merge branch 'master' into dev 2022-01-01 16:36:06 +01:00
Blaz Kristan
8386b9a0b4 Removed dynamic JSON buffer entirely.
Temporary presets in RAM (ESP32)
Async loading of presets (stability).
Other minor fixes.
Bumped version to 0.13.1-bl6
2022-01-01 12:52:50 +01:00
Christian Schwinne
754682577c
Configurable framerate (#2444)
Updated arduino core versions
Better performance on esp32 core 3.x due to IRAM_ATTR
Fixed analog busses init to full white/on
2021-12-30 01:48:27 +01:00
Blaz Kristan
31603380c1 Bugfix autosegments & solid pattern 2021-12-28 18:53:30 +01:00
Blaz Kristan
5a3d3b0324 Default values for effects.
Moved mode names to FX_fcn.cpp
2021-12-28 18:09:52 +01:00
Blaz Kristan
eac5340b03 Merge branch 'configurable-fps' of https://github.com/aircoookie/WLED into dev 2021-12-26 11:59:22 +01:00
cschwinne
549dcd32ca Configurable framerate
Updated arduino core versions
Better performance on esp32 core 3.x due to IRAM_ATTR
Fixed analog busses init to full white/on
2021-12-25 01:30:27 +01:00
Blaz Kristan
cb4c736fab Bugfix galore. 2021-12-21 20:43:49 +01:00
Blaz Kristan
84624666ce Incorrect delete fix. 2021-12-21 18:16:25 +01:00
Blaz Kristan
8bd716c056 Prevent undefind FX behaviour on millis() rollover 2021-12-20 16:43:47 +01:00
Blaž Kristan
b890b5f0dc millis() rollover fix for effects 2021-12-20 11:29:03 +01:00
Blaz Kristan
156b499f93 Merge branch 'master' of https://github.com/aircoookie/WLED into dev 2021-12-07 17:18:38 +01:00
Christian Schwinne
66bad2b6f8
Single json buffer (#2336)
* Single/static JSON buffer for all requests.

* Missing json.cpp changes.

* Async fix.

* Added conditional compile (WLED_USE_DYNAMIC_JSON).

* Advanced locking with time-out.

* Missing releaseJSONBufferLock() on error response.

* Fix for config saving.

* Fixes and optimisations.
Dadded debugging information.

* Fix for ledmaps.

* No unsolicited serial sending if GPIO1 allocated

* Stray semicolons

* Fix JSON ledmap

Co-authored-by: Blaz Kristan <blaz@kristan-sp.si>
2021-12-04 01:05:01 +01:00
cschwinne
46ec504743 Various fixes
Fixed ESP32 crash on Colortwinkles brightness change
Fixed setting picker to black resetting hue and saturation
Fixed auto white mode not saved to config
2021-12-03 20:36:37 +01:00
Blaž Kristan
37ec058572 Merge conflict resolvement. 2021-12-02 13:09:53 +01:00
cschwinne
cadda12371 Fixed spacing LEDs not blanked if offset is changed 2021-12-02 00:52:36 +01:00
Blaž Kristan
aa34df7a4c Merge branch 'master' of https://github.com/Aircoookie/WLED into new-CCT 2021-12-01 14:51:45 +01:00