Wykres commitów

660 Commity (remove-v1-usermod)

Autor SHA1 Wiadomość Data
Blaz Kristan 2aec21a6d0 Palette loading optimisation
- fixes #3978
- FX: Firenoise can use selected palette
2024-05-16 06:23:15 +02:00
Blaz Kristan ccce0f2d3b Merge branch '0_15' into blending-styles 2024-05-15 20:59:41 +02:00
Blaz Kristan 77e6ea8a6f Palette loading optimisation
- fixes #3978
- FX: Firenoise can use selected palette
2024-05-15 15:34:53 +02:00
Brandon502 3cb6b17316 Pinwheel fix 2024-05-14 11:46:52 -04:00
Brandon502 c0cb677a4c Pinwheel cleanup 2024-05-14 11:30:33 -04:00
Frank a5a6a8eaee pinwheel : fix holes on large matrix, minor code cleanup
there were still two holes in my 52x52 setup --> added "XL" size for bigger than 50x50 - achieves 18fps on 52x52
2024-05-14 11:30:25 +02:00
Frank ecb861de56 pinwheel code cleanup
reducing code duplication between sPC and gPC
2024-05-14 10:36:50 +02:00
Brandon502 1d20f18d3f Pinwheel bugfix
Fixed getPixelColor.
2024-05-13 17:43:31 -04:00
Frank 1d7789f544 pinwheel bugfixing
* setPixelColor: ensure that 0/0 is used
* getPixelColor: accuracy improvements

unfortunately, "scrolling" audioreactive effects are still not working properly - they end after 1/4 of the circle. Could be due to limited resolution of getPixelColor.
2024-05-13 19:27:41 +02:00
Brandon502 2e1e917952 Merge branch '0_15' of https://github.com/Brandon502/WLED into 0_15 2024-05-12 17:46:52 -04:00
Brandon502 9e0b91ac17 Pinwheel changes.
Jump distance for odd rays fixed. Removed holes on rectangular matrices.
2024-05-12 17:46:42 -04:00
Frank ea83ec496b pinwheel - parameter tuning to fix some holes
fixing holes that appeared during testing
* at 52x52 (big 296 -> 304)
* at 24x32 (medium 192 -> 208)
* at 12x16 (small 72 -> 82)

... there is still one hole at 14x16 ... well wtf
2024-05-12 23:05:58 +02:00
Frank f26bb26ffa Update FX_fcn.cpp
* minor cleanup, moved prevRay into setPixelColor
* removed experimental code (too slow)
* comments cleanup
2024-05-12 22:35:33 +02:00
Brandon502 c84d4c637d Pinwheel Expand 1D Optimization
Changed method for drawing odd numbered rays.
2024-05-12 11:52:31 -04:00
Frank 3078bea7cc Pinwheel optimization: do nor repaint "same" pixels in a line
avoids back to back duplicates within the same line
2024-05-12 13:29:04 +02:00
Brandon502 9e468bd059 Pinwheel Expand 1D Optimizations
Added small pinwheel size. Adjusts medium and large values.
2024-05-11 13:57:21 -04:00
Brandon502 d3492b5b6c Pinwheel Expand 1D Bug Fix
Removed holes on 31x31 and 32x32 grids.
2024-05-10 16:06:37 -04:00
Brandon502 6a18ce078e Pinwheel Expand1D changes
cosf/sinf changed to cos_t/sin_t. int_fast32_t and int_fast_16_t changed to int.
2024-05-09 20:38:41 -04:00
Brandon502 da79b93387 Added Pinwheel Expand 1D Effect 2024-05-07 18:04:29 -04:00
Blaz Kristan 8e8ffa30a6 Merge branch '0_15' into blending-styles 2024-04-26 20:45:26 +02:00
Blaz Kristan d48bab02a1 Speed & size optimisations using native sized variables 2024-04-26 20:11:46 +02:00
Blaz Kristan 674481f0d1 Multiple fixes
- several compile warning fixes
- multipin LED compile config
- release info (update page, JSON "info")
- WiFi scan fix if no networks found
- UI glitch when no presets are found fix

With multipin LED config it is now possible to assign GPIO to PWM RGB outputs.
Achieved by having length of DATA_PINS be divisble by lengt of PIXEL_COUNTS.
2024-04-23 19:05:49 +02:00
Blaž Kristan 127ea7e351 Fix for #3926 2024-04-23 13:04:17 +02:00
Damian Schneider 084fc2fcd1 bugfix & code formatting, removed color_scale
also replaced scale8_video with 32bit calculation in color_fade for consistency and speed.
2024-04-16 10:43:06 +02:00
Damian Schneider 459156fe57 added improvements to color scaling and blurring
-changes save roughly 600bytes of flash
-made blurring faster by not writing the color and then reading it back but keeping it as a variable: on a C3, FX black hole goes from 55FPS to 71FPS
-added optional parameter to blur (smear) that can be used in combination with SEGMENT.clear(), blurring the frame without dimming the current frame (repeated calls without clearing will result in white). this is useful to blur without 'motion blurring' being added
-scale8 is inlined and repeated calls uses flash, plus it is slower than native 32bit, so I added 'color_scale' function which is native 32bit and scales 32bit colors (RGBW).
2024-04-15 21:20:45 +02:00
Blaz Kristan 9735d1c6f3 Merge branch '0_15' into blending-styles 2024-04-14 15:41:08 +02:00
Blaz Kristan 94cdd88474 Version bump B3
- fix for #3896
- fix WS2815 current
- conditional AA setPixelColor()
2024-04-13 18:25:25 +02:00
Blaz Kristan b3810a16cc Merge branch '0_15' into blending-styles 2024-04-09 16:39:29 +02:00
Blaz Kristan 58e8346209 Fix for #3889 2024-04-09 08:25:07 +02:00
Blaz Kristan a3a8fa1cef Remove conditional fade/blend
- transitions always enabled (use delay 0 to disable)
- optimisation in on/off fade
- fix for palette/color blend when blending style is not fade
- various tweaks and optimisations
2024-04-08 16:24:27 +02:00
Blaz Kristan c6805271e9 Merge branch '0_15' into blending-styles 2024-04-08 15:28:57 +02:00
Blaž Kristan 1cafa0b33f
Merge pull request #3880 from DedeHai/harmonic-random-palette-generator
Added fix for #3870
2024-04-07 22:03:59 +02:00
Damian Schneider 18c17168e1 replaced &0xFFFF with explicit casts 2024-04-07 16:07:37 +02:00
Damian Schneider 503c68320a Bugfix: millis rollover (fix for #3870)
millis()/1000 rollover after 18h was not handled, truncating to 16bits after division fixes it.
2024-04-05 07:23:28 +02:00
Blaz Kristan f5199d2b73 Fix compile. 2024-04-03 20:55:59 +02:00
Blaz Kristan 0c8d9d5614 Mode blending styles
- alternative to #3669
2024-04-03 18:38:06 +02:00
Blaz Kristan f21ab3588d Individual color channel control for JSON API
- fixes #3860
- debug verbose
- PSRAM detection
2024-03-29 16:43:37 +01:00
Blaz Kristan 47f44680a3 Multi-update
- 0.15.0-b2
- WS2805 support (NeoPixelBus 2.7.9)
- generic PSRAM support (ESP32 rev.1 still needs compile fix)
- BREAKING: default LEDPIN 2 (due to PSRAM)
- PinManager optimisations
2024-03-24 17:37:11 +01:00
Blaz Kristan 7a9eff7f35 Fix. 2024-03-18 20:23:30 +01:00
Christian Schwinne 247de600af Fix missing GIF enable macros 2024-03-17 22:57:15 +01:00
Blaz Kristan 0dcb56eab5 Modify Bus & BusManager to accommodate digital CCT
- additional fix in hasWhite() & setCCT() & hasCCT()
2024-03-16 12:36:05 +01:00
Christian Schwinne b2afac8914 GIFs work again in principle 2024-03-10 21:36:13 +01:00
Blaz Kristan 989bdfb0d5 Reduce string RAM usage for ESP8266 debug builds 2024-02-17 11:33:42 +01:00
Blaz Kristan 7eae8f68d8 Merge branch 'main' into 0_15 2024-02-06 14:47:20 +01:00
Blaz Kristan 41e51bbeb5 Configuration item for harmonic palettes
Comment cleanup
2024-02-06 11:06:23 +01:00
Damian Schneider ca05aa84ff changed randomness and added optimizations
-added fully random palette function ('the old way', currently just used for initialization)
-changed randomness values to make it a little less random
-added 10% chance for pastel color palette
-now using swap() from std library for shuffeling
-changed function name
-moved update check from loadPalette() to handleRandomPalette() saving CPU cycles
2024-01-30 22:28:40 +01:00
Damian Schneider ef6fe43251 random palette transitions with set transition time 2024-01-29 22:14:26 +01:00
Damian Schneider f5ed757780 added some minor fixes
-fastled flags
-gamma correction
-pass by reference instead of pointer
2024-01-29 20:47:09 +01:00
Damian Schneider e114b842ba fixed initialisation or random palette 2024-01-29 20:47:08 +01:00
Damian Schneider 12e2116acb bugfix, need to initialize the random palette to something useful 2024-01-29 20:47:08 +01:00
Damian Schneider bccc97d25f fixed include, bugfix in random palette handling 2024-01-29 20:47:08 +01:00
Damian Schneider a9bcc75733 added function to generate random palette based on harmonic color theory 2024-01-29 20:47:08 +01:00
Blaz Kristan 7b87475af8 Fix random palette transitions. 2024-01-29 19:06:41 +01:00
Blaz Kristan 445a89ba6e Try hard to release memory 2024-01-24 20:49:22 +01:00
Blaz Kristan 8868ecd11a Cleanup 2 2024-01-22 20:48:03 +01:00
Blaz Kristan bab42014a4 Fix for #3693 2024-01-16 19:35:18 +01:00
Blaz Kristan 74fed5695f Fix for #3693 2024-01-16 19:34:23 +01:00
ezcGman ff59dcd66e Merge branch '0_15' of https://github.com/Aircoookie/WLED into ledmaps-realtime 2024-01-10 05:11:44 +01:00
Blaz Kristan f070dc5527 Cosmetic & needsUpdate() 2024-01-04 17:40:23 +01:00
Blaz Kristan fc6e7c81d3 Merge branch '0_15' into suspend 2024-01-04 17:33:07 +01:00
Blaž Kristan 301bdf2186
Merge pull request #3610 from Aircoookie/psram-4-json
Allow PSRAM (SPI RAM) to be used for JSON buffer
2023-12-30 11:00:53 +01:00
Blaz Kristan 1c1b67e000 Full per-port ABL implementation and bugfix.
Update of BusManager class (static)
2023-12-29 23:07:29 +01:00
Blaz Kristan bc85520f5e Merge branch '0_15' into suspend 2023-12-28 23:38:42 +01:00
Blaz Kristan d3be7a3edf Merge branch '0_15' into psram-4-json 2023-12-28 23:38:27 +01:00
Blaz Kristan 6cd0da821a Reduce heap fragmentation when switching ledmaps 2023-12-28 23:32:47 +01:00
Blaz Kristan 6332ee6edb Effect buffer optimisations
setMode() fix for selecting gap
UI error messages
2023-12-27 19:36:25 +01:00
Blaz Kristan 5ebc345e95 Possible bugfix for #3609 #3616 2023-12-25 17:47:39 +01:00
Blaz Kristan cf3f6ede72 Suspend strip during operations 2023-12-22 15:39:07 +01:00
ezcGman b76a90304d Merge branch '0_15' of https://github.com/Aircoookie/WLED into ledmaps-realtime 2023-12-22 13:19:44 +01:00
Blaz Kristan 1f81fb9284 Implement JSON buffer in PSRAM to free up DRAM. 2023-12-21 21:30:17 +01:00
Blaz Kristan 3d6fe0a565 Reduce memory fragmentation 2023-12-16 12:38:15 +01:00
Frank f513cae66e 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 03:49:54 +01:00
Blaz Kristan 7275a34e1f Partial fix for #3578 2023-12-09 22:39:26 +01:00
ezcGman d00df785a5 Merge branch '0_15' of https://github.com/Aircoookie/WLED into ledmaps-realtime 2023-12-06 21:41:34 +01:00
Blaz Kristan c0412d368e SEGLEN bugfix if default map1D2D not defined
- comments
2023-12-02 00:48:49 +01:00
Blaz Kristan 7c108e5128 Bugfix for SEGENV if defult map1D2D not defined 2023-12-02 00:44:30 +01:00
ezcGman 2e5a485804 Realtime LED Maps: Feedback applied 2023-11-29 20:12:31 +01:00
ezcGman 9dc459192e Merge branch '0_15' of https://github.com/Aircoookie/WLED into ledmaps-realtime 2023-11-28 11:49:53 +01:00
ezcGman a36c731d15 En-/disable LED maps when receiving realtime data 2023-11-23 17:13:13 +01:00
Blaz Kristan 8f7f9ec367 Feature: Per-port ABL 2023-11-15 19:37:07 +01:00
Blaz Kristan 1852c0a88c Merge branch '0_15' into spookierEyes 2023-11-12 12:49:02 +01:00
TripleWhy 2c1fbe103b Spookier version of Halloween Eyes 2023-11-02 18:12:18 +01:00
Blaz Kristan 9c6dda9bd2 Segment copy bugfix
Audio palette modification
2023-10-29 11:27:17 +01:00
Blaz Kristan db881ee011 Small optimisations.
2D liveView (non-WS) core
soundSim fix
2023-10-25 20:27:01 +02:00
Blaz Kristan f329a5950e Speed optimisations. 2023-10-15 13:06:40 +02:00
Blaz Kristan 7f6486c77d Custom palette gamma
Mode blending option
Optimisations
2023-10-12 23:06:39 +02:00
Blaz Kristan 1b2a50f9a3 Minor optimisation 2023-10-12 16:15:16 +02:00
Blaz Kristan 6f96dc8f23 Gamma correction for custom palettes (#3399).
Bugfix for audio palettes.
2023-10-01 21:15:14 +02:00
Blaz Kristan 76e0e935f0 Merge branch 'bugfix' into 0_15 2023-10-01 13:27:18 +02:00
Blaz Kristan 7e6eb65950 Fix for #3403 2023-10-01 13:26:31 +02:00
Blaz Kristan ae1d0a18f3 Separate mode blending option 2023-09-12 06:17:06 +02:00
Blaz Kristan cc68e6b6e6 Squashed commit of the following:
Remove sync receive
Disallow 2D effects on non-2D segments
Optimisations
Sync clarification
AR palettes
Return of 2 audio simulations
Bugfix in sync #3344
    - remove excessive segments
    - ignore inactive segments if not syncing bounds
    - send UDP/WS on segment change
    - pop_back() when removing last segment
Add pairing support for ESP-NOW sync
Reduce string RAM footprint
UDP parse optimisation
Make WizMote work with sync.
ESP-NOW wireless sync POC.
    - caveat: devices have to be on the same channel
    - clashes with WizMote handling ATM
2023-09-10 18:52:14 +02:00
Blaz Kristan e40f266042 Better bugfix in mode blending when _t is unallocated 2023-09-08 16:01:11 +02:00
Frank 69fb15d3cb debug message optimizations for 8266
as discussed in previous commit.
2023-09-08 14:06:57 +02:00
Frank 188956a4af bugfix for random crash when switching between presets
this is a band-aid fix for random crashes when switching between presets with multiple segments - crossfade disabled.

!! adding type initializers fixed it for me on -S3, however I still see (less frequent) crashes on esp32, due to heap corruption.

It took me hours to get a meaningful stackdump:

assert failed: heap_caps_free heap_caps.c:360 (heap != NULL && "free() target pointer is outside heap areas")

Backtrace: 0x40084ee1:0x3ffb2570 0x4008e341:0x3ffb2590 0x40094709:0x3ffb25b0 0x4008534a:0x3ffb26e0 0x40094739:0x3ffb2700 0x400e9037:0x3ffb2720 0x400e917c:0x3ffb2740 0x400eaeeb:0x3ffb2760 0x40117ec5:0x3ffb27c0 0x401184ea:0x3ffb2800 0x4013509d:0x3ffb2820

  #0  0x40084ee1:0x3ffb2570 in panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:402
  #1  0x4008e341:0x3ffb2590 in esp_system_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/esp_system.c:128
  #2  0x40094709:0x3ffb25b0 in __assert_func at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/assert.c:85
  #3  0x4008534a:0x3ffb26e0 in heap_caps_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/heap_caps.c:360
      (inlined by) heap_caps_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/heap_caps.c:345
  #4  0x40094739:0x3ffb2700 in free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/heap.c:39
  #5  0x400e9037:0x3ffb2720 in Segment::deallocateData() at wled00/FX_fcn.cpp:189
  #6  0x400e917c:0x3ffb2740 in Segment::resetIfRequired() at wled00/FX_fcn.cpp:206
      (inlined by) Segment::resetIfRequired() at wled00/FX_fcn.cpp:203
  #7  0x400eaeeb:0x3ffb2760 in WS2812FX::service() at wled00/FX_fcn.cpp:1216 (discriminator 2)
  #8  0x40117ec5:0x3ffb27c0 in WLED::loop() at wled00/wled.cpp:115 (discriminator 3)
  #9  0x401184ea:0x3ffb2800 in loop() at C:/src/wled00/wled00.ino:20
  #10 0x4013509d:0x3ffb2820 in loopTask(void*) at C:/Users/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:50

ELF file SHA256: 18c20b536f4c6ef4
2023-09-08 12:06:23 +02:00
Blaz Kristan c2f5846a8e Add optional compile flag 2023-09-02 20:20:51 +02:00
Blaz Kristan ac83b67632 Cleaner transition code.
Fixed skipped pixel flashing.
2023-08-12 12:45:11 +02:00
Blaz Kristan 7b28387bb4 Comments from Aircoookie addressed 2023-08-09 17:23:21 +02:00
Blaz Kristan 9832fbe042 Segment reset 2023-08-08 20:40:19 +02:00
Blaz Kristan 084070475d Chasing memory corruption/leaks. 2023-08-07 16:50:18 +02:00
Blaz Kristan 93a1616933 Blend tweaking. 2023-08-05 21:01:06 +02:00
Blaz Kristan 9a87a2ff0d Blending 2023-08-05 17:35:14 +02:00
Blaz Kristan 937e3d0b94 FX blending POC 2023-08-05 13:50:08 +02:00
Blaz Kristan 8503aba583 Better random palette handling.
Remove unnecessary debug timing.
2023-08-03 22:28:53 +02:00
cschwinne 8ccf349458 Always repaint NPB buffer on brightness change
Fix bus re-init causing full brightness (every show() now attempts to set the brightness, bus will ignore this if it stays the same)
2023-07-19 17:25:25 +02:00
cschwinne 2fce15db94 Restore brightness immediately after show() 2023-07-19 16:22:34 +02:00
cschwinne 5b9630cf46 Repaint NPB buffer on brightness updates 2023-07-19 13:50:09 +02:00
Blaz Kristan 7dcbb409a9 Trying to solve ABL bug.
(no more pulsing)
2023-07-18 23:33:28 +02:00
Frank 5ef7cd7bdd blur bugfix
turns out that fastLED 3.6.0 has an explicit uint32_t operator that returns RGBA, however  3.5.0 does not have this and the conversion returned only the "red" component".
2023-07-18 13:12:52 +02:00
Blaz Kristan abfb8bbc34 Fix (almost good) for unbuffered ABL calculations. 2023-07-17 17:06:04 +02:00
Blaz Kristan 82e01f7b17 Fixed ABL calculation. 2023-07-17 16:15:17 +02:00
cschwinne 5e20abd7f1 Move segment bounds queuing to WS2812FX 2023-07-13 13:08:36 +02:00
Frank 72a72dbc88
proper rounding of FPS 2023-07-13 12:49:19 +02:00
cschwinne 4766666913 Static queued segment bounds
(saves 180 bytes of RAM)
Fixed segment index not increasing on inactive segments
2023-07-13 03:09:42 +02:00
Blaz Kristan fa6070c680 Multiple updates:
- additional debug timings
- removed local leds[] buffer
- async segment bounds change (crashes seen otherwise)
- added isActive() check to Segment drawing methods
- ABL simplification
- palette option for Black hole (FX)
- (possible) crash mitigation is Segment handling (rapid preset changes)
2023-07-12 20:52:34 +02:00
cschwinne 6267d11e51 Fix compilation and ABL scaling 2023-07-09 12:32:28 +02:00
Christian Schwinne 822298ab66
Merge branch 'main' into alt-buffer 2023-07-09 11:31:02 +02:00
Blaz Kristan f437fd6cd6 Code readability.
Fix for peek.
Loop timing.
2023-07-06 21:16:29 +02:00
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 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
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 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 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 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
Christian Schwinne fa9b151c36 Slightly more efficient buffer copy to busses 2023-06-27 01:57:05 +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
Blaz Kristan ef3c72a24f Fix for #3265 2023-06-23 23:49:54 +02:00
Blaz Kristan 189d145393 Merge branch 'main' into beta-3 2023-06-04 18:43:28 +02:00
Blaz Kristan 1e7071bff3 Transition bugfix. 2023-06-04 18:36:46 +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
Blaž Kristan 69ab2ce402
Merge branch 'main' into feature 2023-05-30 16:20:20 +02:00
Blaz Kristan 0a5aac724a Merge branch 'main' into seg-groups 2023-05-29 21:35:52 +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 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
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