Skip to content

Commit 3cbc405

Browse files
committed
Add helper for sending 16bit color buffers
1 parent d0232d1 commit 3cbc405

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

libraries/SPI/src/SPI.cpp

+14-6
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,6 @@ void SPIClass::transferBits(uint32_t data, uint32_t * out, uint8_t bits)
189189
}
190190

191191
/**
192-
* Note:
193-
* data need to be aligned to 32Bit
194-
* or you get an Fatal exception (9)
195192
* @param data uint8_t *
196193
* @param size uint32_t
197194
*/
@@ -205,6 +202,20 @@ void SPIClass::writeBytes(uint8_t * data, uint32_t size)
205202
spiEndTransaction(_spi);
206203
}
207204

205+
/**
206+
* @param data void *
207+
* @param size uint32_t
208+
*/
209+
void SPIClass::writePixels(const void * data, uint32_t size)
210+
{
211+
if(_inTransaction){
212+
return spiWritePixelsNL(_spi, data, size);
213+
}
214+
spiSimpleTransaction(_spi);
215+
spiWritePixelsNL(_spi, data, size);
216+
spiEndTransaction(_spi);
217+
}
218+
208219
/**
209220
* @param data uint8_t * data buffer. can be NULL for Read Only operation
210221
* @param out uint8_t * output buffer. can be NULL for Write Only operation
@@ -219,9 +230,6 @@ void SPIClass::transferBytes(uint8_t * data, uint8_t * out, uint32_t size)
219230
}
220231

221232
/**
222-
* Note:
223-
* data need to be aligned to 32Bit
224-
* or you get an Fatal exception (9)
225233
* @param data uint8_t *
226234
* @param size uint8_t max for size is 64Byte
227235
* @param repeat uint32_t

libraries/SPI/src/SPI.h

+1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ class SPIClass
7373
void write16(uint16_t data);
7474
void write32(uint32_t data);
7575
void writeBytes(uint8_t * data, uint32_t size);
76+
void writePixels(const void * data, uint32_t size);//ili9341 compatible
7677
void writePattern(uint8_t * data, uint8_t size, uint32_t repeat);
7778

7879
spi_t * bus(){ return _spi; }

0 commit comments

Comments
 (0)