Skip to content

Commit 29716cb

Browse files
authored
Merge pull request #13 from caternuson/iss11
Add Stop Mode to register write.
2 parents 29c922e + 84900ae commit 29716cb

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

adafruit_mpr121.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,16 @@ def touched_pins(self):
120120

121121
def _write_register_byte(self, register, value):
122122
# Write a byte value to the specifier register address.
123+
# MPR121 must be put in Stop Mode to write to most registers
124+
stop_required = True
125+
if register == MPR121_ECR or 0x73 <= register <= 0x7A:
126+
stop_required = False
123127
with self._i2c:
128+
if stop_required:
129+
self._i2c.write(bytes([MPR121_ECR, 0x00]))
124130
self._i2c.write(bytes([register, value]))
131+
if stop_required:
132+
self._i2c.write(bytes([MPR121_ECR, 0x8F]))
125133

126134
def _read_register_bytes(self, register, result, length=None):
127135
# Read the specified register address and fill the specified result byte

0 commit comments

Comments
 (0)