Will Miles
acc8b9cdbc
BusDigital::begin: Pass clock rate argument
...
Fixes bug introduced by #4312 .
2024-11-27 09:00:25 -05:00
Damian Schneider
0a05611e1d
more improvements to setPixelColor
...
- code is a bit cleaner and faster as well
- chaning array access to pointer access in bus_manager makes it a few instructions faster
- changed getNumberOfPins and getNumberOfChannels to return 32bit values, saving the unnecessary 8bit conversion
2024-11-26 20:59:36 +01:00
Will Miles
d53d7aa2e2
Defer calling begin() on digital buses
...
NeoPixelBus requires that all parallel I2S bus members be constructed
before any of them call Begin(). Implement this by deferring the
call to the end of bus construction.
Fixes #4301 .
2024-11-23 12:34:06 -05:00
Will Tatam
d320c4650d
HUB75 - use CHAIN_BOTTOM_LEFT_UP when panel width count and panel height count are set
2024-11-14 19:21:35 +00:00
Will Tatam
de8a3666ec
HUB75 - lower color depth for larger panels
2024-10-10 22:27:41 +01:00
Will Tatam
f1b9952bf9
HUB75 - Support BGR color order
2024-10-04 20:21:30 +01:00
Will Tatam
c356846d90
HUB75 - fix hasRGB and missing override
2024-10-04 19:10:53 +01:00
Will Tatam
f7b8828deb
HUB75 - code formatting
2024-10-04 19:01:27 +01:00
Will Tatam
4276671538
HUB75 - Remove hot from show
2024-10-04 18:59:08 +01:00
Will Tatam
5b86c67a98
Error for ESP8266 and hub75
2024-10-04 18:57:59 +01:00
Will Miles
cb8dae1ddb
PWM: Revert always apply dead time
2024-09-29 10:13:19 -04:00
Will Miles
59deebc961
Improve PWM on ESP8266
...
- Better phase updates without dropping samples
- Make second pin duty cycle always after first, even inverted
2024-09-29 10:00:27 -04:00
Will Miles
fe4b668107
Slightly reduce PWM jankiness
2024-09-28 23:12:03 -04:00
Will Miles
cc87b32206
Support PWM phase shifts on ESP8266
...
Use the phase-locked soft PWM from the Arduino core to implement the
same PWM phase management as ESP32s are using. The soft PWM code is
vendored in, as it was previously, to add the NMI workaround from #4035 .
Completes #4034
2024-09-28 23:07:28 -04:00
Damian Schneider
7c0fe1285a
updated setPixelColor() and getPixelColor() functions
...
uint16_t to unsigned to make it consisten throughout the hand-down.
colorFromPaletteWLED now returns uint32_t which saves the conversion to CRGB and back to uint32_t (in most uses at least).
also added (preliminary) CRGBW struct. I tried to use it in place of uint32_t colors but it adds a lot of overhead when passing the struct so reverted to uint32_t in most places.
updated a few FX to use the CRGBW struct and also cleaned some code to improve flash useage.
2024-09-28 15:26:14 +02:00
Will Tatam
8632a0a6ec
Hub75 - use actual panel config values
2024-09-22 16:22:30 +01:00
Will Tatam
e111b6e1b7
Hub75 - PIN_COUNT const
2024-09-22 15:53:40 +01:00
Will Tatam
713cbb81b8
Merge branch '0_15' into HUB75-AC
2024-09-22 15:12:37 +01:00
Will Tatam
fc0739703b
cleanup hub75 comments
2024-09-22 13:14:35 +01:00
Will Tatam
23e578bfbf
Swap BusHub75Matrix to use allocateMultiplePins
2024-09-22 12:59:29 +01:00
Blaz Kristan
bd7cd32f91
Add mandatory refresh capability to remove type dependency.
2024-09-22 13:56:14 +02:00
Blaz Kristan
b50e6e0d90
Static PinManager & UsermodManager
...
- saves a few bytes of flash
2024-09-19 21:44:11 +02:00
Blaz Kristan
6a188033c6
Merge branch '0_15' into compile_different_busses
2024-09-14 09:27:37 +02:00
Blaž Kristan
6169c458bf
Remove void
2024-09-12 08:48:31 +02:00
PaoloTK
c5435ec1fa
Merge remote-tracking branch 'AC/bus-config' into compile_different_busses
2024-09-11 23:04:37 +02:00
Will Tatam
ad402adf7a
Hub75 - Misc fixes - WiP
2024-09-08 19:58:37 +01:00
Will Tatam
21c582ee1a
Porting latest BusHub75Matrix from MoonModules - Mostly authored by Frank - MIT licence granted for this copy
2024-09-08 17:45:28 +01:00
Will Tatam
e0d78d5328
Porting latest BusHub75Matrix from MoonModules - Mostly authored by Frank - MIT licence granted for this copy
2024-09-08 17:36:39 +01:00
Will Tatam
e185f2eaf6
Hub75 compact pin defintion
2024-09-08 14:11:34 +01:00
Will Tatam
78fb9dcc59
Cleanup mxconfig.chain_length
2024-09-08 13:39:38 +01:00
Will Tatam
e066b502c3
hub75 - remove hard coded panel sizes
2024-09-08 13:33:34 +01:00
Will Tatam
e94943d505
Assign proper type ID for Hub75
2024-09-08 13:05:20 +01:00
Will Tatam
ecd46f2f06
Swap to new way to have dynamic LED types list
2024-09-07 20:29:43 +01:00
Will Tatam
74f77a7e8a
Merge branch 'bus-config' into HUB75-AC
2024-09-07 20:06:56 +01:00
Blaz Kristan
ac689a9a2e
Remove array, un-inline calculateCCT
2024-09-06 12:19:04 +02:00
Blaz Kristan
9cc333b2bd
Move LED types to individual bus type
...
- (credit @netmindz & @willmmiles)
Tuning.
2024-09-05 21:49:27 +02:00
Blaz Kristan
092a5a1ca3
Unsigned fix
2024-09-04 20:54:44 +02:00
Damian Schneider
d3c31c52a2
found a better way of deadTime subtraction, fixed inverted signals
2024-09-04 18:03:52 +02:00
Blaz Kristan
b1e58dd10d
Optimisations
...
- renamed variables
- some tuning
2024-09-03 22:28:21 +02:00
Damian Schneider
2cc0aceac7
Bugfixes
...
- fixed maxBri value
- fixed overflow in dead time subtraction
- deadtime and offset now also work if signals are inverted (_reversed)
2024-09-03 19:14:50 +02:00
Damian Schneider
be7475fe66
bugfixes, removed debug printout
2024-09-02 22:06:46 +02:00
Damian Schneider
85e2f7eb34
fixed offsets and inverted signal plus dead time
2024-09-02 17:53:15 +02:00
Blaz Kristan
a3b28871c6
Dirty fix for newer framework
2024-09-01 12:27:41 +02:00
Blaz Kristan
2ca034bfa8
Remove ledc_set_duty_and_update
...
Add semaphoring
Determine CCT overlap
2024-09-01 11:43:22 +02:00
Blaz Kristan
0d035a08d6
Dithering support & bugfix in UI
...
Thanks to @dedehai & @zalatnaicsongor
2024-08-30 15:21:16 +02:00
PaoloTK
6655e2664e
rebase to bus-config
2024-08-29 13:18:48 +02:00
Blaz Kristan
c51ce2eec7
Fix C/P error
...
Clarifications
2024-08-27 21:57:00 +02:00
Blaz Kristan
b2e00eb868
Introduce network type (previous virtual)
...
- phase shifting correction (limit to PWM CCT)
2024-08-27 14:11:56 +02:00
Blaz Kristan
820df0c596
PinManager update
...
- LEDC: allocate same timer for CCT PWM
- use SOC constants
BusManager update
- use allocateMultiplePins for BusPwm
2024-08-27 00:21:24 +02:00
Blaz Kristan
f55e2fc7b8
Merge branch '0_15' into bus-config
2024-08-25 12:41:16 +02:00
Blaz Kristan
dbb47d506c
Bus manager rework
...
- move macros to constexpr methods
- introduce type capabilities for UI
- add phase shifting (POC) to PWM
- replace PWM CIE LUT with calculated curve
CIE & phase shifting credit @dedehai
2024-08-24 11:35:32 +02:00
Blaz Kristan
6f3267aee9
Dynamic bus config
...
- provide LED types from BusManager for settings
Credit: @netmindz for the idea.
2024-08-22 17:15:12 +02:00
Damian Schneider
1cc47b02cf
use CIE brightness also for ESP8266
2024-08-21 08:06:32 +02:00
Damian Schneider
e7babc071d
replaced PWM LUT with calculation
2024-08-20 20:15:17 +02:00
Blaz Kristan
52548542d2
Remove clock/max bit overrides
...
Move contants into bus manager
2024-08-04 17:05:47 +02:00
PaoloTK
1123d85fd2
removed float math and log(), added max bit width
2024-08-03 15:54:39 +02:00
PaoloTK
5c247d2833
first implementation
2024-08-01 20:25:18 +02:00
Blaz Kristan
efa32ed4f6
Size optimisations
2024-07-09 21:50:27 +02:00
Blaz Kristan
887254f5da
Bugfixes
...
- LED memory calculation (not UI)
- potential fix for #4040
- compiler warning in FX
2024-07-07 14:18:51 +02:00
Blaz Kristan
693bf4816b
Minor tweaks.
2024-06-30 10:44:25 +02:00
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
Will Tatam
07a15883bd
Cleanup comments
2024-02-26 23:23:06 +00:00
Will Tatam
2bd1e81917
Default to mrfaptastic pinout
2024-02-26 23:19:15 +00:00
Will Tatam
7ef84cfbfe
Add HUB75 support
2024-02-26 19:29:40 +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