public Sh1106(SpiConnectionSettings connectionSettings, int dcPin, int rstPin, ISPiDeviceFactory sPiDeviceFactory, IGpioControllerFactory controllerFactory) { if (connectionSettings == null) { throw new ArgumentNullException(nameof(connectionSettings)); } if (sPiDeviceFactory == null) { throw new ArgumentNullException(nameof(sPiDeviceFactory)); } if (controllerFactory == null) { throw new ArgumentNullException(nameof(controllerFactory)); } var spiDevice = sPiDeviceFactory.GetOrCreateSpiDevice(connectionSettings); var controller = controllerFactory.GetOrCreateController(); _serialInterface = new SpiInterface(spiDevice, controller, dcPin, rstPin); }
public Sh1106Display(DisplaySpiConnectionSettings settings, IGpioControllerFactory controllerFactory, ISPiDeviceFactory spiDeviceFactory) : base(Sh1106.Width, Sh1106.Height) { _device = new Sh1106(settings.SpiConnectionSettings, settings.DcPin, settings.RstPin, spiDeviceFactory, controllerFactory); RegisterForDisposal(_device); }
public Display(DisplaySpiConnectionSettings settings, IGpioControllerFactory controllerFactory, ISPiDeviceFactory spiDeviceFactory) { _device = new Sh1106(settings.SpiConnectionSettings, settings.DcPin, settings.RstPin, spiDeviceFactory, controllerFactory); _image = new Bitmap(_width, _height, PixelFormat.Format16bppGrayScale); _disposables.Add(_image); _disposables.Add(_device); }