Commit Graph

69 Commits

Author SHA1 Message Date
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
Will Tatam
260159a6ca Cleanup and rename to generic Hub75 rather than SmartMatrix 2024-01-13 20:57:45 +00:00
Will Tatam
31edc73380 Tweaks 2024-01-13 18:52:34 +00:00
Will Tatam
83e51b47cd Tweaks 2024-01-13 16:39:08 +00:00
Will Tatam
308812875b Start testing output on Adafruit Matrix Portal S3 2024-01-12 23:26:42 +00:00
Frank
ced03f1f08 code spell checking - part1 (core)
I've found a code spellchecker, so this is what can be corrected easily. Changes are only affecting comments, readme and a few user-visible strings. So no functional impact expected.
2023-12-14 22:05:55 +01:00
Blaz Kristan
68dc4d11a9 Autowhite cleanup
Fix for UCS8904 hasWhite().
2023-12-12 14:48:51 +01:00
Will Tatam
aae9b62a00 Define pins to match SmartMatrix esp32 formum layout 2023-10-25 01:26:21 +01:00
Will Tatam
3ba37e08bd Swap to ESP32-HUB75-MatrixPanel-DMA 2023-10-25 00:54:45 +01:00
Will Tatam
e12e5ad033 Swap back to 32x32 for now 2023-10-24 23:07:30 +01:00
Will Tatam
b049845380 Drop brightness 2023-10-24 22:48:59 +01:00
Will Tatam
ca0eb5313b Swap to 64x64 2023-10-24 22:48:59 +01:00
Will Tatam
565cfb4595 add ifdef for addBus 2023-10-24 09:36:17 +01:00
Will Tatam
cf2ff1e515 Working SmartMatrix outout 2023-10-23 22:22:12 +01:00
Will Tatam
744e89441c Trying to get output working 2023-10-23 22:12:45 +01:00
Will Tatam
9f55d7dfd8 Trying to get output working 2023-10-23 22:09:07 +01:00
Will Tatam
e27ada3388 Fix ordering of Bus Type checking 2023-10-23 20:47:03 +01:00
Will Tatam
c693ee1536 Impliment BusSmartMatrix 2023-10-23 19:48:53 +01:00