working on multi led matrix driver

spi
polymurph 3 years ago
parent abe86e7192
commit 984f8c8677

@ -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) void dispTest(max7219_t *disp)
{ {
@ -135,7 +160,6 @@ void dispTest(max7219_t *disp)
delayMs(500); delayMs(500);
} }
void max7219_test_display(spi_ch_t* spi_ch) void max7219_test_display(spi_ch_t* spi_ch)
{ {
// set mode to display test // set mode to display test
@ -204,7 +228,7 @@ int main(int argc, char *argv[])
0xFF, 0xFF,
0xAA, 0xAA,
0xFF, 0xFF,
0xAA 0xAA,
0xFF, 0xFF,
0xAA}; 0xAA};
spi_ch_t spi_test_channel; spi_ch_t spi_test_channel;

Loading…
Cancel
Save