i wanted to add a self-check whether an I2C device is connected and implemented it like this: ```rust fn check_is_connected(&mut self) -> Result<(), I2C::Error> { self.i2c.read(I2C_ADDRESS, &mut [0]) } ``` however, this never returns. what is the correct way to implement an I2C scanner? for comparison: in Arduino you just begin & end a transaction without any data: https://github.com/sparkfun/SparkFun_Qwiic_Relay_Arduino_Library/blob/master/src/SparkFun_Qwiic_Relay.cpp#L26-L27