Commit Graph

86 Commits

Author SHA1 Message Date
Frank
e100a2d69a switch off brightness reduction
this was added due to a recommendation from MrF (HUB75)  but it seems to work without, too.
2024-09-21 20:07:52 +02:00
Frank
28fe5cbd8b forgot one 2024-09-21 20:04:06 +02:00
Will Tatam
3669946a09 Swap pins used for S3 to avoid gpio0 2024-09-21 18:54:38 +01:00
Will Tatam
2781be375f Swap pins used for S3 with PSRAM to avoid conflict 2024-09-21 16:52:32 +01:00
Will Tatam
22bd52198f Cleanup Hub75 config 2024-09-21 15:59:35 +01:00
Frank
08c2446f61 better PSRAM flags handling (minor)
in MM, we can have WLED_USE_PSRAM_JSON instead of WLED_USE_PSRAM.
2024-09-17 18:11:06 +02:00
Troy
3ee05a74b4 PSRAM buffer fixes as per SoftHack007 2024-09-10 15:11:17 -04:00
Troy
08e2e188d9 Merge branch 'mdev' into HUB75-PSRAM-Buffers-Fixes 2024-09-09 18:56:06 -04:00
Troy
c2adb5be34 HUB75 PSRAM Buffers 2024-09-09 18:53:40 -04:00
Will Tatam
8c0fcaa0fd hub75 - mxconfig.clkphase = false 2024-09-07 17:19:46 +01:00
Will Tatam
37a3141f88 HD-WF2 tweaks 2024-09-07 13:34:09 +01:00
Will Tatam
1e6cdc2c5b HD-WF1 pinout 2024-08-22 20:41:23 +01:00
Will Tatam
a5600950b5 Enable HUB75 for the esp32S3_8MB_M for HD-WF2 2024-08-21 23:34:11 +01:00
Will Tatam
0d11827552 Add pinout for HD-WF2 2024-08-21 22:40:40 +01:00
Frank
5610548652 HUB75 clock phase
`mxconfig.clkphase = false;` seems to help reduce flicker on some panels.

@netmindz I think we should add a checkbox to the UI - something like "clocked on positive edge" (default = checked) which means clkphase = true. when unchecked, we set clkphase = false.
2024-08-13 12:52:19 +02:00
Frank
a77520aa05 bugfix
forgot to commit one line ...
2024-08-12 12:36:45 +02:00
Frank
a257e49bb4 HUB75 trying to reduce glitches
the HUB75 driver seems to randomly produce glitches, especially on hight contrast edges.

* roll back to HUB75 version 3.0.10 (known good)
* limit max brightness to 238 (=92%)
* add short delay after starting the driver
2024-08-12 12:20:15 +02:00
Frank
2934739ebf HUB75 cleanup, double buffer improvement
* code cleanup, removing some unneeded sanity checks
* use dirty bits in double buffer mode, too -> only not-black pixels are drawn into the back-buffer (20%-30% faster)
2024-08-09 17:46:14 +02:00
Frank
56e72ef22d HUB75 live preview 2024-08-08 20:57:15 +02:00
Frank
bad923570b double buffer off (MatrixPortal S3)
`mxconfig.double_buff = true` should not be necessary any more.
2024-08-08 19:04:10 +02:00
Frank
1b098b9863 fixie 2024-08-08 19:00:19 +02:00
Frank
b5d97cca93 HUB75 leds buffer with dirty bit acceleration
Instead of using the memory-hungry driver double buffer, this implements a LEDS buffer inside the BusHub75Matrix class.
--> up to 50% faster
--> uses one "dirty" bit per pixel, to only re-transmit pixels that changed after the last "show"
2024-08-08 18:56:12 +02:00
Frank
5b7345ef39 HUB75 refactoring
* move HUB75 implementation into bus_manager.cpp
* add "override" keyword
* include FastLED.h if not included previously
* move RGB macros into bus_manager.h
2024-08-08 18:48:49 +02:00
Frank
fb2402fb97 HUB75 optimization (double buffer only)
In double duffer mode, the screen is blanked at each show(). So we can drop setPixelColor(BLACK) calls until we receive a pixel with different color.
2024-08-07 17:02:46 +02:00
Frank
7f9da309c9 const const const
adding hints for the compiler for optimization.
In case your custom build complains about "const", just remove the keyword. based on e82f38e277, but going further :-)

* "const" class functions : function does not modify any class attributes ( --> "this" becomes const)

* __attribute__((pure)) :  function return value depends only on the parameters and/or global variables. The function does not modify any global or static variables.
* __attribute__((const)) : function only examines arguments (no globals), and has no effects except the return value. This slightly more strict than "pure"
* hot: tells the compiler "this functions is called very often"
* cold: the opposite of hot
2024-08-07 14:58:38 +02:00
Frank
078bd70775 HUB75 speedups and minor improvements
* HUB75: allow to use native driver gamma correction - requires to undo WLED gamma
* added unGamma24() function
* HUB75: optimized setPixelColor()
* some experimental HUB75 stuff
2024-08-05 17:28:03 +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
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
584ca5e8ae Double buffer needed to prevent flicker for effects like GEQ 2024-07-13 13:51:59 +01:00
Will Tatam
60fbf07bca Fix mx_width and height for 4scan 2024-07-10 23:01:21 +01:00
Will Tatam
fb30f9c641 Add Hub75Matrix 64x32 (Outdoor 8S) 2024-07-09 21:35:53 +01:00
Will Tatam
5123128e9c Limit hub75 chain length by height 64 not width to allow for 2 x 64x32 2024-07-09 18:39:58 +01:00
Frank
a0514bb7ee fix compiler warning 2024-05-17 21:40:59 +02:00
Frank
0c7450407e WLEDMM_TWOPATH - use I2S driver for second output
* TWOPATH is up to 20% faster in some situations.
* user_print for showing the driver unit (I2S#n, RMT#x) on serial
2024-05-17 21:24:10 +02:00
Frank
08d73646fd adding compile-time messages when extra features are enabled 2024-05-01 02:11:28 +02:00
Frank
714d4850af minor cleanup
* startup message from UM autoplaylist
* zeroCrossingCount added to sound simulation
* debug messages cleanup
2024-04-30 12:47:45 +02:00
Frank
bd8df5e5c8 WLEDMM specific adjustments 2024-04-27 19:23:24 +02:00
Blaz Kristan
0572d3bee9 Bugfix
- getPixelColor() for analog
- RMT channel (#3922)
2024-04-27 19:16:43 +02:00
Frank
657259acc2 Optimization: stop to constantly search for the bus
Adding a caching mechanism to the Bus Manager - up to 30% faster especially when many led pins are used.
2024-04-20 21:57:04 +02:00
Will Tatam
f1a494f82d Cleanup comments 2024-02-26 22:47:33 +00:00
Will Tatam
2f87b616cd Default to mrfaptastic pinout 2024-02-26 21:27:27 +00:00
Will Tatam
bf1a91a501 Resolve validation error for length 2024-02-25 12:07:02 +00:00
Will Tatam
e3e9ff72fa Force chain length to 1 for 64 panels 2024-02-25 11:24:12 +00:00
Will Tatam
e2aad4783d Allow chain of 1-4 panels - subject to memory 2024-02-24 17:27:20 +00:00
Will Tatam
26de408626 Add 8S and 16S, 1/8 ad 1/16 support 2024-02-24 11:30:22 +00:00
Will Tatam
2065d9ca2e Allocate pins using pinManager 2024-02-22 10:46:56 +00:00
Will Tatam
0c4d5ab0f3 Update comments 2024-02-10 14:05:37 +00:00
Will Tatam
bd228e3a1c Merge branch 'mdev' into ESP32-HUB75-MatrixPanel-DMA 2024-02-10 13:44:01 +00:00
Will Tatam
b0a63c59e1 Fix RGB capability issue with HUB75 output 2024-02-10 13:20:34 +00:00
Will Tatam
7fa2fe3969 Panel size selection 2024-01-13 21:04:38 +00:00