public Ssr(ComponentId id, IBeerFactoryEventHandler eventHandler, ILoggerFactory loggerFactory) { Logger = loggerFactory.CreateLogger <Ssr>(); _eventHandler = eventHandler; CurrentState = new SsrState { Id = id }; Enum.TryParse(id.ToString(), out SsrPin ssrPin); _pinNumber = (int)ssrPin; var gpio = GpioController.GetDefault(); if (gpio != null) { _pin = gpio.OpenPin(_pinNumber); _pin.SetDriveMode(GpioPinDriveMode.Output); _pin.Write(GpioPinValue.Low); } _eventHandler.SubscribeToComponentStateRequest <SsrRequestState>(SsrStateRequestOccured); }
private void RegisterEvents() { _eventHandler.SubscribeToComponentStateChange <ThermometerState>(ThermometerStateChangeOccured); _eventHandler.SubscribeToComponentStateRequest <PidControllerRequestState>(PidControllerStateRequestOccured); }