Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 private void RegisterEvents()
 {
     _eventHandler.SubscribeToComponentStateChange <ThermometerState>(ThermometerStateChangeOccured);
     _eventHandler.SubscribeToComponentStateRequest <PidControllerRequestState>(PidControllerStateRequestOccured);
 }