@@ -103,6 +103,8 @@ bool QwDevKX13X::initialize(uint8_t settings)
103
103
//
104
104
bool QwDevKX13X::softwareReset ()
105
105
{
106
+ enableAccel (false ); // Clear the PC1 bit in CNTL1
107
+
106
108
sfe_kx13x_cntl2_bitfield_t cntl2;
107
109
cntl2.all = 0 ;
108
110
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()
123
125
// ////////////////////////////////////////////////
124
126
// enableAccel()
125
127
//
126
- // Enables acceleromter data. In addition
128
+ // Enables accelerometer data. In addition
127
129
// some settings can only be set when the accelerometer is
128
130
// powered down
129
131
//
@@ -571,7 +573,7 @@ bool QwDevKX13X::configureInterruptPin(uint8_t pinVal)
571
573
//
572
574
bool QwDevKX13X::enablePhysInterrupt (bool enable, uint8_t pin)
573
575
{
574
- int retVal;
576
+ int retVal = - 1 ;
575
577
uint8_t tempVal;
576
578
577
579
if (pin > 2 )
@@ -589,7 +591,7 @@ bool QwDevKX13X::enablePhysInterrupt(bool enable, uint8_t pin)
589
591
inc1.bits .ien1 = enable; // This is a long winded but definitive way of setting/clearing the enable bit
590
592
tempVal = inc1.all ;
591
593
592
- writeRegisterByte (SFE_KX13X_INC1, tempVal);
594
+ retVal = writeRegisterByte (SFE_KX13X_INC1, tempVal);
593
595
}
594
596
595
597
if (pin == 2 )
@@ -604,10 +606,10 @@ bool QwDevKX13X::enablePhysInterrupt(bool enable, uint8_t pin)
604
606
inc5.bits .ien2 = enable; // This is a long winded but definitive way of setting/clearing the enable bit
605
607
tempVal = inc5.all ;
606
608
607
- writeRegisterByte (SFE_KX13X_INC5, tempVal);
609
+ retVal = writeRegisterByte (SFE_KX13X_INC5, tempVal);
608
610
}
609
611
610
- return true ;
612
+ return (retVal == 0 ) ;
611
613
}
612
614
613
615
// ////////////////////////////////////////////////
@@ -621,7 +623,7 @@ bool QwDevKX13X::enablePhysInterrupt(bool enable, uint8_t pin)
621
623
//
622
624
bool QwDevKX13X::setPinMode (bool activeHigh, uint8_t pin)
623
625
{
624
- int retVal;
626
+ int retVal = - 1 ;
625
627
uint8_t tempVal;
626
628
627
629
if (pin > 2 )
@@ -639,7 +641,7 @@ bool QwDevKX13X::setPinMode(bool activeHigh, uint8_t pin)
639
641
inc1.bits .iea1 = activeHigh; // This is a long winded but definitive way of setting/clearing the level bit
640
642
tempVal = inc1.all ;
641
643
642
- writeRegisterByte (SFE_KX13X_INC1, tempVal);
644
+ retVal = writeRegisterByte (SFE_KX13X_INC1, tempVal);
643
645
}
644
646
645
647
if (pin == 2 )
@@ -654,10 +656,10 @@ bool QwDevKX13X::setPinMode(bool activeHigh, uint8_t pin)
654
656
inc5.bits .iea2 = activeHigh; // This is a long winded but definitive way of setting/clearing the level bit
655
657
tempVal = inc5.all ;
656
658
657
- writeRegisterByte (SFE_KX13X_INC5, tempVal);
659
+ retVal = writeRegisterByte (SFE_KX13X_INC5, tempVal);
658
660
}
659
661
660
- return true ;
662
+ return (retVal == 0 ) ;
661
663
}
662
664
663
665
// ////////////////////////////////////////////////
@@ -672,7 +674,7 @@ bool QwDevKX13X::setPinMode(bool activeHigh, uint8_t pin)
672
674
//
673
675
bool QwDevKX13X::setLatchControl (bool pulsed, uint8_t pin)
674
676
{
675
- int retVal;
677
+ int retVal = - 1 ;
676
678
uint8_t tempVal;
677
679
678
680
if (pin > 2 )
@@ -690,7 +692,7 @@ bool QwDevKX13X::setLatchControl(bool pulsed, uint8_t pin)
690
692
inc1.bits .iel1 = pulsed; // This is a long winded but definitive way of setting/clearing the latch bit
691
693
tempVal = inc1.all ;
692
694
693
- writeRegisterByte (SFE_KX13X_INC1, tempVal);
695
+ retVal = writeRegisterByte (SFE_KX13X_INC1, tempVal);
694
696
}
695
697
696
698
if (pin == 2 )
@@ -705,10 +707,10 @@ bool QwDevKX13X::setLatchControl(bool pulsed, uint8_t pin)
705
707
inc5.bits .iel2 = pulsed; // This is a long winded but definitive way of setting/clearing the latch bit
706
708
tempVal = inc5.all ;
707
709
708
- writeRegisterByte (SFE_KX13X_INC5, tempVal);
710
+ retVal = writeRegisterByte (SFE_KX13X_INC5, tempVal);
709
711
}
710
712
711
- return true ;
713
+ return (retVal == 0 ) ;
712
714
}
713
715
714
716
// ////////////////////////////////////////////////
@@ -722,7 +724,7 @@ bool QwDevKX13X::setLatchControl(bool pulsed, uint8_t pin)
722
724
//
723
725
bool QwDevKX13X::setPulseWidth (uint8_t width, uint8_t pin)
724
726
{
725
- int retVal;
727
+ int retVal = - 1 ;
726
728
uint8_t tempVal;
727
729
728
730
if ((width > 3 ) || (pin > 2 ))
@@ -740,7 +742,7 @@ bool QwDevKX13X::setPulseWidth(uint8_t width, uint8_t pin)
740
742
inc1.bits .pw1 = width; // This is a long winded but definitive way of setting the pulse width
741
743
tempVal = inc1.all ;
742
744
743
- writeRegisterByte (SFE_KX13X_INC1, tempVal);
745
+ retVal = writeRegisterByte (SFE_KX13X_INC1, tempVal);
744
746
}
745
747
746
748
if (pin == 2 )
@@ -755,10 +757,10 @@ bool QwDevKX13X::setPulseWidth(uint8_t width, uint8_t pin)
755
757
inc5.bits .pw2 = width; // This is a long winded but definitive way of setting the pulse width
756
758
tempVal = inc5.all ;
757
759
758
- writeRegisterByte (SFE_KX13X_INC5, tempVal);
760
+ retVal = writeRegisterByte (SFE_KX13X_INC5, tempVal);
759
761
}
760
762
761
- return true ;
763
+ return (retVal == 0 ) ;
762
764
}
763
765
764
766
// ////////////////////////////////////////////////
@@ -1558,7 +1560,7 @@ bool QwDevKX13X::forceWake()
1558
1560
//
1559
1561
int QwDevKX13X::readRegisterRegion (uint8_t reg, uint8_t *data, uint16_t len)
1560
1562
{
1561
- return (int ) _sfeBus->readRegisterRegion (_i2cAddress, reg, data, len);
1563
+ return (_sfeBus->readRegisterRegion (_i2cAddress, reg, data, len) );
1562
1564
}
1563
1565
1564
1566
// ////////////////////////////////////////////////////////////////////////////////
@@ -1574,7 +1576,7 @@ int QwDevKX13X::readRegisterRegion(uint8_t reg, uint8_t *data, uint16_t len)
1574
1576
//
1575
1577
int QwDevKX13X::writeRegisterRegion (uint8_t reg, uint8_t *data, uint16_t len)
1576
1578
{
1577
- return (int ) _sfeBus->writeRegisterRegion (_i2cAddress, reg, data, len);
1579
+ return (_sfeBus->writeRegisterRegion (_i2cAddress, reg, data, len) );
1578
1580
}
1579
1581
1580
1582
// ////////////////////////////////////////////////////////////////////////////////
@@ -1590,9 +1592,7 @@ int QwDevKX13X::writeRegisterRegion(uint8_t reg, uint8_t *data, uint16_t len)
1590
1592
//
1591
1593
int QwDevKX13X::writeRegisterByte (uint8_t reg, uint8_t data)
1592
1594
{
1593
- if (_sfeBus->writeRegisterByte (_i2cAddress, reg, data))
1594
- return 0 ;
1595
- return -1 ;
1595
+ return (_sfeBus->writeRegisterByte (_i2cAddress, reg, data));
1596
1596
}
1597
1597
1598
1598
// ***************************************** KX132 *********************************************************
0 commit comments