Esempio n. 1
0
        private void UpdateCPUChart(string[] data, DateTime now)
        {
            bool isCPUDataAvailable = double.TryParse(data[1], out double cputempData);

            if (isCPUDataAvailable)
            {
                CPUChartValues.Add(new ChartData
                {
                    DateData = now,

                    Value = cputempData
                });
            }

            TelemetryDataChanged?.Invoke(data);
        }
Esempio n. 2
0
        private async void FrmDashboard_SensorDataChanged(string arduinoString, params string[] data)
        {
            try
            {
                var now = System.DateTime.Now;

                lblActualCPUName.Text  = data[0].ToString();
                lblActCPUTemp.Text     = data[1].ToString();
                lblActualCPUUsage.Text = data[2].ToString();

                lblActGPUName.Text  = data[3].ToString();
                lblActGPUTemp.Text  = data[4].ToString();
                lblActGPUUsage.Text = data[5].ToString();

                await Task.Run(() => UpdateGPUData(data, now));

                await Task.Run(() => UpdateCPUChart(data, now));

                if (port != null && port.IsOpen)
                {
                    await Task.Run(() => SendDataToArduino(arduinoString));
                }

                SetAxisLimits(now);

                //lets only use the last 30 values
                if (CPUChartValues.Count > 30)
                {
                    CPUChartValues.RemoveAt(0);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }