From 559cb3502505e186c4e133af4e4800716e75ebc2 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Fri, 23 Mar 2018 17:39:20 +0100 Subject: [PATCH] spi: use const for output buffers (#4552) --- libraries/SPI/SPI.cpp | 14 +++++++------- libraries/SPI/SPI.h | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/libraries/SPI/SPI.cpp b/libraries/SPI/SPI.cpp index de528e0b5..68be7d6c0 100644 --- a/libraries/SPI/SPI.cpp +++ b/libraries/SPI/SPI.cpp @@ -380,7 +380,7 @@ void SPIClass::write32(uint32_t data, bool msb) { * @param data uint8_t * * @param size uint32_t */ -void SPIClass::writeBytes(uint8_t * data, uint32_t size) { +void SPIClass::writeBytes(const uint8_t * data, uint32_t size) { while(size) { if(size > 64) { writeBytes_(data, 64); @@ -393,13 +393,13 @@ void SPIClass::writeBytes(uint8_t * data, uint32_t size) { } } -void SPIClass::writeBytes_(uint8_t * data, uint8_t size) { +void SPIClass::writeBytes_(const uint8_t * data, uint8_t size) { while(SPI1CMD & SPIBUSY) {} // Set Bits to transfer setDataBits(size * 8); uint32_t * fifoPtr = (uint32_t*)&SPI1W0; - uint32_t * dataPtr = (uint32_t*) data; + const uint32_t * dataPtr = (uint32_t*) data; uint32_t dataSize = ((size + 3) / 4); while(dataSize--) { @@ -418,14 +418,14 @@ void SPIClass::writeBytes_(uint8_t * data, uint8_t size) { * @param size uint8_t max for size is 64Byte * @param repeat uint32_t */ -void SPIClass::writePattern(uint8_t * data, uint8_t size, uint32_t repeat) { +void SPIClass::writePattern(const uint8_t * data, uint8_t size, uint32_t repeat) { if(size > 64) return; //max Hardware FIFO while(SPI1CMD & SPIBUSY) {} uint32_t buffer[16]; uint8_t *bufferPtr=(uint8_t *)&buffer; - uint8_t *dataPtr = data; + const uint8_t *dataPtr = data; volatile uint32_t * fifoPtr = &SPI1W0; uint8_t r; uint32_t repeatRem; @@ -497,7 +497,7 @@ void SPIClass::writePattern(uint8_t * data, uint8_t size, uint32_t repeat) { * @param in uint8_t * * @param size uint32_t */ -void SPIClass::transferBytes(uint8_t * out, uint8_t * in, uint32_t size) { +void SPIClass::transferBytes(const uint8_t * out, uint8_t * in, uint32_t size) { while(size) { if(size > 64) { transferBytes_(out, in, 64); @@ -511,7 +511,7 @@ void SPIClass::transferBytes(uint8_t * out, uint8_t * in, uint32_t size) { } } -void SPIClass::transferBytes_(uint8_t * out, uint8_t * in, uint8_t size) { +void SPIClass::transferBytes_(const uint8_t * out, uint8_t * in, uint8_t size) { while(SPI1CMD & SPIBUSY) {} // Set in/out Bits to transfer diff --git a/libraries/SPI/SPI.h b/libraries/SPI/SPI.h index c7e2ae4e7..7d1fe1559 100644 --- a/libraries/SPI/SPI.h +++ b/libraries/SPI/SPI.h @@ -69,15 +69,15 @@ public: void write16(uint16_t data, bool msb); void write32(uint32_t data); void write32(uint32_t data, bool msb); - void writeBytes(uint8_t * data, uint32_t size); - void writePattern(uint8_t * data, uint8_t size, uint32_t repeat); - void transferBytes(uint8_t * out, uint8_t * in, uint32_t size); + void writeBytes(const uint8_t * data, uint32_t size); + void writePattern(const uint8_t * data, uint8_t size, uint32_t repeat); + void transferBytes(const uint8_t * out, uint8_t * in, uint32_t size); void endTransaction(void); private: bool useHwCs; uint8_t pinSet; - void writeBytes_(uint8_t * data, uint8_t size); - void transferBytes_(uint8_t * out, uint8_t * in, uint8_t size); + void writeBytes_(const uint8_t * data, uint8_t size); + void transferBytes_(const uint8_t * out, uint8_t * in, uint8_t size); inline void setDataBits(uint16_t bits); };