@@ -103,6 +103,8 @@ bool QwDevKX13X::initialize(uint8_t settings)
103103//
104104bool QwDevKX13X::softwareReset ()
105105{
106+ enableAccel (false ); // Clear the PC1 bit in CNTL1
107+
106108 sfe_kx13x_cntl2_bitfield_t cntl2;
107109 cntl2.all = 0 ;
108110 cntl2.bits .srst = 1 ; // This is a long winded, but definitive way of setting the software reset bit
@@ -123,7 +125,7 @@ bool QwDevKX13X::softwareReset()
123125// ////////////////////////////////////////////////
124126// enableAccel()
125127//
126- // Enables acceleromter data. In addition
128+ // Enables accelerometer data. In addition
127129// some settings can only be set when the accelerometer is
128130// powered down
129131//
@@ -571,7 +573,7 @@ bool QwDevKX13X::configureInterruptPin(uint8_t pinVal)
571573//
572574bool QwDevKX13X::enablePhysInterrupt (bool enable, uint8_t pin)
573575{
574- int retVal;
576+ int retVal = - 1 ;
575577 uint8_t tempVal;
576578
577579 if (pin > 2 )
@@ -589,7 +591,7 @@ bool QwDevKX13X::enablePhysInterrupt(bool enable, uint8_t pin)
589591 inc1.bits .ien1 = enable; // This is a long winded but definitive way of setting/clearing the enable bit
590592 tempVal = inc1.all ;
591593
592- writeRegisterByte (SFE_KX13X_INC1, tempVal);
594+ retVal = writeRegisterByte (SFE_KX13X_INC1, tempVal);
593595 }
594596
595597 if (pin == 2 )
@@ -604,10 +606,10 @@ bool QwDevKX13X::enablePhysInterrupt(bool enable, uint8_t pin)
604606 inc5.bits .ien2 = enable; // This is a long winded but definitive way of setting/clearing the enable bit
605607 tempVal = inc5.all ;
606608
607- writeRegisterByte (SFE_KX13X_INC5, tempVal);
609+ retVal = writeRegisterByte (SFE_KX13X_INC5, tempVal);
608610 }
609611
610- return true ;
612+ return (retVal == 0 ) ;
611613}
612614
613615// ////////////////////////////////////////////////
@@ -621,7 +623,7 @@ bool QwDevKX13X::enablePhysInterrupt(bool enable, uint8_t pin)
621623//
622624bool QwDevKX13X::setPinMode (bool activeHigh, uint8_t pin)
623625{
624- int retVal;
626+ int retVal = - 1 ;
625627 uint8_t tempVal;
626628
627629 if (pin > 2 )
@@ -639,7 +641,7 @@ bool QwDevKX13X::setPinMode(bool activeHigh, uint8_t pin)
639641 inc1.bits .iea1 = activeHigh; // This is a long winded but definitive way of setting/clearing the level bit
640642 tempVal = inc1.all ;
641643
642- writeRegisterByte (SFE_KX13X_INC1, tempVal);
644+ retVal = writeRegisterByte (SFE_KX13X_INC1, tempVal);
643645 }
644646
645647 if (pin == 2 )
@@ -654,10 +656,10 @@ bool QwDevKX13X::setPinMode(bool activeHigh, uint8_t pin)
654656 inc5.bits .iea2 = activeHigh; // This is a long winded but definitive way of setting/clearing the level bit
655657 tempVal = inc5.all ;
656658
657- writeRegisterByte (SFE_KX13X_INC5, tempVal);
659+ retVal = writeRegisterByte (SFE_KX13X_INC5, tempVal);
658660 }
659661
660- return true ;
662+ return (retVal == 0 ) ;
661663}
662664
663665// ////////////////////////////////////////////////
@@ -672,7 +674,7 @@ bool QwDevKX13X::setPinMode(bool activeHigh, uint8_t pin)
672674//
673675bool QwDevKX13X::setLatchControl (bool pulsed, uint8_t pin)
674676{
675- int retVal;
677+ int retVal = - 1 ;
676678 uint8_t tempVal;
677679
678680 if (pin > 2 )
@@ -690,7 +692,7 @@ bool QwDevKX13X::setLatchControl(bool pulsed, uint8_t pin)
690692 inc1.bits .iel1 = pulsed; // This is a long winded but definitive way of setting/clearing the latch bit
691693 tempVal = inc1.all ;
692694
693- writeRegisterByte (SFE_KX13X_INC1, tempVal);
695+ retVal = writeRegisterByte (SFE_KX13X_INC1, tempVal);
694696 }
695697
696698 if (pin == 2 )
@@ -705,10 +707,10 @@ bool QwDevKX13X::setLatchControl(bool pulsed, uint8_t pin)
705707 inc5.bits .iel2 = pulsed; // This is a long winded but definitive way of setting/clearing the latch bit
706708 tempVal = inc5.all ;
707709
708- writeRegisterByte (SFE_KX13X_INC5, tempVal);
710+ retVal = writeRegisterByte (SFE_KX13X_INC5, tempVal);
709711 }
710712
711- return true ;
713+ return (retVal == 0 ) ;
712714}
713715
714716// ////////////////////////////////////////////////
@@ -722,7 +724,7 @@ bool QwDevKX13X::setLatchControl(bool pulsed, uint8_t pin)
722724//
723725bool QwDevKX13X::setPulseWidth (uint8_t width, uint8_t pin)
724726{
725- int retVal;
727+ int retVal = - 1 ;
726728 uint8_t tempVal;
727729
728730 if ((width > 3 ) || (pin > 2 ))
@@ -740,7 +742,7 @@ bool QwDevKX13X::setPulseWidth(uint8_t width, uint8_t pin)
740742 inc1.bits .pw1 = width; // This is a long winded but definitive way of setting the pulse width
741743 tempVal = inc1.all ;
742744
743- writeRegisterByte (SFE_KX13X_INC1, tempVal);
745+ retVal = writeRegisterByte (SFE_KX13X_INC1, tempVal);
744746 }
745747
746748 if (pin == 2 )
@@ -755,10 +757,10 @@ bool QwDevKX13X::setPulseWidth(uint8_t width, uint8_t pin)
755757 inc5.bits .pw2 = width; // This is a long winded but definitive way of setting the pulse width
756758 tempVal = inc5.all ;
757759
758- writeRegisterByte (SFE_KX13X_INC5, tempVal);
760+ retVal = writeRegisterByte (SFE_KX13X_INC5, tempVal);
759761 }
760762
761- return true ;
763+ return (retVal == 0 ) ;
762764}
763765
764766// ////////////////////////////////////////////////
@@ -1558,7 +1560,7 @@ bool QwDevKX13X::forceWake()
15581560//
15591561int QwDevKX13X::readRegisterRegion (uint8_t reg, uint8_t *data, uint16_t len)
15601562{
1561- return (int ) _sfeBus->readRegisterRegion (_i2cAddress, reg, data, len);
1563+ return (_sfeBus->readRegisterRegion (_i2cAddress, reg, data, len) );
15621564}
15631565
15641566// ////////////////////////////////////////////////////////////////////////////////
@@ -1574,7 +1576,7 @@ int QwDevKX13X::readRegisterRegion(uint8_t reg, uint8_t *data, uint16_t len)
15741576//
15751577int QwDevKX13X::writeRegisterRegion (uint8_t reg, uint8_t *data, uint16_t len)
15761578{
1577- return (int ) _sfeBus->writeRegisterRegion (_i2cAddress, reg, data, len);
1579+ return (_sfeBus->writeRegisterRegion (_i2cAddress, reg, data, len) );
15781580}
15791581
15801582// ////////////////////////////////////////////////////////////////////////////////
@@ -1590,9 +1592,7 @@ int QwDevKX13X::writeRegisterRegion(uint8_t reg, uint8_t *data, uint16_t len)
15901592//
15911593int QwDevKX13X::writeRegisterByte (uint8_t reg, uint8_t data)
15921594{
1593- if (_sfeBus->writeRegisterByte (_i2cAddress, reg, data))
1594- return 0 ;
1595- return -1 ;
1595+ return (_sfeBus->writeRegisterByte (_i2cAddress, reg, data));
15961596}
15971597
15981598// ***************************************** KX132 *********************************************************
0 commit comments