@@ -63,6 +63,7 @@ uint8_t QwiicKX13xCore::beginSPICore(uint8_t CSPin, uint32_t spiPortSpeed, SPICl
63
63
return status;
64
64
else
65
65
return partID;
66
+
66
67
}
67
68
68
69
// This function sets various register with regards to these pre-determined
@@ -413,7 +414,8 @@ KX13X_STATUS_t QwiicKX13xCore::readRegister(uint8_t *dataPointer, uint8_t reg)
413
414
_spiPort->beginTransaction (kxSPISettings);
414
415
digitalWrite (_cs, LOW);
415
416
reg |= SPI_READ;
416
- *dataPointer = _spiPort->transfer (reg);
417
+ _spiPort->transfer (reg);
418
+ *dataPointer = _spiPort->transfer (0x00 );
417
419
digitalWrite (_cs, HIGH);
418
420
_spiPort->endTransaction ();
419
421
return KX13X_SUCCESS;
@@ -444,9 +446,10 @@ KX13X_STATUS_t QwiicKX13xCore::readMultipleRegisters(uint8_t reg, uint8_t dataBu
444
446
_spiPort->beginTransaction (kxSPISettings);
445
447
digitalWrite (_cs, LOW);
446
448
reg |= SPI_READ;
447
- dataBuffer[0 ] = _spiPort->transfer (reg); // first byte on transfer of address and read bit
449
+ _spiPort->transfer (reg);
450
+ dataBuffer[0 ] = _spiPort->transfer (0x00 ); // first byte on transfer of address and read bit
448
451
for (size_t i = 1 ; i < numBytes; i++) {
449
- dataBuffer[i] = _spiPort->transfer (0 ); // Assuming this will initiate auto-increment behavior
452
+ dataBuffer[i] = _spiPort->transfer (0x00 ); // Assuming this will initiate auto-increment behavior
450
453
}
451
454
digitalWrite (_cs, HIGH);
452
455
_spiPort->endTransaction ();
@@ -528,7 +531,7 @@ KX13X_STATUS_t QwiicKX13xCore::writeRegister(uint8_t reg, uint8_t mask, uint8_t
528
531
529
532
_spiPort->beginTransaction (kxSPISettings);
530
533
digitalWrite (_cs, LOW);
531
- _spiPort->transfer (reg |= SPI_WRITE);
534
+ _spiPort->transfer (reg | SPI_WRITE);
532
535
_spiPort->transfer (tempRegVal);
533
536
digitalWrite (_cs, HIGH);
534
537
_spiPort->endTransaction ();
0 commit comments