+ def _free(self) -> bool:
+ """Attempt to free the bus and return False if busy"""
+ if not self._i2c.try_lock():
+ return False
+ self._i2c.unlock()
+ return True
+
+ def _begin_transaction(self) -> bool:
+ """Lock the bus before sending data."""
+ return self._i2c.try_lock()
+