aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLukaswnd <Lukas+git@windeln.nrw>2024-06-10 23:08:00 +0200
committerLukaswnd <Lukas+git@windeln.nrw>2024-06-10 23:08:00 +0200
commit0829a284bd17e4b4a2c1c27a3cb7caf2ab236b9b (patch)
tree2c079e417cb585e75836218a1bdf147f78c03d11 /src
parent249325d532332699a1bc6e5beb451fba0cae19ae (diff)
final calculations
Diffstat (limited to 'src')
-rw-r--r--src/platforms/esp32c6/dma_parallel_io.cpp18
1 files 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