Commit graph

64 commits

Author SHA1 Message Date
mrfaptastic
ebe75dcaba Update to include S3 support.
Refactor tonnes of code. Double buffering not yet fully tested. PSRAM support doesn't work at all - garbled mess.

Enable in platformIO using:
build_flags =
	-DSPIRAM_FRAMEBUFFER=1
2022-09-30 03:17:19 +01:00
mrfaptastic
eb052d0d35
Update ESP32-HUB75-MatrixPanel-I2S-DMA.h 2022-05-26 22:03:20 +01:00
mrfaptastic
62deac6c48 New Year Updates
Move ISR I2S device check to a compile time option.
2022-01-03 18:43:52 +00:00
mrfaptastic
3bd87dcfd6 Update ESP32-HUB75-MatrixPanel-I2S-DMA.h 2021-12-21 22:21:06 +00:00
mrfaptastic
4f5fcf0399 Christmas DMA core tweaks
Bring back support to change the I2S_NUM_X as a define.

Attempt to reduce buffer swap flicker with some additional checks.
2021-12-21 22:19:59 +00:00
mrfaptastic
534a264075 Merge branch 'master' of https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA 2021-11-22 07:43:11 +00:00
mrfaptastic
b810dca9d1 1/8 Scan Panel Example
#154 #204

Also supports chaining.
2021-11-22 07:43:07 +00:00
mrfaptastic
14c3052b60
Update ESP32-HUB75-MatrixPanel-I2S-DMA.h 2021-11-12 15:52:07 +00:00
Mike Causer
7ed06c1217 Fix some typos 2021-10-17 01:00:43 +11:00
mrfaptastic
dd05550cc5 Remove ESP32C3 experimental stuff.
ESP32-C3 doesn't actually support 'lcd mode' aka. parallel DMA, so it'll never be of use with this library and a HUB75 panel.
2021-09-29 23:20:16 +01:00
mrfaptastic
f2b77d95b1 Update ESP32-HUB75-MatrixPanel-I2S-DMA.h 2021-09-19 22:46:25 +01:00
mrfaptastic
6f8d9c0fa2 Initial Commit
Support for S and C (tbc)
2021-09-13 06:57:45 +01:00
mrfaptastic
f5681b2983 Backport tx fifo byte ordering fix for ESP32-WROOM-32 2021-09-06 16:29:38 +01:00
mrfaptastic
849bc84129 Update ESP32-HUB75-MatrixPanel-I2S-DMA.h 2021-08-19 20:47:36 +01:00
mrfaptastic
a2d3efc0f3 Update ESP32-HUB75-MatrixPanel-I2S-DMA.h 2021-08-19 20:44:07 +01:00
mrfaptastic
055ff08fe5 Double buffer function reduction
Can't get rid of the wait while statement though...
2021-08-19 19:34:40 +01:00
mrfaptastic
d9e2f85f98 Revert "Merge branch 'master' of https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA"
This reverts commit b6cbfce5dd, reversing
changes made to c5227fd15e.
2021-08-19 19:22:29 +01:00
Emil Muratov
03d6594a1c Double buff w/o delay
- removed delay() from buffer swap
 - add new method to check if back buffer is safe to write to
 - obsolete showDMABuffer()
2021-08-19 19:43:39 +03:00
mrfaptastic
e12eaf15b5 Revert "Attempted clearScreen() syncronisation fix"
This reverts commit f6584dd321.
2021-08-18 16:33:59 +01:00
mrfaptastic
3b13645e7f Revert attempt to remove legacy begin 2021-08-18 15:28:56 +01:00
mrfaptastic
54ca0c4b2b Revert default latblank change
Causes noise on ICS panels if not '1'. Needs further investigation.
2021-08-18 15:20:43 +01:00
mrfaptastic
f6584dd321 Attempted clearScreen() syncronisation fix
No idea if this will work.
2021-08-18 14:32:51 +01:00
mrfaptastic
ab641b9642 Update ESP32-HUB75-MatrixPanel-I2S-DMA.h 2021-08-18 14:19:08 +01:00
mrfaptastic
6975f5f8a2 Update ESP32-HUB75-MatrixPanel-I2S-DMA.h 2021-08-18 13:01:05 +01:00
mrfaptastic
c050d541f3
Update ESP32-HUB75-MatrixPanel-I2S-DMA.h
Reset initialized to false on delete.
2021-08-17 10:51:24 +01:00
mrfaptastic
00917150ff
Merge pull request #168 from mrfaptastic/SM5266P
Implement

    Sm5266 panels
    Increase default latch blanking
    Get rid of the legacy begin() usage of the library.
    Fix a minor bug with the DMA v and h line draw with out-of-bounds x/y/length params.
2021-08-17 10:45:20 +01:00
mrfaptastic
bbb23c789d Default latch blanking to longer 2021-08-17 10:17:12 +01:00
Emil Muratov
32a02a5f0f Add proper destructor to the class
Closes #165
2021-08-17 00:39:19 +03:00
mrfaptastic
1fa0b42480 Fix #163
Array out of bounds DMA change.
2021-08-16 14:18:36 +01:00
mrfaptastic
fd7629e52c Update 2021-08-16 13:29:44 +01:00
mrfaptastic
1d32228a5b Change DMA to I2S0
For ESP32-S2 compatability.
2021-08-16 12:18:14 +01:00
mrfaptastic
11eaf34d91 Update to include SM5266P
Attempt to resolve #164
2021-08-16 11:01:26 +01:00
mrfaptastic
e8f1c94ac6 Update ESP32-HUB75-MatrixPanel-I2S-DMA.h 2021-06-24 20:05:34 +01:00
mrfaptastic
8d8b1fb215 Various fixes
* Default to inverted clock phase because it's the second time this has happened, and it doesn't impact older panels.

* Fix an issue with the Virtual Display Class
2021-06-10 20:49:28 +01:00
mrfaptastic
8b36964e68 Define mask offset at c++ compile time 2021-06-10 18:41:02 +01:00
Emil Muratov
8ebc5e933a clearScreen() now wipes only color data for current buffer
Signed-off-by: Emil Muratov <gpm@hotplug.ru>
2021-05-22 01:57:54 +03:00
mrfaptastic
4af72ab98d Update VirtualMatrixPanel class 2021-03-31 18:29:03 +01:00
mrfaptastic
5062df590e Enabled FastLED CRGB Support 2021-03-28 17:34:20 +01:00
mrfaptastic
51345ec0ac Implement FastLED CRGB support
Remove legacy RGB24 struct, and overide drawPixel to support CRGB 24bit struct value passed as a colour. FastLED library required to be installed when FASTLED_CRGB_SUPPORT enabled.
2021-03-28 15:35:11 +01:00
Emil Muratov
3c8443eeb8 Fix compiler yells about reordering
Signed-off-by: Emil Muratov <gpm@hotplug.ru>
2021-02-28 22:11:27 +03:00
mrfaptastic
f279d49103 move min_refresh_rate to core config
Can only be setup on initisation of the library. Moving to a start-up configuration variable like the others.
2021-02-22 12:13:31 +00:00
mrfaptastic
a3068c8934
Merge pull request #88 from mrfaptastic/clkphase
Clock phase toggling option + DMA stop function
2021-02-22 09:23:56 +00:00
mrfaptastic
f7aaad842b Add stopDMAtransfer function 2021-02-20 22:29:22 +00:00
Emil Muratov
e04c30c8ae Build-time flag to disable CIE1931 color correction
Signed-off-by: Emil Muratov <gpm@hotplug.ru>
2021-02-20 18:26:20 +03:00
Emil Muratov
6cab840dfc Moved driver-specific code to a separate file
Signed-off-by: Emil Muratov <gpm@hotplug.ru>
2021-02-19 17:30:09 +03:00
Emil Muratov
15eaa3e9d3 Clock phase toggling option, required to support MBI5124 chips
Closes #75

Signed-off-by: Emil Muratov <gpm@hotplug.ru>
2021-02-19 17:29:41 +03:00
mrfaptastic
895bb80b43 Rewrite DMA driver setup code.
Evolutionary, not revolutionary. Vast improvement in double buffer swap speeds.
2021-02-17 01:00:59 +00:00
mrfaptastic
cf8cb970e9 Minor changes 2021-02-16 20:20:09 +00:00
mrfaptastic
9dc00e35f1 Revert "Minor changes"
This reverts commit 3214cd643d.
2021-02-16 20:15:29 +00:00
mrfaptastic
3214cd643d Minor changes
* Fix double buffer example
* Remove the I2S user clock config for simplicity - ESP32 turns out to be massively limited anyway to 20Mhz...
2021-02-15 15:36:20 +00:00