Description
🔥 Here's the # 666 hell 😈 of a feature-request 🔥
To accelerate the graphic APIs clear(Color color)
methods i need the following DMA feature.
See #665
Application 1: clear external CGRAM (Display-RAM) with DMA:
// Desired method with repeat parameter
SpiMaster1_Dma::transfer(const uint8_t *tx, uint8_t *rx, std::size_t length, size_t repeat);
// Example usage sending: 0xAA, 0xBB, 0xAA, 0xBB, 0xAA, 0xBB, 0xAA, 0xBB, 0xAA, 0xBB, ... (128 times)
uint8_t buffer[2] = {0xAA, 0xBB};
SpiMaster1_Dma::transfer(buffer, nullptr, 2, 128);
Application 2: Substitute std::fill(..)
Similar to Application 1 but for internal RAM
Possible Implementation!?
Sending repeated bytes is easy: Just disable the DMAs address-incement for the read. Sending repeated multi-byte sequences is not so easy. I think STMs Circular DMA Mode can be utilized here.
Whats your guess @chris-durand / @mikewolfram / @salkinium ? I've recognized your recent effort with DMA.