From c852d5744c01cf4ab6c057c6b851f822d23a1852 Mon Sep 17 00:00:00 2001 From: siddacious Date: Mon, 20 Apr 2020 16:27:00 -0700 Subject: [PATCH] adding check for _mosi== -1 --- Adafruit_SPIDevice.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Adafruit_SPIDevice.cpp b/Adafruit_SPIDevice.cpp index 9e3a757..8122ba6 100644 --- a/Adafruit_SPIDevice.cpp +++ b/Adafruit_SPIDevice.cpp @@ -124,7 +124,9 @@ void Adafruit_SPIDevice::transfer(uint8_t *buffer, size_t len) { for (int b = 7; b >= 0; b--) { reply <<= 1; if (_dataMode == SPI_MODE0) { - digitalWrite(_mosi, send & (1 << b)); + if (_mosi != -1) { + digitalWrite(_mosi, send & (1 << b)); + } digitalWrite(_sck, HIGH); if ((_miso != -1) && digitalRead(_miso)) { reply |= 1; @@ -133,13 +135,18 @@ void Adafruit_SPIDevice::transfer(uint8_t *buffer, size_t len) { } if (_dataMode == SPI_MODE1) { digitalWrite(_sck, HIGH); - digitalWrite(_mosi, send & (1 << b)); + if (_mosi != -1) { + digitalWrite(_mosi, send & (1 << b)); + } digitalWrite(_sck, LOW); if ((_miso != -1) && digitalRead(_miso)) { reply |= 1; } } } + + + // Serial.print(" : 0x"); Serial.print(reply, HEX); if (_dataOrder == SPI_BITORDER_LSBFIRST) { // LSB is rare, if it happens we'll just flip the bits around for them