Ejemplo n.º 1
0
        private void Phx42OnDataPolled(object sender, DataPolledEventArgs dataPolledEventArgs)
        {
            try
            {
                IsRunning = bool.Parse(dataPolledEventArgs.PhxProperties[Phx42PropNames.IsIgnited]);

                PhxProperties = dataPolledEventArgs.PhxProperties;

                try
                {
                    var lastPpmsCount = phx42.LastPpms.Count;
                    var skip          = Math.Max(lastPpmsCount - PpmAverageCount, 0);
                    var take          = Math.Min(PpmAverageCount, lastPpmsCount);

                    dataPolledEventArgs.PhxProperties["PPMAverage"] =
                        Math.Round(phx42.LastPpms.Skip(skip).Take(take).Average(), 1).ToString();
                }
                catch (Exception)
                {
                    dataPolledEventArgs.PhxProperties["PPMAverage"] = "-100";
                    //ignore
                }

                Ppm = dataPolledEventArgs.Ppm;
                OnPhxDataPolled(dataPolledEventArgs);
            }
            catch (Exception ex)
            {
                phx42.WriteToPhxLog("Couldn't parse polled data:");
                phx42.WriteExceptionToPhxLog(ex);
            }
        }
Ejemplo n.º 2
0
        protected virtual void OnPhxDataPolled(DataPolledEventArgs e)
        {
            PhxDataPolled?.Invoke(this, e);

            InvokeReadingUpdated(new ReadingUpdatedEventArgs(e.Ppm, e.Ppm.ToString()));
        }