diff --git a/examples/NonArduino/ESP-IDF/main/EspHal.h b/examples/NonArduino/ESP-IDF/main/EspHal.h index a4f64d1c..340adbd6 100644 --- a/examples/NonArduino/ESP-IDF/main/EspHal.h +++ b/examples/NonArduino/ESP-IDF/main/EspHal.h @@ -285,7 +285,7 @@ class EspHal : public RadioLibHal { // repeats clock div, mode and bit order configuration } - uint8_t spiTransfer(uint8_t b) { + uint8_t spiTransferByte(uint8_t b) { this->spi->mosi_dlen.usr_mosi_dbitlen = 7; this->spi->miso_dlen.usr_miso_dbitlen = 7; this->spi->data_buf[0] = b; @@ -294,6 +294,12 @@ class EspHal : public RadioLibHal { return(this->spi->data_buf[0] & 0xFF); } + void spiTransfer(uint8_t* out, size_t len, uint8_t* in) { + for(size_t i = 0; i < len; i++) { + in[i] = this->spiTransferByte(out[i]); + } + } + void spiEndTransaction() { // nothing needs to be done here } diff --git a/examples/NonArduino/Raspberry/PiHal.h b/examples/NonArduino/Raspberry/PiHal.h index 5a94fe8d..695dc523 100644 --- a/examples/NonArduino/Raspberry/PiHal.h +++ b/examples/NonArduino/Raspberry/PiHal.h @@ -128,10 +128,8 @@ class PiHal : public RadioLibHal { void spiBeginTransaction() {} - uint8_t spiTransfer(uint8_t b) { - char ret; - spiXfer(_spiHandle, (char*)&b, &ret, 1); - return(ret); + void spiTransfer(uint8_t* out, size_t len, uint8_t* in) { + spiXfer(_spiHandle, (char*)out, in, len); } void spiEndTransaction() {}