Blaž Kristan
c43d09c8b1
Move _data and allocation to derived class
...
- as suggested by @TripleWhy
- minimum length guard
Conflicts:
wled00/bus_manager.cpp
wled00/bus_manager.h
2025-02-07 16:18:53 +01:00
Blaž Kristan
1db3359b84
Replace unsigned with size_t
2025-02-01 12:07:31 +01:00
Blaž Kristan
5b7bab6752
Compile fixes
2025-01-30 20:46:26 +01:00
Blaž Kristan
70042db2de
Allow "unlimited" virtual buses
...
- added config upload options
- number of buses it limited to 36 (0-9+A-Z identifiers)
- WRNING web server may not support that many variables
2025-01-30 19:41:44 +01:00
Blaž Kristan
bf69d37cbe
Revert getBus() changes
2025-01-30 19:35:36 +01:00
Blaž Kristan
ee7ec20f29
Convert BusManager class to namespace
...
- use unique_ptr/make_unique for busses
2025-01-30 19:31:09 +01:00
netmindz
32a75c1ff5
Merge pull request #4165 from willmmiles/esp8266-pwm-phase
...
Support PWM phase shifts on ESP8266
2025-01-27 19:05:46 +00:00
Will Tatam
7c05914e5a
Merge branch 'main' into aws-queue-0_16
2025-01-26 16:07:15 +00:00
Will Tatam
35624ab998
Merge branch 'main' into gif-fix
2025-01-26 15:19:56 +00:00
Blaž Kristan
e7c0ce794b
Merge conflict fix
...
- updated blending style constants
2025-01-24 10:10:14 +01:00
Will Miles
4c50119ac2
Merge remote-tracking branch 'upstream/main' into esp8266-pwm-phase
2025-01-23 19:39:01 -05:00
Will Miles
bec7e54f7f
Defer web requests if JSON lock contended
...
Use the web server's queuing mechanism to call us back later.
2025-01-23 19:10:43 -05:00
Will Miles
dc317220b3
Debug: Dump web server queue state
...
This can be helpful for debugging web handler related issues.
2025-01-23 19:10:43 -05:00
Will Miles
981750a48a
Enable webserver queue and limits
...
Enable the new concurrent request and queue size limit features
of AsyncWebServer. This should improve the handling of burst
traffic or many clients, and significantly reduce the likelihood
of OOM crashes due to HTTP requests.
2025-01-23 19:10:43 -05:00
Will Tatam
f2caf14d6a
Fix missing hideDMXInput and hideNoDMXInput functions
2025-01-22 20:33:15 +00:00
Miroslav Lichvar
39512da74e
fix reproduction in game of life
...
A typo caused broken counting of the most common color in neighbouring
cells and blocked reproduction in some directions.
2025-01-21 20:01:04 +01:00
Blaž Kristan
3a426e258b
Merge branch 'main' into blending-styles
2025-01-20 11:19:43 +01:00
5chubrakete
4951be6999
Added some date and time formatting options to scrolling text effect. ( #4195 )
...
Updated to nonbreaking change and auto uppercasing according to review.
2025-01-20 06:24:10 +01:00
Damian Schneider
a421a90e0a
replacement for fastled sqrt16() ( #4426 )
...
* added bitwise operation based sqrt16
- replacement for fastled, it is about 10% slower for numbers smaller 128 but faster for larger numbers. speed difference is irrelevant to WLED but it saves some flash.
* updated to 32bit, improved for typical WLED use
- making it 32bits allows for larger numbers
- added another initial condition check for medium sized numbers
- increased the "small number" optimization to larger numbers: the function is currently only used to calculate sqrt(x^2+y^2) which even for small segments is larger than the initially used 64, so optimizing for 1024 makes more sense, although the value is arbitrarily chosen
2025-01-20 05:51:04 +01:00
Damian Schneider
aab29cb0ab
consolidated colorwaves and pride into one base function
...
the two FX are almost identical in code with just a few lines difference.
2025-01-19 09:04:54 +01:00
Frank
566c5057f9
optimizations as per reviewer recommendations
...
* removed unneeded initializations in blur() and blur2D()
* remove check for _t in progress()
* code readability: if (_t) --> if(isInTransition())
* add `isInTransition()` checks to currentBri() and currentMode()
* added missing `_transitionprogress = 0xFFFFU` in stopTransition()
2025-01-19 07:35:46 +01:00
Frank
cd52d7bcf6
align some function declariations with their implementation
...
This is purely a "clean code" thing, no impact on function - it helps to avoid confusion when reading the code.
C++ allows declaration and implementation to use different variable names.
2025-01-19 07:35:46 +01:00
Frank
ed3ec66d33
fix compile error
...
"const" was missing in the function implementation
2025-01-19 07:35:46 +01:00
Blaž Kristan
01c463c8e8
More tuning
...
- replaced POD new/delete with malloc/free
- some more SEGLEN <= 1
- some gnu::pure
- more const attributes
- some static attributes
2025-01-19 07:35:46 +01:00
Frank
872465df40
typo in comments
2025-01-19 07:35:46 +01:00
Frank
b6f74287d0
implement recommendations from reviewers
...
* simplified transition bugfix
* removed cast same type
* isIp parameter changed to pass-by-reference, to avoid copy constructor
2025-01-19 07:35:46 +01:00
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
Frank
90c2955a71
avoid using keywords for variables: module, final
...
these are reserved names and future compilers may reject them.
2025-01-19 07:35:46 +01:00
Frank
7be868db12
bugfix: indexOf() returns -1 if string not found
...
... so we must use `int` instead of `unsigned`
2025-01-19 07:35:46 +01:00
Frank
703f84e5e1
code robustness improvements plus minor speedup
...
* make XY() and _setPixelColorXY_raw() const (minor speedup)
* segment is a struct not a class: friend class Segment --> friend struct Segment
* fix missing braces around two macros
* use non-throwing "new" where possible
* improve robustness of transition code
2025-01-19 07:35:46 +01:00
netmindz
48f5099646
Merge pull request #4495 from netmindz/DMX-Input-AC
...
Add Wired DMX Input support
2025-01-17 19:31:25 +00:00
Kilrah
b9aeb19834
RF433 json usermod ( #4234 )
...
* RF433 remote usermod
---------
Co-authored-by: Kilrah <kilrah@kilrah.xyz >
2025-01-17 08:01:17 +01:00
netmindz
a4c3491f0c
Merge pull request #4428 from blazoncek/waterfall-fix
...
FX: Waterfall, Matripix & Dissolve fix
2025-01-16 15:52:21 +00:00
netmindz
b2aac9f991
Merge pull request #4386 from DedeHai/ESPNow_glitchfix
...
Fix for ESPNow remote causing output glitches
2025-01-16 13:01:00 +00:00
Will Tatam
a582786655
Port over remaining WLEDMM part of DMX Input and adapt for AC
2025-01-16 12:48:36 +00:00
Will Tatam
9a6e91d3e5
DMX Input - reinstate loggers for connection state change
2025-01-16 12:22:51 +00:00
Will Tatam
fc4e7a2dee
Swap DMX port to 1, persist user choice of port, validate port vs UART count
2025-01-16 12:22:32 +00:00
Will Tatam
a56014bb66
Hide DMX port as just confusing to users
2025-01-16 12:20:37 +00:00
Will Tatam
ebfc438bd4
Tweak DMX settings UI
2025-01-16 12:20:15 +00:00
Will Tatam
3996f02dea
Revert "Rename WLED_ENABLE_DMX to WLED_ENABLE_DMX_OUTPUT"
...
This reverts commit 7f9cc67518 .
2025-01-16 12:19:25 +00:00
Arne
d637524bfc
chore: remove outdated comments
2025-01-16 12:16:50 +00:00
Arne
8570922dcc
chore: adapt code style
2025-01-16 12:16:39 +00:00
Arne
6598265f9b
make compile after rebase
2025-01-16 12:15:58 +00:00
Arne
8f398dfd08
Move dmx_input into its own task on core 0.
...
This was necessary because otherwise it is not able to respond to rdm in time.
2025-01-16 12:15:49 +00:00
Arne
68e9d701de
Do no longer disable dmx_input when cache is disabled.
...
No longer needed because missing ISR_ATTR have been added to esp_dmx.
2025-01-16 12:15:37 +00:00
Arne
67e8a00b6d
rename initDmx() -> initDmxOutput()
2025-01-16 12:11:21 +00:00
Arne
11b48bc374
rename handleDMX() handleDMXOutput()
2025-01-16 12:10:13 +00:00
Arne
fa80c62b28
rename dmx.cpp -> dmx_output.cpp
2025-01-16 12:06:10 +00:00
Arne
7f9cc67518
Rename WLED_ENABLE_DMX to WLED_ENABLE_DMX_OUTPUT
2025-01-16 12:05:40 +00:00
Arne
84eb6fd460
Add dmx input port to configuration
2025-01-16 11:47:48 +00:00