Frank
013684b5ca
making some parameters const, plus minor improvements
...
* changed some parameters to "pointer to const", so compiler can better optimize code size and performance - because data behind a const pointer will never be modified by the called function.
* made setPixelColor `const`
* fixed a few potentially uninitialized local vars (the may have random values if not initialized)
* avoid shadowing "state" in handleSerial()
* plus a few very minor improvements
2025-01-19 07:35:46 +01:00
Damian Schneider
cae98451e3
Merge remote-tracking branch 'upstream/main' into 0_15__speed_improvements
2024-12-20 09:12:01 +01:00
Blaž Kristan
b4aa8376de
Idle current bugfix ( #4402 )
2024-12-17 18:59:53 +01: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
Blaz Kristan
ba3a61f623
Reduced code size by:
...
- removing WS2812FX::setMode()
- removing WS2812FX::setColor()
- removing floating point in transition
- color handling modification in set.cpp
- replaced uint8_t with unsigned in function parameters
- inlined WS2812FX::isUpdating()
- (MAY BE BREAKING) alexa & smartnest update
2024-10-02 20:14:25 +02: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
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
Blaz Kristan
49d51c5af8
Hot
2024-09-12 15:26:26 +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
Blaz Kristan
5df1a223c2
Pre-allocate COM vector
2024-09-11 16:45:39 +02: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
PaoloTK
6655e2664e
rebase to bus-config
2024-08-29 13:18:48 +02:00
Blaz Kristan
865e3dcd0c
getNumberOfPins
2024-08-25 12:53:23 +02:00
Blaz Kristan
8818a9e82a
Remove erroneous debug
2024-08-24 11:41:23 +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
Blaz Kristan
d234b4b0f1
SM16825 support
...
- add WW & CW swapping
2024-08-05 20:56:12 +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
0ff4016250
WLED 0.15.0-b4 release
...
- LED settings update (limit to available outputs)
- minor fixes
2024-06-29 20:22:47 +02:00
Blaz Kristan
e753f3849e
Revert "WLED 0.15.0-b4 release"
...
Messed FX_fcn.cpp CRLF conversion
2024-06-29 20:18:30 +02:00
Blaz Kristan
7b248c8fb2
WLED 0.15.0-b4 release
...
- LED settings update (limit to available outputs)
- minor fixes
2024-06-29 16:36:27 +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
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
Blaz Kristan
0dcb56eab5
Modify Bus & BusManager to accommodate digital CCT
...
- additional fix in hasWhite() & setCCT() & hasCCT()
2024-03-16 12:36:05 +01: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
Blaz Kristan
7eae8f68d8
Merge branch 'main' into 0_15
2024-02-06 14:47:20 +01:00
Blaz Kristan
3be368c333
A few more overrides
2024-01-14 21:04:18 +01:00
Blaz Kristan
45dc5e236d
Override identifier
2024-01-14 17:38:29 +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
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
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
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
Frank
45a0061660
reverting _restaurationBri change
...
see previous discussion
2023-07-05 14:26:09 +02:00