From 984f8c867720372989848add14f5463446a4a728 Mon Sep 17 00:00:00 2001 From: polymurph Date: Fri, 26 Aug 2022 16:23:11 +0200 Subject: [PATCH] working on multi led matrix driver --- main.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index 477df63..0058229 100644 --- a/main.c +++ b/main.c @@ -126,6 +126,31 @@ void max7219_ledMatrixUnsetLED( } +// daysichained matrix +typedef struct{ + spi_ch_t *spiCH; + uint8_t nDevices; +}max7219_dm_t; + + +void max7219_dm_write( + max7219_dm_t *matrix, + uint8_t data[][]) +{ + uint8_t i = 0; + uint8_t j = 0; + // TODO: Test it out + for(i = 0; i < 8; i++) { + pinWrite(matrix->spiCH->pin, 0); + for(j = 0; j < matrix->nDevices; j++) { + spiTrx8BitPolling(matrix->spiCH->spi, i+1); // reg + spiTrx8BitPolling(matrix->spiCH->spi, data[j][i]); + } + pinWrite(matrix->spiCH->pin, 1); + + } +} + void dispTest(max7219_t *disp) { @@ -135,7 +160,6 @@ void dispTest(max7219_t *disp) delayMs(500); } - void max7219_test_display(spi_ch_t* spi_ch) { // set mode to display test @@ -204,7 +228,7 @@ int main(int argc, char *argv[]) 0xFF, 0xAA, 0xFF, - 0xAA + 0xAA, 0xFF, 0xAA}; spi_ch_t spi_test_channel;