Есть метод опрашивающий датчик по шине I2C (упрощено)
private float readCurrentTemperatureValue() {
I2CDevice lm75ad = DeviceManager.open(I2CDevice.class, config);
lm75ad.begin();
lm75ad.read(TEMPERATURE_REGISTER, REGISTER_ADDRESS_SIZE, rxBuf);
lm75ad.end();
lm75ad.close();
Тут всё хорошо.
Но если шина I2C вдруг занята опросом RTC допустим, должен выскочить jdk.dio.UnavailableDeviceException, если я не ошибаюсь.
Я прочитал, что есть такой метод, который ждёт пока ресурс освободиться tryLock(time); куда его засунуть? вместо open?
Как вообще понять, что в данный момент шина i2c занята?