SSD1307 dma
This also includes: https://github.com/electro-smith/libDaisy/pull/624
Added DMA transfers for data transfers to reduce cpu overhead.
display.h has a new pure virtual bool UpdateFinished(), returns true if the update has finished.
oled_display.h implements UpdateFinished() and calls the driver.
SSD130x4WireSpiTransport has been altered to support basic chained DMA via the finished callback, Config now has a useDma flag to enable DMA.
Some times:
Using SPI Prescaler = 2
Blocking
1492.6 us total update time and Cpu
Dma
Total update time = 1549.3us
Cpu = (12.9us*16) + 0.3us = 206.7us
Test Results
151 tests ±0 151 :white_check_mark: ±0 0s :stopwatch: ±0s 16 suites ±0 0 :zzz: ±0 1 files ±0 0 :x: ±0
Results for commit 8a602c94. ± Comparison against base commit f7727edb.
:recycle: This comment has been updated with latest results.