Skip to content

Commit

Permalink
clear ADXL345 tap registers before enabling - seems to have better be…
Browse files Browse the repository at this point in the history
…havior when interrutps already enabled
  • Loading branch information
graycat committed Sep 15, 2015
1 parent dc139e2 commit 2669d3b
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions bbio/libraries/ADXL345/ADXL345.py
Expand Up @@ -129,6 +129,13 @@ def enableInterrupt(self, interrupt, int_pin):

# Enable the interrupt
int_enable = self.readReg(self.REG_INT_ENABLE)[0]

int_enable &= ~interrupt # 0 to enable interrupt
self.writeReg(self.REG_INT_ENABLE, int_enable)

# Ensure any pending interrupts are cleared:
self.getInterrupts()

int_enable |= interrupt # 1 to enable interrupt
self.writeReg(self.REG_INT_ENABLE, int_enable)

Expand All @@ -139,6 +146,7 @@ def enableTapDetection(self, threshold_g=3, duration_ms=20,
methods). The default values should work fairly well when tapping on
the PCB on which the ADXL345 is mounted.
"""
self.writeReg(self.REG_TAP_AXES, 0)
enable = self.TAP_AXES_X_EN | self.TAP_AXES_Y_EN | self.TAP_AXES_Z_EN
self.writeReg(self.REG_TAP_AXES, enable)
self.setTapThreshold(threshold_g) # threshold in g
Expand Down

0 comments on commit 2669d3b

Please sign in to comment.