Commit Graph

54 Commits

Author SHA1 Message Date
Blaz Kristan
d13b8c8421 Move LED_BUILTIN handling to BusManager class
- reduce max panels
2024-06-23 14:09:18 +02:00
Blaz Kristan
f4475b9d2a Dynamic parallel I2S output
- update NeoPixelBus to v2.8.0
- use single/mono I2S + 4x RMT for 5 outputs or less
- use parallel x8 I2S + 8x RMT for >5 outputs (limit of 300 LEDs per output)
2024-06-12 18:00:00 +02:00
Blaz Kristan
13bfda56ef Auto segment creation bugfix
- additional debug
- minor optimisation
2024-05-18 11:11:40 +02:00
Blaz Kristan
886120fe9f Bugfix
- getPixelColor() for analog
- RMT channel (#3922)
2024-04-26 20:07:27 +02:00
gaaat98
9ffcde878a fix for #3884 2024-04-06 15:40:32 +02:00
Blaz Kristan
20ed81cd86 Prefer I2S1 over RMT on ESP32
- remove Audioreactive limitation
2024-03-30 11:02:28 +01:00
Blaz Kristan
5f37c19d42 PSRAM fix & CCT IC
- prevent PSRAM use on ESP32 rev.1 without compile fix
- add runtime selection for CCT IC (Athom 15W bulb)
2024-03-28 16:03:06 +01:00
Blaz Kristan
7a9eff7f35 Fix. 2024-03-18 20:23:30 +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
Blaž Kristan
505768db04 Some fixes & implement recommendation from @Aircoookie
https://github.com/Aircoookie/WLED/pull/3298#issuecomment-1651910418
2024-03-13 20:44:34 +11:00
Robert
c74db95c14 Add FW1906 support 2024-03-13 20:44:33 +11:00
Robert
af3f27feae Move CTT calculation from BusPwm to Bus class.
This enable it to other bus types.
2024-03-13 20:26:58 +11:00
Blaz Kristan
c0beb621e2 Better low brightness level PWM handling
Additional string optimisation
2024-03-07 20:21:56 +01:00
Blaz Kristan
a2a632c415 Variable PWM duty cycle resolution 2024-03-01 14:36:17 +01:00
shammy642
fdbcb61a12 Rebased to 0.15 2024-02-29 08:27:11 +00:00
Blaz Kristan
989bdfb0d5 Reduce string RAM usage for ESP8266 debug builds 2024-02-17 11:33:42 +01:00
Blaz Kristan
5dd8f0a0b7 typo 2024-01-17 23:39:33 +01:00
Blaz Kristan
3a0d8069b6 Bus type clarifications
- expansion of digital types
- updated macros
- mem calc function
2024-01-16 21:02:08 +01:00
Blaz Kristan
99efbd30f1 ColoOrderMap W channel swap
& cleanup
2024-01-11 20:22:42 +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
6332ee6edb Effect buffer optimisations
setMode() fix for selecting gap
UI error messages
2023-12-27 19:36:25 +01:00
Blaz Kristan
391876e557 Autowhite cleanup
Fix for USC8904 hasWhite()
2023-12-09 19:03:33 +01:00
Blaz Kristan
8f7f9ec367 Feature: Per-port ABL 2023-11-15 19:37:07 +01:00
Blaz Kristan
d0d399bdfc Revert to comparing _data for double buffering
- warning: test for potential FPS drop (regression)
2023-11-12 12:45:28 +01: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
394443b6d1 Merge branch 'main' into fx-blending 2023-08-25 18:34:56 +02:00
Blaz Kristan
fc1dd2daac Fix for #3346 2023-08-25 18:34:11 +02:00
Blaz Kristan
ac83b67632 Cleaner transition code.
Fixed skipped pixel flashing.
2023-08-12 12:45:11 +02:00
Blaz Kristan
353e97a4c1 Clear status pixels 2023-08-11 00:48:32 +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
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
Blaz Kristan
abfb8bbc34 Fix (almost good) for unbuffered ABL calculations. 2023-07-17 17:06:04 +02:00
Blaz Kristan
f1e1bd41b9 Slight optimisation in BusDigial::getPixelColor() 2023-07-14 15:58:03 +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
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
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
Blaž Kristan
e00116551c Add Ucs890x support and swaps NeoPixelBrightnessBus with NeoPixelBusLg (#3091)
* Add UCS890x support.

* Fixes

* Update NeoPixelBus to 2.7.3 for UCS8904 support.
Update ESP8266 core to 4.1.0

* ESP8266 compile fixes.
- use PlatformIO framework and toolchain
- add compiler warning suppression
- remove IRAM_ATTR to fit in IRAM

* Replace NeoPixelBrightnessBus with NeoPixelBusLg
Resolves #3087

* Update to NPB 2.7.4

* Internal NPB color conversions.

* Fix errors due to merge with SPI Hz methods

Regenerate settings page HTML

---------

Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
2023-04-28 01:28:57 +02:00
Blaž Kristan
9ff3f85432 Allow SPI clock speed selection. (#3173)
* Allow SPI clock speed selection.

* Bump NPB to 2.7.4
2023-04-28 00:27:19 +02:00
Blaz Kristan
1bab4d6937 Merge branch 'main' into onepx-segment 2023-03-12 13:14:22 +01:00
Blaž Kristan
349578fb6e whitespace cleanup 2023-03-11 22:33:06 +01:00