private void sendButton_Click(object sender, EventArgs e) { foreach (var series in panel.returnChart().Series) { series.Points.Clear(); } if (radioButton_Time.Checked) { //creating packets //Resetting Bike to set time and distance PacketBicycleCommand RS = new PacketBicycleCommand("RS", panel.id.Id); connection.writePacket(RS); //Waiting 5 secs to let bike reboot Thread.Sleep(5000); //Entering command mode to insert P- Commands PacketBicycleCommand CM = new PacketBicycleCommand("CM", panel.id.Id); connection.writePacket(CM); //Set required Time PacketBicycleCommand PT = new PacketBicycleCommand($"PT {this.timeTextBox.Text}", panel.id.Id); connection.writePacket(PT); //Set power level PacketBicycleCommand PW = new PacketBicycleCommand($"PW {this.PowerTextBox.Text}", panel.id.Id); connection.writePacket(PW); //Start handling Thread Thread thread = new Thread(new ThreadStart(SessionHandler)); thread.Start(); } else if (radioButton_Distance.Checked) { //creating packets //Resetting Bike to set time and distance PacketBicycleCommand RS = new PacketBicycleCommand("RS", panel.id.Id); connection.writePacket(RS); //Waiting 5 secs to let bike reboot Thread.Sleep(5000); //Entering command mode to insert P- Commands PacketBicycleCommand CM = new PacketBicycleCommand("CM", panel.id.Id); connection.writePacket(CM); //Set required Distance PacketBicycleCommand PD = new PacketBicycleCommand($"PD {this.distanceTextBox.Text}", panel.id.Id); connection.writePacket(PD); //Set power level PacketBicycleCommand PW = new PacketBicycleCommand($"PW {this.PowerTextBox.Text}", panel.id.Id); connection.writePacket(PW); //Start handling Thread Thread thread = new Thread(new ThreadStart(SessionHandler)); thread.Start(); } else { MessageBox.Show("Select the session type first!"); } Hide(); }
public void LoadMeasurements(List <Measurement> mes) { DataPanel panel = new DataPanel(this, connection, new Identifier("test", 123)); List <Measurement> measurements = mes; Invoke((Action)(() => { flowLayoutPanel.Controls.Add(panel); foreach (Measurement measurement in measurements) { string _pulse = measurement.pulse; string _rpm = measurement.RPM; string _speed = measurement.speed; string _distance = measurement.distance; string _power = measurement.power; string _energy = measurement.energy; string _time = measurement.time; string _actualPower = measurement.AP; //Parse all strings to int int I_pulse = Int32.Parse(_pulse); int I_rpm = Int32.Parse(_rpm); int I_speed = Int32.Parse(_speed); int I_distance = Int32.Parse(_distance); int I_power = Int32.Parse(_power); int I_energy = Int32.Parse(_energy); TimeSpan ts = TimeSpan.Parse(_time); int I_sec = ts.Seconds; int I_min = ts.Minutes; int I_actualPower = Int32.Parse(_actualPower); //Adding coördinates to chart MethodInvoker miP = delegate() { panel.returnChart().Series["Pulse"].Points.AddXY(I_sec, I_pulse); }; panel.Invoke(miP); MethodInvoker miR = delegate() { panel.returnChart().Series["RPM"].Points.AddXY(I_sec, I_rpm); }; panel.Invoke(miR); MethodInvoker miS = delegate() { panel.returnChart().Series["Speed"].Points.AddXY(I_sec, I_speed); }; panel.Invoke(miS); MethodInvoker miD = delegate() { panel.returnChart().Series["Distance"].Points.AddXY(I_sec, I_distance); }; panel.Invoke(miD); MethodInvoker miPo = delegate() { panel.returnChart().Series["Power"].Points.AddXY(I_sec, I_power); }; panel.Invoke(miPo); MethodInvoker miE = delegate() { panel.returnChart().Series["Energy"].Points.AddXY(I_sec, I_energy); }; panel.Invoke(miE); MethodInvoker miAP = delegate() { panel.returnChart().Series["Actual Power"].Points.AddXY(I_sec, I_actualPower); }; panel.Invoke(miAP); } } )); }
public void LoadMeasurements(List<Measurement> mes) { DataPanel panel = new DataPanel(this, connection, new Identifier("test", 123)); List<Measurement> measurements = mes; Invoke((Action)(() => { flowLayoutPanel.Controls.Add(panel); foreach (Measurement measurement in measurements) { string _pulse = measurement.pulse; string _rpm = measurement.RPM; string _speed = measurement.speed; string _distance = measurement.distance; string _power = measurement.power; string _energy = measurement.energy; string _time = measurement.time; string _actualPower = measurement.AP; //Parse all strings to int int I_pulse = Int32.Parse(_pulse); int I_rpm = Int32.Parse(_rpm); int I_speed = Int32.Parse(_speed); int I_distance = Int32.Parse(_distance); int I_power = Int32.Parse(_power); int I_energy = Int32.Parse(_energy); TimeSpan ts = TimeSpan.Parse(_time); int I_sec = ts.Seconds; int I_min = ts.Minutes; int I_actualPower = Int32.Parse(_actualPower); //Adding coördinates to chart MethodInvoker miP = delegate () { panel.returnChart().Series["Pulse"].Points.AddXY(I_sec, I_pulse); }; panel.Invoke(miP); MethodInvoker miR = delegate () { panel.returnChart().Series["RPM"].Points.AddXY(I_sec, I_rpm); }; panel.Invoke(miR); MethodInvoker miS = delegate () { panel.returnChart().Series["Speed"].Points.AddXY(I_sec, I_speed); }; panel.Invoke(miS); MethodInvoker miD = delegate () { panel.returnChart().Series["Distance"].Points.AddXY(I_sec, I_distance); }; panel.Invoke(miD); MethodInvoker miPo = delegate () { panel.returnChart().Series["Power"].Points.AddXY(I_sec, I_power); }; panel.Invoke(miPo); MethodInvoker miE = delegate () { panel.returnChart().Series["Energy"].Points.AddXY(I_sec, I_energy); }; panel.Invoke(miE); MethodInvoker miAP = delegate () { panel.returnChart().Series["Actual Power"].Points.AddXY(I_sec, I_actualPower); }; panel.Invoke(miAP); } } )); }