Esempio n. 1
0
        /// <summary>
        ///     CHANGE LABELS WHEN DATA RECEIVED
        /// </summary>
        /// <param name="sender">bike</param>
        /// <param name="e">changed value</param>
        public void changeLabels(string data)
        {
            if (InvokeRequired)
            {
                Invoke(new MethodInvoker(() => changeLabels(data)));
                return;
            }
            // PARSE DATA
            // CHANGE LABELS
            // SHOW ERROR WHEN RECEIVED
            if (data == "ACK\r")
            {
                return;
            }
            if (data == "ERR\r")
            {
                return;
            }

            var dict = Bike.getValuesFromInput(data);

            foreach (var name in dict.Keys)
            {
                double value = 0;
                dict.TryGetValue(name, out value);
                switch (name)
                {
                case Stats.StatName.HEARTBEAT:
                    heartbeatLabel.Text = "Heartbeat: " + value;
                    break;

                case Stats.StatName.RPM:
                    rpmLabel.Text = "RPM: " + value;
                    break;

                case Stats.StatName.SPEED:
                    speedLabel.Text = "Speed: " + value;
                    break;

                case Stats.StatName.DISTANCE:
                    distanceLabel.Text = "Distance: " + value;
                    break;

                case Stats.StatName.PROGRAMWATTAGE:
                    wattageLabel.Text = "Wattage: " + value;
                    break;

                case Stats.StatName.ENERGY:
                    energyLabel.Text = "Energy: " + value;
                    break;

                case Stats.StatName.TIME:
                    timeLabel.Text = "Time: " + value;
                    break;

                case Stats.StatName.WATTAGE:
                    aWattageLabel.Text = "Actual Wattage: " + value;
                    break;

                default:
                    break;
                }
            }
        }