- def reset(self):
- """Performs a hardware reset via the reset pin. Raises an exception if called
- when no reset pin is available.
+ if reset is not None:
+ self._reset = digitalio.DigitalInOut(reset)
+ self._reset.switch_to_output(value=True)
+ else:
+ self._reset = None
+ self._i2c = i2c_bus
+ self._dev_addr = device_address
+
+ def _release(self):
+ self.reset()
+ self._i2c.deinit()
+ if self._reset is not None:
+ self._reset.deinit()
+
+ def reset(self) -> None:
+ """
+ Performs a hardware reset via the reset pin if one is present.
+ """
+
+ if self._reset is None:
+ return
+
+ self._reset.value = False
+ time.sleep(0.0001)
+ self._reset.value = True
+
+ def begin_transaction(self) -> None:
+ """
+ Lock the bus before sending data.