[WIP] Max SPI speed reached (119ms for a full refresh. Theo max : 240*240*16 = 115.2ms) using IRQ and DMA.

Code needs some cleaning before integration.
This commit is contained in:
JF
2020-01-22 21:08:53 +01:00
parent aa3e5c0c6f
commit eb7a1b3ac9
8 changed files with 114 additions and 51 deletions

View File

@@ -162,7 +162,12 @@ extern Pinetime::Drivers::SpiMaster* spiInstance;
void SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler(void) {
if(((NRF_SPIM0->INTENSET & (1<<6)) != 0) && NRF_SPIM0->EVENTS_END == 1) {
NRF_SPIM0->EVENTS_END = 0;
spiInstance->irq();
spiInstance->irqEnd();
}
if(((NRF_SPIM0->INTENSET & (1<<19)) != 0) && NRF_SPIM0->EVENTS_STARTED == 1) {
NRF_SPIM0->EVENTS_STARTED = 0;
spiInstance->irqStarted();
}