Esempio n. 1
0
        public PID(int pidId, string pidName, BrewIO brewIO, Outputs output, IPidRepository pidRepo)
        {
            _pidId   = pidId;
            _pidName = pidName;
            _brewIO  = brewIO;
            _output  = output;
            _heater  = new HeaterController(_brewIO, output);
            _heater.Start();

            PidConfig = pidRepo.GetPidConfig(pidId);
            if (PidConfig == null)
            {
                PidConfig = new PidConfig
                {
                    PidId = pidId,
                    PIDKp = DefaultPIDKp,
                    PIDKi = DefaultPIDKi,
                    PIDKd = DefaultPIDKd
                };
                pidRepo.AddPidConfig(PidConfig);
            }

            _pidRegulator = new PIDRegulator3(PidConfig.PIDKp, PidConfig.PIDKi, PidConfig.PIDKd);
            Status        = new PidStatusDto
            {
                PidId   = _pidId,
                PidName = _pidName
            };
        }
Esempio n. 2
0
 public HeaterController(BrewIO brewIO, Outputs output)
 {
     _brewIO = brewIO;
     _output = output;
 }
Esempio n. 3
0
 public BackgroundWorker(ITempReader tempReader, IHubContext <ComHub> hubContext, BrewIO brewIO)
 {
     _tempReader = tempReader;
     _hubContext = hubContext;
     _brewIO     = brewIO;
 }