Example #1
0
 public SerialUsbArduinoTemperatureControllerService(Thermometer[] thermometers,
                                                     IBeerFactoryEventHandler eventHandler,
                                                     ILoggerFactory loggerFactory)
 {
     _eventHandler = eventHandler;
     Logger        = loggerFactory.CreateLogger <SerialUsbArduinoTemperatureControllerService>();
 }
Example #2
0
 public PidController(ComponentId id,
                      IBeerFactoryEventHandler eventHandler,
                      ILoggerFactory loggerFactory)
 {
     Logger        = loggerFactory.CreateLogger <PidController>();
     _eventHandler = eventHandler;
     CurrentState  = new PidControllerState {
         Id = id
     };
     RegisterEvents();
 }
Example #3
0
        public Thermometer(ComponentId id,
                           IBeerFactoryEventHandler eventHandler,
                           ILoggerFactory loggerFactory)
        {
            _eventHandler = eventHandler;
            Logger        = loggerFactory.CreateLogger <Thermometer>();

            CurrentState = new ThermometerState {
                Id = id
            };

            _eventHandler.SubscribeToComponentStateChange <ThermocoupleState>(ThermocoupleStateChangeOccured);
        }
Example #4
0
 public BeerFactory(Thermometer[] thermometers,
                    Ssr[] ssrs,
                    PidController[] pidControllers,
                    Pump[] pumps,
                    IBeerFactoryEventHandler eventHandler,
                    ILoggerFactory loggerFactory)
 {
     _eventHandler   = eventHandler;
     Logger          = loggerFactory.CreateLogger <BeerFactory>();
     _pidControllers = pidControllers;
     _ssrs           = ssrs;
     _thermometers   = thermometers;
     _pumps          = pumps;
 }
Example #5
0
        public MainViewModel(PidController[] pidControllers,
                             Thermometer[] thermometers,
                             Ssr[] ssrs,
                             IBeerFactoryEventHandler eventHandler,
                             ILoggerFactory loggerFactory)
        {
            Logger        = loggerFactory.CreateLogger <MainViewModel>();
            _eventHandler = eventHandler;

            Temperature   = (double)thermometers.Single(t => t.Id == ComponentId.HLT).Temperature;
            SetPoint      = (int)pidControllers.Single(t => t.Id == ComponentId.HLT).CurrentState.SetPoint;
            SsrPercentage = (int)ssrs.Single(t => t.Id == ComponentId.HLT).CurrentState.Percentage;

            _eventHandler.SubscribeToComponentStateChange <ThermometerState>(ThermometerStateChangeOccured, ComponentId.HLT, ThreadType.UIThread);
            _eventHandler.SubscribeToComponentStateChange <SsrState>(SsrStateChangeOccured, ComponentId.HLT, ThreadType.UIThread);
            _eventHandler.SubscribeToComponentStateChange <PidControllerState>(PidControllerStateChangeOccured, ComponentId.HLT, ThreadType.UIThread);
        }
Example #6
0
        public Thermometer(ComponentId id,
                           int changeThreshold,
                           int changeWindowInMillis,
                           int changeEventRetentionInMins,
                           IBeerFactoryEventHandler eventHandler,
                           ILoggerFactory loggerFactory)
        {
            _eventHandler = eventHandler;
            Logger        = loggerFactory.CreateLogger <Thermometer>();

            CurrentState = new ThermometerState {
                Id = id
            };

            _changeThreshold      = changeThreshold;
            _changeWindowInMillis = changeWindowInMillis;
            _changeWindowInMillis = changeWindowInMillis;

            _eventHandler.SubscribeToComponentStateChange <ThermocoupleState>(ThermocoupleStateChangeOccured);
        }
Example #7
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);
        }
Example #8
0
        public FakeArduinoTemperatureControllerService(Thermometer[] thermometers,
                                                       Ssr[] ssrs,
                                                       IBeerFactoryEventHandler eventHandler,
                                                       ILoggerFactory loggerFactory)
        {
            Logger        = loggerFactory.CreateLogger <FakeArduinoTemperatureControllerService>();
            _eventHandler = eventHandler;

            _ssrStateLookup         = ssrs.ToDictionary(ssr => ssr.CurrentState.Id, ssr => ssr.CurrentState);
            _thermometerStateLookup = thermometers.ToDictionary(therm => therm.CurrentState.Id, therm => therm.CurrentState);

            _eventHandler.SubscribeToComponentStateChange <SsrState>(ssrStateChangeOccured);
            _eventHandler.SubscribeToComponentStateChange <ThermometerState>(thermometerStateChangeOccured);

            foreach (var componentId in ComponentHelper.AllComponentIds)
            {
                _eventHandler.ComponentStateChangeFiring(new ComponentStateChange <ThermocoupleState> {
                    CurrentState = new ThermocoupleState {
                        Id          = componentId,
                        Temperature = 70
                    }
                });
            }
        }
Example #9
0
 public BFHub(IBeerFactoryEventHandler eventHandler, ILoggerFactory loggerFactory)
 {
     this.logger   = loggerFactory.CreateLogger <BFHub>();
     _eventHandler = eventHandler;
 }
Example #10
0
 public ServerBeerFactory(IBeerFactoryEventHandler eventHandler, ILoggerFactory loggerFactory)
 {
 }