Commit Graph

5491 Commits

Author SHA1 Message Date
Frank
ecb8817c90 Update audio_source.h - swapped channel bug still exists in 2.0.17
Actually we could even check for " < 5.0.0 " - arduino 2.0.x is in maintenance mode now, and I see little chance that a fix will appear before 3.0.0.
2024-07-30 16:03:19 +02:00
Will Tatam
0562debbe1 hub75 - slow updates to reduce wifi performance issues 2024-07-28 10:39:27 +01:00
Frank
a84ac5b1ee Merge pull request #4060 from DedeHai/0_15_bootdelay
boot-up delay to fix wifi not starting in some setups

use
`-D WLED_BOOTUPDELAY=500` (or some other delay you want, in milliseconds)
in platformio env definition to add 500ms of delay before hardware init.
2024-07-26 17:45:54 +02:00
Troy
79402208ee Allow E131_MAX_UNIVERSE_COUNT override 2024-07-24 21:18:57 -04:00
Troy
f3e89d070b Merge pull request #149 from Brandon502/GoL-Optimized
GoL - Optimizations
2024-07-21 20:53:47 -04:00
Brandon502
33accd8671 GoL - Optimizations
Uncapped update option if speed set to 255.
2024-07-21 15:40:24 -04:00
Frank
d255beca92 Update platformio.ini - final hub75 correction
TWO commits after the release tag - I think this is the correct one now. Fingers crossed.
2024-07-18 15:29:43 +02:00
Frank
ed636aa522 Update platformio.ini - another hub75 correction
this is exactly 1 commit after the 3.0.10 tag.
2024-07-18 15:26:05 +02:00
Frank
dfbf9729d5 Update platformio.ini - hotfix for HUB75 build 2024-07-18 14:56:49 +02:00
Frank
5b406e5500 build 2407171 2024-07-17 21:51:37 +02:00
Frank
0f6f6e3065 SPI speed: add MAX (40Mhz) and OVER (60Mhz)
experimental
2024-07-17 21:50:53 +02:00
Frank
6cfbc48ead busmanger debug help
* avoid crash when HUB75 driver is not compiled into firmware
* minimal info about PWM and Network busses
* show SPI frequency for DotStar driver
2024-07-17 21:49:10 +02:00
Frank
afa6e31ddd GEQ 3D: improve display for small panels
provides a bit more space for the "laser" when panel height is below 18.
2024-07-17 16:15:29 +02:00
Frank
2ba6350cbd GEQ 3D bugfixing and minor improvements
* prevent loss of projector when changing segment witdth (mirror).
* prevent unsigned wrap-around "0 -1" for projector
* use aux0 and aux1 segment vars (use them as signed)
* change default NUM_BANDS to 50% - better for smaller panels
* if less than 16 bands : map to full range instead of only showing lower frequencies - same behavious as GEQ 2D.
2024-07-17 15:24:21 +02:00
Frank
13dd7f3407 fixing a possible drawLine with x < 0 in GEQ 3D 2024-07-17 12:44:35 +02:00
Frank
40c2ef4e98 GEQ 3D robustness improvements
* require at least a 3x3 setup
* make sure that NUM_BANDS is limited by available columns
* avoid drawing with negative Y
* slightly reduce default "front fill", so that "borders" has a visible effect when running with defaults
2024-07-17 12:29:15 +02:00
Frank
14f286fc8b increase MAX_LEDS_PER_BUS to 8464 (92x92)
previous limit was 2048 (const.h) or 4096 (settings_leds.htm). Some busses like HUB75 or Network are abled to handle all LEDs on one connection.
2024-07-17 12:08:31 +02:00
Will Tatam
d1cf8a679f Only enable double buffering for matrix portal due to memory issues on classic esp32 2024-07-17 10:23:50 +01:00
Will Tatam
bb7b4b2f79 Tweak SmartMatrix build flags - smaller image size and brighter output 2024-07-17 09:29:15 +01:00
Will Tatam
2867fa6cef Set default name 2024-07-17 09:00:19 +01:00
Troy
6808572907 doSoft fix for GEQ 3D 2024-07-16 19:05:11 -04:00
Troy
7b8d025a24 GPL3 License for GEQ 3D 2024-07-16 18:46:23 -04:00
Frank
9260111cd7 use drawLine for 1D2D mapping modes
thanks @troyhacks for providing the idea.
2024-07-16 23:22:50 +02:00
Frank
9bcc5da132 code cleanup
- removed commented-out code
- reduced blank lines
2024-07-16 20:48:15 +02:00
Frank
7a83f1759d removed a/b testing via Reverse X (segment option) 2024-07-16 20:26:52 +02:00
Frank
98bd7acf1a Merge pull request #143 from MoonModules/3DGEQ
3D GEQ, plus performance improvements when drawing lines.
2024-07-16 20:03:46 +02:00
Frank
4051d5ddd8 increase limit for FX string: 127 --> 191 bytes 2024-07-16 18:40:11 +02:00
Frank
1f14673f43 workaround for "cannot read properties of undefined. reading 'split'
hmpf ... looks like somewhere deep in WLED, the FX name string gets limited to 127 chars....
2024-07-16 16:08:08 +02:00
Frank
e3b4a08393 soft light option
* bugfix for Borders (did not work with <16 bands)

* new option for soft light: when checked, the left & right edges of top lights are drawn with anti-aliasing on. Costs us 1-2 fps, so I made it optional.
2024-07-16 16:03:19 +02:00
Frank
96584c6c70 better rounding 2024-07-16 15:13:05 +02:00
Frank
e3d27de395 better handling of perspective
drawLine parameter "depth" shortens a line by a fraction - useful for VP perspective (vanishing point)
2024-07-16 13:27:56 +02:00
Frank
9928f5b9ec fixie 2024-07-15 18:27:25 +02:00
Frank
88d12547a4 FX.cpp: scrolling text tag #pow --> #amp
scrolling text: #pow --> #amp
because its ampere, not power.
2024-07-15 18:24:27 +02:00
Frank
6565e716ab GEQ speedup
use drawLine() to draw a complete bar at once. Only possible if _not_ doing colored bars.
2024-07-15 18:14:30 +02:00
Frank
961040849e speedup for pinwheel mapping
fast sPC() in pinwheel mapping -> ~10% speedup
2024-07-15 18:06:25 +02:00
Troy
98c15d7ec0 Borders checkbox 2024-07-15 08:18:42 -04:00
Troy
54f9d4ca6d Borders checkbox for @netmindz
Netmindz likes the borders. Now a check-box to enable.
2024-07-15 08:17:00 -04:00
Frank
5401328b6e loop optimizations
* made cols/rows integer, to avoid that "cols-x" wraps around
* pre-compute some expressions that don't depend on loop counters

--> wins us 1-4 fps on my 72x72 test setup
2024-07-15 14:05:19 +02:00
Frank
4f6eb8b161 prevent array bounds violation
+ don't use dynamic array for heights[] - dynamic arrays are using malloc() -> heap frag.
2024-07-15 13:24:18 +02:00
Frank
6d1615189b Merge branch 'mdev' into 3DGEQ 2024-07-15 12:33:48 +02:00
Frank
d0927a5142 akemi and GEQ didn't like map2 2024-07-15 12:29:29 +02:00
Frank
d2762c35b0 Update FX.cpp
* add more accurate version of map() - reduces slight flickering in some 2D effects
* cache fftResult[] in effects (um_data->fftresult might get updated while the effect still calculates)
2024-07-15 11:57:46 +02:00
Troy
3857862e03 Optimized side-wall drawing
Only draw what will be visible.

This is a pretty solid speed increase when the adjacent bar is close in height, or if it's taller and would occlude it anyway, it'll be skipped.
2024-07-14 22:32:42 -04:00
Frank
6aaf7a908d more sPC optimizations
* made setPixelColorXY_fast private
* optimized Segment::fill() to use setPixelColorXY_fast
* "bar" 1D expand optimization
2024-07-14 23:49:37 +02:00
Frank
dddd1574ec (experimental) setPixelColorXY_fast speedup by setPixelColorXY_fast
* adding a _fast_ variant of SetPixelColorXY, that does not perform any error checking.
* drawLine uses the fast setPixelColor variant (bresenham algo only)
* for TESTING: segment option "reverse" switches back to the "original slow" code.
surely needs some more optimization and improvements.

First test on GEQ 3D shows 10%-30% speedup
2024-07-14 14:11:11 +02:00
Will Tatam
aa6d275a86 Swap DMX port to 1, persist user choice of port, validate port vs UART count 2024-07-13 20:26:26 +01:00
Will Tatam
584ca5e8ae Double buffer needed to prevent flicker for effects like GEQ 2024-07-13 13:51:59 +01:00
Troy
75f0c7cb98 Oopsy 2024-07-12 22:34:37 -04:00
Troy
643f82daf0 Don't use new soft drawline() option 2024-07-12 22:32:14 -04:00
Troy
4c8d500215 Seems someone improved drawline() - fixed for this 2024-07-12 22:12:59 -04:00