aboutsummaryrefslogtreecommitdiff
path: root/ESP32-HUB75-MatrixPanel-I2S-DMA.cpp
diff options
context:
space:
mode:
authorEmil Muratov <gpm@hotplug.ru>2021-02-19 12:08:15 +0300
committerEmil Muratov <gpm@hotplug.ru>2021-02-19 17:29:41 +0300
commit15eaa3e9d394252190eec44b42e555e98a7c4c57 (patch)
tree2a2df54969ccd7ba9191169a85ec75d0b4db60f9 /ESP32-HUB75-MatrixPanel-I2S-DMA.cpp
parent895bb80b438d3373fb5d3424e2ae7a65c1db4e0e (diff)
Clock phase toggling option, required to support MBI5124 chips
Closes #75 Signed-off-by: Emil Muratov <gpm@hotplug.ru>
Diffstat (limited to 'ESP32-HUB75-MatrixPanel-I2S-DMA.cpp')
-rw-r--r--ESP32-HUB75-MatrixPanel-I2S-DMA.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/ESP32-HUB75-MatrixPanel-I2S-DMA.cpp b/ESP32-HUB75-MatrixPanel-I2S-DMA.cpp
index 6525ef4..2e08af0 100644
--- a/ESP32-HUB75-MatrixPanel-I2S-DMA.cpp
+++ b/ESP32-HUB75-MatrixPanel-I2S-DMA.cpp
@@ -421,7 +421,8 @@ void MatrixPanel_I2S_DMA::configureDMA(const HUB75_I2S_CFG& _cfg)
.desccount_a=desccount,
.lldesc_a=dmadesc_a,
.desccount_b=desccount,
- .lldesc_b=dmadesc_b
+ .lldesc_b=dmadesc_b,
+ .clkphase=_cfg.clkphase
};
// Setup I2S
@@ -656,6 +657,12 @@ void MatrixPanel_I2S_DMA::shiftDriver(const HUB75_I2S_CFG& _cfg){
CLK_PULSE
}
break;
+ case HUB75_I2S_CFG::MBI5124:
+ /* MBI5124 chips must be clocked with positive-edge, since it's LAT signal
+ * resets on clock's rising edge while high
+ * https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/files/5952216/5a542453754da.pdf
+ */
+ m_cfg.clkphase=true;
case HUB75_I2S_CFG::SHIFT:
default:
break;