Skip to content

Commit 9eee868

Browse files
committed
add transfer(tx_buf, rx_buf, count) for 832
1 parent 5203994 commit 9eee868

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

libraries/SPI/SPI_nrf52832.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,25 @@ uint16_t SPIClass::transfer16(uint16_t data) {
237237
return t.val;
238238
}
239239

240+
void SPIClass::transfer(const void *tx_buf, void *rx_buf, size_t count)
241+
{
242+
uint8_t *tx_buf8 = (uint8_t *) tx_buf;
243+
uint8_t *rx_buf8 = (uint8_t *) rx_buf;
244+
245+
for (size_t i=0; i<count; i++) {
246+
uint8_t rxbyte = transfer(tx_buf8 ? tx_buf8[i] : 0xFF);
247+
if (rx_buf8) rx_buf8[i] = rxbyte;
248+
}
249+
}
250+
251+
void SPIClass::transfer(void *buf, size_t count)
252+
{
253+
uint8_t *buffer = (uint8_t *) buf;
254+
for (size_t i=0; i<count; i++) {
255+
buffer[i] = transfer(buffer[i]);
256+
}
257+
}
258+
240259
void SPIClass::attachInterrupt() {
241260
// Should be enableInterrupt()
242261
}

0 commit comments

Comments
 (0)