Example #1
0
        public Smoker(IRelayDevice auger,
                      IRelayDevice blower,
                      IRelayDevice igniter,
                      IRtdArray rtdArray,
                      IDisplay display)
        {
            _auger    = auger;
            _blower   = blower;
            _igniter  = igniter;
            _rtdArray = rtdArray;
            _display  = display;

            _mode           = SmokerMode.Ready;
            _setPoint       = _minSetPoint;
            _lastModeChange = DateTime.Now;
            PValue          = 2;

            CancellationTokenSource _cts = new CancellationTokenSource();

            _pid = new SmokerPid(60.0, 180.0, 45.0);

            _displayUpdater = new DisplayUpdater(this, _display);
            _fireMinder     = new FireMinder(this, _igniter);
            _modeLoopTask   = ModeLoop();
        }
Example #2
0
 public static bool IsCookingMode(this SmokerMode mode)
 {
     if (mode == SmokerMode.Smoke ||
         mode == SmokerMode.Hold ||
         mode == SmokerMode.Preheat)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Example #3
0
 public ActionResult Post([FromBody] string value)
 {
     try
     {
         SmokerMode newMode = (SmokerMode)Enum.Parse(typeof(SmokerMode), value, true);
         bool       success = _smoker.SetMode(newMode);
         if (!success)
         {
             return(StatusCode(403));
         }
         return(Accepted());
     }
     catch
     {
         return(BadRequest());
     }
 }
Example #4
0
 static async Task SetMode(SmokerMode smokerMode)
 {
     await InfernoApiRequest(Endpoint.mode, $"\"{smokerMode}\"");
 }
Example #5
0
        public async Task <bool> SetMode(SmokerMode smokermode)
        {
            var response = await SendRelayRequest("mode", HttpMethod.Post, $"\"{smokermode}\"");

            return(response.IsSuccessStatusCode);
        }
Example #6
0
 static async Task SetMode(SmokerMode smokerMode)
 {
     Console.WriteLine("smokerMode=" + smokerMode);
     Console.WriteLine($"\"{smokerMode}\"");
     await InfernoApiRequest(Endpoint.mode, $"\"{smokerMode}\"");
 }