From 0829a284bd17e4b4a2c1c27a3cb7caf2ab236b9b Mon Sep 17 00:00:00 2001 From: Lukaswnd Date: Mon, 10 Jun 2024 23:08:00 +0200 Subject: [PATCH] final calculations --- src/platforms/esp32c6/dma_parallel_io.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/platforms/esp32c6/dma_parallel_io.cpp b/src/platforms/esp32c6/dma_parallel_io.cpp index f24452a..930c29e 100644 --- a/src/platforms/esp32c6/dma_parallel_io.cpp +++ b/src/platforms/esp32c6/dma_parallel_io.cpp @@ -38,15 +38,19 @@ // limitation of parlio interface // PARLIO_LL_TX_MAX_BITS_PER_FRAME = (PARLIO_LL_TX_MAX_BYTES_PER_FRAME * 8) // PARLIO_LL_TX_MAX_BYTES_PER_FRAME = 0xFFFF +// the problem are not these 2 defines. In "soc/parl_io_struct.h" (esp32-arduino-libs\esp32c6\include\soc\esp32c6\include\soc\parl_io_struct.h) +// there are only 16 bit for the number of bytes. I'm not sure, but I think this is the limiting factor. And I think +// this struct links to registers for die parlio driver, so no software change possible -> maybe software change? // Max of 65535 bytes for matrix with 2 scan lines the following resulutions are theoretical max for pixeldepths // theory tested -// pixeldepth 8: 16x16 14x32 -// pixeldepth 7: 16x32 32x16 28x32 -// pixeldepth 6: 32x32 64x16 55x32 -// pixeldepth 5: 32x64 64x32 128x16 102x32 -// pixeldepth 4: 64x64 128x32 256x16 186x32 -// pixeldepth 3: 128x64 256x32 512x16 341x32 -// pixeldepth 2: 128x128 256x64 512x32 1024x16 682x32 +// pixeldepth 8: 16x16 14x32 14*16*255 = 57120 +// pixeldepth 7: 16x32 32x16 28x32 28*16*127 = 56896 +// pixeldepth 6: 32x32 64x16 55x32 55*16*63 = 55440 +// pixeldepth 5: 32x64 64x32 128x16 102x32 102*16*31 = 50592 +// pixeldepth 4: 64x64 128x32 256x16 186x32 186*16*15 = 44640 +// pixeldepth 3: 128x64 256x32 512x16 341x32 341*16*7 = 38192 +// pixeldepth 2: 128x128 256x64 512x32 1024x16 682x32 682*16*2 = 32736 +// I don't get it