From 8ffe1aa2e2727c015d299efe5c8aef71835787b1 Mon Sep 17 00:00:00 2001 From: WereCatf Date: Mon, 18 Apr 2016 01:26:03 +0300 Subject: [PATCH] Speed up writePattern() a bit more --- libraries/SPI/SPI.cpp | 80 ++++++++++++++++++++++++++++--------------- 1 file changed, 53 insertions(+), 27 deletions(-) diff --git a/libraries/SPI/SPI.cpp b/libraries/SPI/SPI.cpp index 97457ef01..c062bfc08 100644 --- a/libraries/SPI/SPI.cpp +++ b/libraries/SPI/SPI.cpp @@ -364,36 +364,62 @@ void SPIClass::writePattern(uint8_t * data, uint8_t size, uint32_t repeat) { uint8_t *bufferPtr=(uint8_t *)&buffer; uint8_t *dataPtr = data; volatile uint32_t * fifoPtr = &SPI1W0; - uint8_t r = 64 / size; - uint32_t repeatRem = repeat % r; - repeat = repeat / r; + uint8_t r; + uint32_t repeatRem; + uint8_t i; - while(r--){ - dataPtr = data; - for(uint8_t i=0; i