remove extra shifts
This commit is contained in:
parent
b1b5f031e7
commit
a830055740
|
|
@ -116,15 +116,11 @@ void Adafruit_SPIDevice::transfer(uint8_t *buffer, size_t len) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t startbit, endbit, inc;
|
uint8_t startbit;
|
||||||
if (_dataOrder == SPI_BITORDER_LSBFIRST) {
|
if (_dataOrder == SPI_BITORDER_LSBFIRST) {
|
||||||
startbit = 0;
|
startbit = 0x1;
|
||||||
endbit = 8;
|
|
||||||
inc = 1;
|
|
||||||
} else {
|
} else {
|
||||||
startbit = 7;
|
startbit = 0x80;
|
||||||
endbit = -1;
|
|
||||||
inc = -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// for softSPI we'll do it by hand
|
// for softSPI we'll do it by hand
|
||||||
|
|
@ -140,16 +136,16 @@ void Adafruit_SPIDevice::transfer(uint8_t *buffer, size_t len) {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Serial.print(send, HEX);
|
// Serial.print(send, HEX);
|
||||||
for (int b = startbit; b != endbit; b += inc) {
|
for (uint8_t b = startbit; b != 0; b = (_dataOrder == SPI_BITORDER_LSBFIRST) ? b << 1 : b >> 1) {
|
||||||
if (_dataMode == SPI_MODE0 || _dataMode == SPI_MODE2) {
|
if (_dataMode == SPI_MODE0 || _dataMode == SPI_MODE2) {
|
||||||
if (_mosi != -1) {
|
if (_mosi != -1) {
|
||||||
#ifdef BUSIO_USE_FAST_PINIO
|
#ifdef BUSIO_USE_FAST_PINIO
|
||||||
if (send & (1 << b))
|
if (send & b)
|
||||||
*mosiPort |= mosiPinMask;
|
*mosiPort |= mosiPinMask;
|
||||||
else
|
else
|
||||||
*mosiPort &= ~mosiPinMask;
|
*mosiPort &= ~mosiPinMask;
|
||||||
#else
|
#else
|
||||||
digitalWrite(_mosi, send & (1 << b));
|
digitalWrite(_mosi, send & b);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -165,7 +161,7 @@ void Adafruit_SPIDevice::transfer(uint8_t *buffer, size_t len) {
|
||||||
#else
|
#else
|
||||||
if (digitalRead(_miso)) {
|
if (digitalRead(_miso)) {
|
||||||
#endif
|
#endif
|
||||||
reply |= (1 << b);
|
reply |= b;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -184,12 +180,12 @@ void Adafruit_SPIDevice::transfer(uint8_t *buffer, size_t len) {
|
||||||
|
|
||||||
if (_mosi != -1) {
|
if (_mosi != -1) {
|
||||||
#ifdef BUSIO_USE_FAST_PINIO
|
#ifdef BUSIO_USE_FAST_PINIO
|
||||||
if (send & (1 << b))
|
if (send & b)
|
||||||
*mosiPort |= mosiPinMask;
|
*mosiPort |= mosiPinMask;
|
||||||
else
|
else
|
||||||
*mosiPort &= ~mosiPinMask;
|
*mosiPort &= ~mosiPinMask;
|
||||||
#else
|
#else
|
||||||
digitalWrite(_mosi, send & (1 << b));
|
digitalWrite(_mosi, send & b);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -205,7 +201,7 @@ void Adafruit_SPIDevice::transfer(uint8_t *buffer, size_t len) {
|
||||||
#else
|
#else
|
||||||
if (digitalRead(_miso)) {
|
if (digitalRead(_miso)) {
|
||||||
#endif
|
#endif
|
||||||
reply |= (1 << b);
|
reply |= b;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue