public I2CDeviceBase(int addr, ILogger logger, ITimer timer) : base(logger) { _timer = FluentGuard <ITimer> .On(timer).WhenNull().ThrowOnErrors(); _addr = addr; _deviceHandler = I2C.WiringPiI2CSetup(_addr); if (_deviceHandler < 1) { throw new I2CInitializationException(_addr); } LogDeviceStartup(); }