@@ -8,9 +8,15 @@ namespace ErgometerSimulator
|
||||
{
|
||||
class CommandParser
|
||||
{
|
||||
private static Random rand = new Random();
|
||||
private Random rand = new Random();
|
||||
private DataGenerator dg;
|
||||
|
||||
public static string Parse(string input)
|
||||
public CommandParser(DataGenerator dg)
|
||||
{
|
||||
this.dg = dg;
|
||||
}
|
||||
|
||||
public string Parse(string input)
|
||||
{
|
||||
string response = "";
|
||||
|
||||
@@ -21,14 +27,14 @@ namespace ErgometerSimulator
|
||||
response = "ACK";
|
||||
break;
|
||||
case "ST":
|
||||
response += rand.Next(90, 140) + "\t"; //Heartbeat
|
||||
response += rand.Next(20, 40) + "\t"; //RPM
|
||||
response += rand.Next(50, 350) + "\t"; //Speed
|
||||
response += rand.Next(10, 999) + "\t"; //Distance
|
||||
response += rand.Next(25, 400) + "\t"; //Power
|
||||
response += rand.Next(5, 55) + "\t"; //Energy
|
||||
response += rand.Next(0, 24) + ":" + rand.Next(0, 60) + "\t"; //Time
|
||||
response += rand.Next(25, 400); //ActualPower
|
||||
response += dg.HeartBeat.currentvalue + "\t"; //Heartbeat
|
||||
response += dg.RPM.currentvalue + "\t"; //RPM
|
||||
response += dg.Speed.currentvalue + "\t"; //Speed
|
||||
response += dg.Distance.currentvalue + "\t"; //Distance
|
||||
response += dg.Power.currentvalue + "\t"; //Power
|
||||
response += dg.Energy.currentvalue + "\t"; //Energy
|
||||
response += (dg.Time.currentvalue/60) + ":" + (dg.Time.currentvalue%60) + "\t"; //Time
|
||||
response += dg.ActualPower.currentvalue; //ActualPower
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ErgometerSimulator
|
||||
{
|
||||
class DataGenerator
|
||||
{
|
||||
Random rand;
|
||||
|
||||
public ValueSetting HeartBeat { get; set; }
|
||||
public ValueSetting RPM { get; set; }
|
||||
public ValueSetting Speed { get; set; }
|
||||
public ValueSetting Distance { get; set; }
|
||||
public ValueSetting Power { get; set; }
|
||||
public ValueSetting Energy { get; set; }
|
||||
public ValueSetting ActualPower { get; set; }
|
||||
public ValueSetting Time { get; set; }
|
||||
|
||||
private double lastTime;
|
||||
|
||||
public DataGenerator()
|
||||
{
|
||||
rand = new Random();
|
||||
HeartBeat = new ValueSetting(false, 0, 0);
|
||||
RPM = new ValueSetting(false, 0, 0);
|
||||
Speed = new ValueSetting(false, 0, 0);
|
||||
Distance = new ValueSetting(false, 0, 0);
|
||||
Power = new ValueSetting(false, 0, 0);
|
||||
Energy = new ValueSetting(false, 0, 0);
|
||||
ActualPower = new ValueSetting(false, 0, 0);
|
||||
Time = new ValueSetting(false, 0, 0);
|
||||
|
||||
lastTime = (DateTime.Now - DateTime.Parse("1/1/1870 0:0:0")).TotalMilliseconds;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void Update()
|
||||
{
|
||||
//Hearbeat
|
||||
if(HeartBeat.random)
|
||||
{
|
||||
HeartBeat.currentvalue = rand.Next(HeartBeat.value1, HeartBeat.value2);
|
||||
}
|
||||
else
|
||||
{
|
||||
HeartBeat.currentvalue = HeartBeat.value1;
|
||||
}
|
||||
//RPM
|
||||
if (RPM.random)
|
||||
{
|
||||
RPM.currentvalue = rand.Next(RPM.value1, RPM.value2);
|
||||
}
|
||||
else
|
||||
{
|
||||
RPM.currentvalue = RPM.value1;
|
||||
}
|
||||
//Speed
|
||||
if (Speed.random)
|
||||
{
|
||||
Speed.currentvalue = rand.Next(Speed.value1, Speed.value2);
|
||||
}
|
||||
else
|
||||
{
|
||||
Speed.currentvalue = Speed.value1;
|
||||
}
|
||||
//Distance
|
||||
if (Distance.random)
|
||||
{
|
||||
Distance.currentvalue = rand.Next(Distance.value1, Distance.value2);
|
||||
}
|
||||
else
|
||||
{
|
||||
Distance.currentvalue = Distance.value1;
|
||||
}
|
||||
//Power
|
||||
if (Power.random)
|
||||
{
|
||||
Power.currentvalue = rand.Next(Power.value1, Power.value2);
|
||||
}
|
||||
else
|
||||
{
|
||||
Power.currentvalue = Power.value1;
|
||||
}
|
||||
//Energy
|
||||
if (Energy.random)
|
||||
{
|
||||
Energy.currentvalue = rand.Next(Energy.value1, Energy.value2);
|
||||
}
|
||||
else
|
||||
{
|
||||
Energy.currentvalue = Energy.value1;
|
||||
}
|
||||
//ActualPower
|
||||
if (ActualPower.random)
|
||||
{
|
||||
ActualPower.currentvalue = rand.Next(ActualPower.value1, ActualPower.value2);
|
||||
}
|
||||
else
|
||||
{
|
||||
ActualPower.currentvalue = ActualPower.value1;
|
||||
}
|
||||
//Time
|
||||
if ((DateTime.Now - DateTime.Parse("1/1/1870 0:0:0")).TotalMilliseconds - lastTime > 1000)
|
||||
{
|
||||
if (Time.random) // false = up; true = down;
|
||||
{
|
||||
if (Time.value1 - 1 <= 0)
|
||||
Time.value1 = 0;
|
||||
else
|
||||
Time.value1 = Time.value1 - 1;
|
||||
|
||||
Time.currentvalue = Time.value1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Time.value1 = Time.value1 + 1;
|
||||
Time.currentvalue = Time.value1;
|
||||
}
|
||||
|
||||
lastTime = (DateTime.Now - DateTime.Parse("1/1/1870 0:0:0")).TotalMilliseconds;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,13 +30,62 @@ namespace ErgometerSimulator
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.connectButton = new System.Windows.Forms.Button();
|
||||
this.ComPortBox = new System.Windows.Forms.ComboBox();
|
||||
this.labelHeartBeat = new System.Windows.Forms.Label();
|
||||
this.randomHeartBeat = new System.Windows.Forms.CheckBox();
|
||||
this.text1HeartBeat = new System.Windows.Forms.TextBox();
|
||||
this.text2HeartBeat = new System.Windows.Forms.TextBox();
|
||||
this.setHeartBeat = new System.Windows.Forms.Button();
|
||||
this.setRPM = new System.Windows.Forms.Button();
|
||||
this.text2RPM = new System.Windows.Forms.TextBox();
|
||||
this.text1RPM = new System.Windows.Forms.TextBox();
|
||||
this.randomRPM = new System.Windows.Forms.CheckBox();
|
||||
this.labelRPM = new System.Windows.Forms.Label();
|
||||
this.setSpeed = new System.Windows.Forms.Button();
|
||||
this.text2Speed = new System.Windows.Forms.TextBox();
|
||||
this.text1Speed = new System.Windows.Forms.TextBox();
|
||||
this.randomSpeed = new System.Windows.Forms.CheckBox();
|
||||
this.labelSpeed = new System.Windows.Forms.Label();
|
||||
this.setDistance = new System.Windows.Forms.Button();
|
||||
this.text2Distance = new System.Windows.Forms.TextBox();
|
||||
this.text1Distance = new System.Windows.Forms.TextBox();
|
||||
this.randomDistance = new System.Windows.Forms.CheckBox();
|
||||
this.labelDistance = new System.Windows.Forms.Label();
|
||||
this.setPower = new System.Windows.Forms.Button();
|
||||
this.text2Power = new System.Windows.Forms.TextBox();
|
||||
this.text1Power = new System.Windows.Forms.TextBox();
|
||||
this.randomPower = new System.Windows.Forms.CheckBox();
|
||||
this.labelPower = new System.Windows.Forms.Label();
|
||||
this.setEnergy = new System.Windows.Forms.Button();
|
||||
this.text2Energy = new System.Windows.Forms.TextBox();
|
||||
this.text1Energy = new System.Windows.Forms.TextBox();
|
||||
this.randomEnergy = new System.Windows.Forms.CheckBox();
|
||||
this.labelEnergy = new System.Windows.Forms.Label();
|
||||
this.setActualPower = new System.Windows.Forms.Button();
|
||||
this.text2ActualPower = new System.Windows.Forms.TextBox();
|
||||
this.text1ActualPower = new System.Windows.Forms.TextBox();
|
||||
this.randomActualPower = new System.Windows.Forms.CheckBox();
|
||||
this.labelActualPower = new System.Windows.Forms.Label();
|
||||
this.setTime = new System.Windows.Forms.Button();
|
||||
this.text1Time = new System.Windows.Forms.TextBox();
|
||||
this.countTime = new System.Windows.Forms.CheckBox();
|
||||
this.labelTime = new System.Windows.Forms.Label();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.labelCurrentTime = new System.Windows.Forms.Label();
|
||||
this.updateTimer = new System.Windows.Forms.Timer(this.components);
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// connectButton
|
||||
//
|
||||
this.connectButton.Location = new System.Drawing.Point(139, 12);
|
||||
this.connectButton.Location = new System.Drawing.Point(151, 305);
|
||||
this.connectButton.Name = "connectButton";
|
||||
this.connectButton.Size = new System.Drawing.Size(101, 27);
|
||||
this.connectButton.TabIndex = 0;
|
||||
@@ -48,23 +97,523 @@ namespace ErgometerSimulator
|
||||
//
|
||||
this.ComPortBox.FormattingEnabled = true;
|
||||
this.ComPortBox.Items.AddRange(new object[] {
|
||||
"COM5",
|
||||
"COM4"});
|
||||
this.ComPortBox.Location = new System.Drawing.Point(12, 12);
|
||||
"COM8",
|
||||
"COM9"});
|
||||
this.ComPortBox.Location = new System.Drawing.Point(15, 308);
|
||||
this.ComPortBox.Name = "ComPortBox";
|
||||
this.ComPortBox.Size = new System.Drawing.Size(121, 24);
|
||||
this.ComPortBox.TabIndex = 1;
|
||||
//
|
||||
// labelHeartBeat
|
||||
//
|
||||
this.labelHeartBeat.AutoSize = true;
|
||||
this.labelHeartBeat.Location = new System.Drawing.Point(12, 27);
|
||||
this.labelHeartBeat.Name = "labelHeartBeat";
|
||||
this.labelHeartBeat.Size = new System.Drawing.Size(71, 17);
|
||||
this.labelHeartBeat.TabIndex = 2;
|
||||
this.labelHeartBeat.Text = "Heartbeat";
|
||||
//
|
||||
// randomHeartBeat
|
||||
//
|
||||
this.randomHeartBeat.AutoSize = true;
|
||||
this.randomHeartBeat.Enabled = false;
|
||||
this.randomHeartBeat.Location = new System.Drawing.Point(114, 28);
|
||||
this.randomHeartBeat.Name = "randomHeartBeat";
|
||||
this.randomHeartBeat.Size = new System.Drawing.Size(18, 17);
|
||||
this.randomHeartBeat.TabIndex = 3;
|
||||
this.randomHeartBeat.UseVisualStyleBackColor = true;
|
||||
this.randomHeartBeat.CheckedChanged += new System.EventHandler(this.randomHeartBeat_CheckedChanged);
|
||||
//
|
||||
// text1HeartBeat
|
||||
//
|
||||
this.text1HeartBeat.Enabled = false;
|
||||
this.text1HeartBeat.Location = new System.Drawing.Point(151, 24);
|
||||
this.text1HeartBeat.Name = "text1HeartBeat";
|
||||
this.text1HeartBeat.Size = new System.Drawing.Size(100, 22);
|
||||
this.text1HeartBeat.TabIndex = 4;
|
||||
//
|
||||
// text2HeartBeat
|
||||
//
|
||||
this.text2HeartBeat.Enabled = false;
|
||||
this.text2HeartBeat.Location = new System.Drawing.Point(257, 24);
|
||||
this.text2HeartBeat.Name = "text2HeartBeat";
|
||||
this.text2HeartBeat.Size = new System.Drawing.Size(100, 22);
|
||||
this.text2HeartBeat.TabIndex = 5;
|
||||
//
|
||||
// setHeartBeat
|
||||
//
|
||||
this.setHeartBeat.Enabled = false;
|
||||
this.setHeartBeat.Location = new System.Drawing.Point(363, 24);
|
||||
this.setHeartBeat.Name = "setHeartBeat";
|
||||
this.setHeartBeat.Size = new System.Drawing.Size(75, 23);
|
||||
this.setHeartBeat.TabIndex = 6;
|
||||
this.setHeartBeat.Text = "Set";
|
||||
this.setHeartBeat.UseVisualStyleBackColor = true;
|
||||
this.setHeartBeat.Click += new System.EventHandler(this.setHeartBeat_Click);
|
||||
//
|
||||
// setRPM
|
||||
//
|
||||
this.setRPM.Enabled = false;
|
||||
this.setRPM.Location = new System.Drawing.Point(363, 50);
|
||||
this.setRPM.Name = "setRPM";
|
||||
this.setRPM.Size = new System.Drawing.Size(75, 23);
|
||||
this.setRPM.TabIndex = 11;
|
||||
this.setRPM.Text = "Set";
|
||||
this.setRPM.UseVisualStyleBackColor = true;
|
||||
this.setRPM.Click += new System.EventHandler(this.setRPM_Click);
|
||||
//
|
||||
// text2RPM
|
||||
//
|
||||
this.text2RPM.Enabled = false;
|
||||
this.text2RPM.Location = new System.Drawing.Point(257, 50);
|
||||
this.text2RPM.Name = "text2RPM";
|
||||
this.text2RPM.Size = new System.Drawing.Size(100, 22);
|
||||
this.text2RPM.TabIndex = 10;
|
||||
//
|
||||
// text1RPM
|
||||
//
|
||||
this.text1RPM.Enabled = false;
|
||||
this.text1RPM.Location = new System.Drawing.Point(151, 50);
|
||||
this.text1RPM.Name = "text1RPM";
|
||||
this.text1RPM.Size = new System.Drawing.Size(100, 22);
|
||||
this.text1RPM.TabIndex = 9;
|
||||
//
|
||||
// randomRPM
|
||||
//
|
||||
this.randomRPM.AutoSize = true;
|
||||
this.randomRPM.Enabled = false;
|
||||
this.randomRPM.Location = new System.Drawing.Point(114, 54);
|
||||
this.randomRPM.Name = "randomRPM";
|
||||
this.randomRPM.Size = new System.Drawing.Size(18, 17);
|
||||
this.randomRPM.TabIndex = 8;
|
||||
this.randomRPM.UseVisualStyleBackColor = true;
|
||||
this.randomRPM.CheckedChanged += new System.EventHandler(this.randomRPM_CheckedChanged);
|
||||
//
|
||||
// labelRPM
|
||||
//
|
||||
this.labelRPM.AutoSize = true;
|
||||
this.labelRPM.Location = new System.Drawing.Point(12, 53);
|
||||
this.labelRPM.Name = "labelRPM";
|
||||
this.labelRPM.Size = new System.Drawing.Size(38, 17);
|
||||
this.labelRPM.TabIndex = 7;
|
||||
this.labelRPM.Text = "RPM";
|
||||
//
|
||||
// setSpeed
|
||||
//
|
||||
this.setSpeed.Enabled = false;
|
||||
this.setSpeed.Location = new System.Drawing.Point(363, 78);
|
||||
this.setSpeed.Name = "setSpeed";
|
||||
this.setSpeed.Size = new System.Drawing.Size(75, 23);
|
||||
this.setSpeed.TabIndex = 16;
|
||||
this.setSpeed.Text = "Set";
|
||||
this.setSpeed.UseVisualStyleBackColor = true;
|
||||
this.setSpeed.Click += new System.EventHandler(this.setSpeed_Click);
|
||||
//
|
||||
// text2Speed
|
||||
//
|
||||
this.text2Speed.Enabled = false;
|
||||
this.text2Speed.Location = new System.Drawing.Point(257, 78);
|
||||
this.text2Speed.Name = "text2Speed";
|
||||
this.text2Speed.Size = new System.Drawing.Size(100, 22);
|
||||
this.text2Speed.TabIndex = 15;
|
||||
//
|
||||
// text1Speed
|
||||
//
|
||||
this.text1Speed.Enabled = false;
|
||||
this.text1Speed.Location = new System.Drawing.Point(151, 78);
|
||||
this.text1Speed.Name = "text1Speed";
|
||||
this.text1Speed.Size = new System.Drawing.Size(100, 22);
|
||||
this.text1Speed.TabIndex = 14;
|
||||
//
|
||||
// randomSpeed
|
||||
//
|
||||
this.randomSpeed.AutoSize = true;
|
||||
this.randomSpeed.Enabled = false;
|
||||
this.randomSpeed.Location = new System.Drawing.Point(114, 82);
|
||||
this.randomSpeed.Name = "randomSpeed";
|
||||
this.randomSpeed.Size = new System.Drawing.Size(18, 17);
|
||||
this.randomSpeed.TabIndex = 13;
|
||||
this.randomSpeed.UseVisualStyleBackColor = true;
|
||||
this.randomSpeed.CheckedChanged += new System.EventHandler(this.randomSpeed_CheckedChanged);
|
||||
//
|
||||
// labelSpeed
|
||||
//
|
||||
this.labelSpeed.AutoSize = true;
|
||||
this.labelSpeed.Location = new System.Drawing.Point(12, 81);
|
||||
this.labelSpeed.Name = "labelSpeed";
|
||||
this.labelSpeed.Size = new System.Drawing.Size(49, 17);
|
||||
this.labelSpeed.TabIndex = 12;
|
||||
this.labelSpeed.Text = "Speed";
|
||||
//
|
||||
// setDistance
|
||||
//
|
||||
this.setDistance.Enabled = false;
|
||||
this.setDistance.Location = new System.Drawing.Point(363, 108);
|
||||
this.setDistance.Name = "setDistance";
|
||||
this.setDistance.Size = new System.Drawing.Size(75, 23);
|
||||
this.setDistance.TabIndex = 21;
|
||||
this.setDistance.Text = "Set";
|
||||
this.setDistance.UseVisualStyleBackColor = true;
|
||||
this.setDistance.Click += new System.EventHandler(this.setDistance_Click);
|
||||
//
|
||||
// text2Distance
|
||||
//
|
||||
this.text2Distance.Enabled = false;
|
||||
this.text2Distance.Location = new System.Drawing.Point(257, 108);
|
||||
this.text2Distance.Name = "text2Distance";
|
||||
this.text2Distance.Size = new System.Drawing.Size(100, 22);
|
||||
this.text2Distance.TabIndex = 20;
|
||||
//
|
||||
// text1Distance
|
||||
//
|
||||
this.text1Distance.Enabled = false;
|
||||
this.text1Distance.Location = new System.Drawing.Point(151, 108);
|
||||
this.text1Distance.Name = "text1Distance";
|
||||
this.text1Distance.Size = new System.Drawing.Size(100, 22);
|
||||
this.text1Distance.TabIndex = 19;
|
||||
//
|
||||
// randomDistance
|
||||
//
|
||||
this.randomDistance.AutoSize = true;
|
||||
this.randomDistance.Enabled = false;
|
||||
this.randomDistance.Location = new System.Drawing.Point(114, 112);
|
||||
this.randomDistance.Name = "randomDistance";
|
||||
this.randomDistance.Size = new System.Drawing.Size(18, 17);
|
||||
this.randomDistance.TabIndex = 18;
|
||||
this.randomDistance.UseVisualStyleBackColor = true;
|
||||
this.randomDistance.CheckedChanged += new System.EventHandler(this.randomDistance_CheckedChanged);
|
||||
//
|
||||
// labelDistance
|
||||
//
|
||||
this.labelDistance.AutoSize = true;
|
||||
this.labelDistance.Location = new System.Drawing.Point(12, 111);
|
||||
this.labelDistance.Name = "labelDistance";
|
||||
this.labelDistance.Size = new System.Drawing.Size(63, 17);
|
||||
this.labelDistance.TabIndex = 17;
|
||||
this.labelDistance.Text = "Distance";
|
||||
//
|
||||
// setPower
|
||||
//
|
||||
this.setPower.Enabled = false;
|
||||
this.setPower.Location = new System.Drawing.Point(363, 137);
|
||||
this.setPower.Name = "setPower";
|
||||
this.setPower.Size = new System.Drawing.Size(75, 23);
|
||||
this.setPower.TabIndex = 26;
|
||||
this.setPower.Text = "Set";
|
||||
this.setPower.UseVisualStyleBackColor = true;
|
||||
this.setPower.Click += new System.EventHandler(this.setPower_Click);
|
||||
//
|
||||
// text2Power
|
||||
//
|
||||
this.text2Power.Enabled = false;
|
||||
this.text2Power.Location = new System.Drawing.Point(257, 137);
|
||||
this.text2Power.Name = "text2Power";
|
||||
this.text2Power.Size = new System.Drawing.Size(100, 22);
|
||||
this.text2Power.TabIndex = 25;
|
||||
//
|
||||
// text1Power
|
||||
//
|
||||
this.text1Power.Enabled = false;
|
||||
this.text1Power.Location = new System.Drawing.Point(151, 137);
|
||||
this.text1Power.Name = "text1Power";
|
||||
this.text1Power.Size = new System.Drawing.Size(100, 22);
|
||||
this.text1Power.TabIndex = 24;
|
||||
//
|
||||
// randomPower
|
||||
//
|
||||
this.randomPower.AutoSize = true;
|
||||
this.randomPower.Enabled = false;
|
||||
this.randomPower.Location = new System.Drawing.Point(114, 141);
|
||||
this.randomPower.Name = "randomPower";
|
||||
this.randomPower.Size = new System.Drawing.Size(18, 17);
|
||||
this.randomPower.TabIndex = 23;
|
||||
this.randomPower.UseVisualStyleBackColor = true;
|
||||
this.randomPower.CheckedChanged += new System.EventHandler(this.randomPower_CheckedChanged);
|
||||
//
|
||||
// labelPower
|
||||
//
|
||||
this.labelPower.AutoSize = true;
|
||||
this.labelPower.Location = new System.Drawing.Point(12, 140);
|
||||
this.labelPower.Name = "labelPower";
|
||||
this.labelPower.Size = new System.Drawing.Size(47, 17);
|
||||
this.labelPower.TabIndex = 22;
|
||||
this.labelPower.Text = "Power";
|
||||
//
|
||||
// setEnergy
|
||||
//
|
||||
this.setEnergy.Enabled = false;
|
||||
this.setEnergy.Location = new System.Drawing.Point(363, 166);
|
||||
this.setEnergy.Name = "setEnergy";
|
||||
this.setEnergy.Size = new System.Drawing.Size(75, 23);
|
||||
this.setEnergy.TabIndex = 31;
|
||||
this.setEnergy.Text = "Set";
|
||||
this.setEnergy.UseVisualStyleBackColor = true;
|
||||
this.setEnergy.Click += new System.EventHandler(this.setEnergy_Click);
|
||||
//
|
||||
// text2Energy
|
||||
//
|
||||
this.text2Energy.Enabled = false;
|
||||
this.text2Energy.Location = new System.Drawing.Point(257, 166);
|
||||
this.text2Energy.Name = "text2Energy";
|
||||
this.text2Energy.Size = new System.Drawing.Size(100, 22);
|
||||
this.text2Energy.TabIndex = 30;
|
||||
//
|
||||
// text1Energy
|
||||
//
|
||||
this.text1Energy.Enabled = false;
|
||||
this.text1Energy.Location = new System.Drawing.Point(151, 166);
|
||||
this.text1Energy.Name = "text1Energy";
|
||||
this.text1Energy.Size = new System.Drawing.Size(100, 22);
|
||||
this.text1Energy.TabIndex = 29;
|
||||
//
|
||||
// randomEnergy
|
||||
//
|
||||
this.randomEnergy.AutoSize = true;
|
||||
this.randomEnergy.Enabled = false;
|
||||
this.randomEnergy.Location = new System.Drawing.Point(114, 170);
|
||||
this.randomEnergy.Name = "randomEnergy";
|
||||
this.randomEnergy.Size = new System.Drawing.Size(18, 17);
|
||||
this.randomEnergy.TabIndex = 28;
|
||||
this.randomEnergy.UseVisualStyleBackColor = true;
|
||||
this.randomEnergy.CheckedChanged += new System.EventHandler(this.randomEnergy_CheckedChanged);
|
||||
//
|
||||
// labelEnergy
|
||||
//
|
||||
this.labelEnergy.AutoSize = true;
|
||||
this.labelEnergy.Location = new System.Drawing.Point(12, 169);
|
||||
this.labelEnergy.Name = "labelEnergy";
|
||||
this.labelEnergy.Size = new System.Drawing.Size(53, 17);
|
||||
this.labelEnergy.TabIndex = 27;
|
||||
this.labelEnergy.Text = "Energy";
|
||||
//
|
||||
// setActualPower
|
||||
//
|
||||
this.setActualPower.Enabled = false;
|
||||
this.setActualPower.Location = new System.Drawing.Point(363, 196);
|
||||
this.setActualPower.Name = "setActualPower";
|
||||
this.setActualPower.Size = new System.Drawing.Size(75, 23);
|
||||
this.setActualPower.TabIndex = 36;
|
||||
this.setActualPower.Text = "Set";
|
||||
this.setActualPower.UseVisualStyleBackColor = true;
|
||||
this.setActualPower.Click += new System.EventHandler(this.setActualPower_Click);
|
||||
//
|
||||
// text2ActualPower
|
||||
//
|
||||
this.text2ActualPower.Enabled = false;
|
||||
this.text2ActualPower.Location = new System.Drawing.Point(257, 196);
|
||||
this.text2ActualPower.Name = "text2ActualPower";
|
||||
this.text2ActualPower.Size = new System.Drawing.Size(100, 22);
|
||||
this.text2ActualPower.TabIndex = 35;
|
||||
//
|
||||
// text1ActualPower
|
||||
//
|
||||
this.text1ActualPower.Enabled = false;
|
||||
this.text1ActualPower.Location = new System.Drawing.Point(151, 196);
|
||||
this.text1ActualPower.Name = "text1ActualPower";
|
||||
this.text1ActualPower.Size = new System.Drawing.Size(100, 22);
|
||||
this.text1ActualPower.TabIndex = 34;
|
||||
//
|
||||
// randomActualPower
|
||||
//
|
||||
this.randomActualPower.AutoSize = true;
|
||||
this.randomActualPower.Enabled = false;
|
||||
this.randomActualPower.Location = new System.Drawing.Point(114, 200);
|
||||
this.randomActualPower.Name = "randomActualPower";
|
||||
this.randomActualPower.Size = new System.Drawing.Size(18, 17);
|
||||
this.randomActualPower.TabIndex = 33;
|
||||
this.randomActualPower.UseVisualStyleBackColor = true;
|
||||
this.randomActualPower.CheckedChanged += new System.EventHandler(this.randomActualPower_CheckedChanged);
|
||||
//
|
||||
// labelActualPower
|
||||
//
|
||||
this.labelActualPower.AutoSize = true;
|
||||
this.labelActualPower.Location = new System.Drawing.Point(12, 199);
|
||||
this.labelActualPower.Name = "labelActualPower";
|
||||
this.labelActualPower.Size = new System.Drawing.Size(90, 17);
|
||||
this.labelActualPower.TabIndex = 32;
|
||||
this.labelActualPower.Text = "Actual Power";
|
||||
//
|
||||
// setTime
|
||||
//
|
||||
this.setTime.Enabled = false;
|
||||
this.setTime.Location = new System.Drawing.Point(363, 262);
|
||||
this.setTime.Name = "setTime";
|
||||
this.setTime.Size = new System.Drawing.Size(75, 23);
|
||||
this.setTime.TabIndex = 41;
|
||||
this.setTime.Text = "Set";
|
||||
this.setTime.UseVisualStyleBackColor = true;
|
||||
this.setTime.Click += new System.EventHandler(this.setTime_Click);
|
||||
//
|
||||
// text1Time
|
||||
//
|
||||
this.text1Time.Enabled = false;
|
||||
this.text1Time.Location = new System.Drawing.Point(151, 262);
|
||||
this.text1Time.Name = "text1Time";
|
||||
this.text1Time.Size = new System.Drawing.Size(101, 22);
|
||||
this.text1Time.TabIndex = 39;
|
||||
//
|
||||
// countTime
|
||||
//
|
||||
this.countTime.AutoSize = true;
|
||||
this.countTime.Enabled = false;
|
||||
this.countTime.Location = new System.Drawing.Point(77, 263);
|
||||
this.countTime.Name = "countTime";
|
||||
this.countTime.Size = new System.Drawing.Size(65, 21);
|
||||
this.countTime.TabIndex = 38;
|
||||
this.countTime.Text = "Down";
|
||||
this.countTime.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// labelTime
|
||||
//
|
||||
this.labelTime.AutoSize = true;
|
||||
this.labelTime.Location = new System.Drawing.Point(12, 265);
|
||||
this.labelTime.Name = "labelTime";
|
||||
this.labelTime.Size = new System.Drawing.Size(39, 17);
|
||||
this.labelTime.TabIndex = 37;
|
||||
this.labelTime.Text = "Time";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label9.Location = new System.Drawing.Point(12, 4);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(49, 17);
|
||||
this.label9.TabIndex = 42;
|
||||
this.label9.Text = "Name";
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label10.Location = new System.Drawing.Point(75, 4);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(67, 17);
|
||||
this.label10.TabIndex = 43;
|
||||
this.label10.Text = "Random";
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label11.Location = new System.Drawing.Point(148, 4);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(33, 17);
|
||||
this.label11.TabIndex = 44;
|
||||
this.label11.Text = "Min";
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.AutoSize = true;
|
||||
this.label12.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label12.Location = new System.Drawing.Point(254, 4);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(36, 17);
|
||||
this.label12.TabIndex = 45;
|
||||
this.label12.Text = "Max";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label2.Location = new System.Drawing.Point(148, 239);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(49, 17);
|
||||
this.label2.TabIndex = 48;
|
||||
this.label2.Text = "Value";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label3.Location = new System.Drawing.Point(75, 239);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(50, 17);
|
||||
this.label3.TabIndex = 47;
|
||||
this.label3.Text = "Count";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label4.Location = new System.Drawing.Point(12, 239);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(49, 17);
|
||||
this.label4.TabIndex = 46;
|
||||
this.label4.Text = "Name";
|
||||
//
|
||||
// labelCurrentTime
|
||||
//
|
||||
this.labelCurrentTime.AutoSize = true;
|
||||
this.labelCurrentTime.Location = new System.Drawing.Point(258, 264);
|
||||
this.labelCurrentTime.Name = "labelCurrentTime";
|
||||
this.labelCurrentTime.Size = new System.Drawing.Size(44, 17);
|
||||
this.labelCurrentTime.TabIndex = 49;
|
||||
this.labelCurrentTime.Text = "00:00";
|
||||
//
|
||||
// updateTimer
|
||||
//
|
||||
this.updateTimer.Interval = 200;
|
||||
this.updateTimer.Tick += new System.EventHandler(this.updateTimer_Tick);
|
||||
//
|
||||
// ErgometerSimulator
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(351, 87);
|
||||
this.ClientSize = new System.Drawing.Size(452, 344);
|
||||
this.Controls.Add(this.labelCurrentTime);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label12);
|
||||
this.Controls.Add(this.label11);
|
||||
this.Controls.Add(this.label10);
|
||||
this.Controls.Add(this.label9);
|
||||
this.Controls.Add(this.setTime);
|
||||
this.Controls.Add(this.text1Time);
|
||||
this.Controls.Add(this.countTime);
|
||||
this.Controls.Add(this.labelTime);
|
||||
this.Controls.Add(this.setActualPower);
|
||||
this.Controls.Add(this.text2ActualPower);
|
||||
this.Controls.Add(this.text1ActualPower);
|
||||
this.Controls.Add(this.randomActualPower);
|
||||
this.Controls.Add(this.labelActualPower);
|
||||
this.Controls.Add(this.setEnergy);
|
||||
this.Controls.Add(this.text2Energy);
|
||||
this.Controls.Add(this.text1Energy);
|
||||
this.Controls.Add(this.randomEnergy);
|
||||
this.Controls.Add(this.labelEnergy);
|
||||
this.Controls.Add(this.setPower);
|
||||
this.Controls.Add(this.text2Power);
|
||||
this.Controls.Add(this.text1Power);
|
||||
this.Controls.Add(this.randomPower);
|
||||
this.Controls.Add(this.labelPower);
|
||||
this.Controls.Add(this.setDistance);
|
||||
this.Controls.Add(this.text2Distance);
|
||||
this.Controls.Add(this.text1Distance);
|
||||
this.Controls.Add(this.randomDistance);
|
||||
this.Controls.Add(this.labelDistance);
|
||||
this.Controls.Add(this.setSpeed);
|
||||
this.Controls.Add(this.text2Speed);
|
||||
this.Controls.Add(this.text1Speed);
|
||||
this.Controls.Add(this.randomSpeed);
|
||||
this.Controls.Add(this.labelSpeed);
|
||||
this.Controls.Add(this.setRPM);
|
||||
this.Controls.Add(this.text2RPM);
|
||||
this.Controls.Add(this.text1RPM);
|
||||
this.Controls.Add(this.randomRPM);
|
||||
this.Controls.Add(this.labelRPM);
|
||||
this.Controls.Add(this.setHeartBeat);
|
||||
this.Controls.Add(this.text2HeartBeat);
|
||||
this.Controls.Add(this.text1HeartBeat);
|
||||
this.Controls.Add(this.randomHeartBeat);
|
||||
this.Controls.Add(this.labelHeartBeat);
|
||||
this.Controls.Add(this.ComPortBox);
|
||||
this.Controls.Add(this.connectButton);
|
||||
this.Name = "ErgometerSimulator";
|
||||
this.Text = "Ergometer Simulator";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -72,6 +621,54 @@ namespace ErgometerSimulator
|
||||
|
||||
private System.Windows.Forms.Button connectButton;
|
||||
private System.Windows.Forms.ComboBox ComPortBox;
|
||||
private System.Windows.Forms.Label labelHeartBeat;
|
||||
private System.Windows.Forms.CheckBox randomHeartBeat;
|
||||
private System.Windows.Forms.TextBox text1HeartBeat;
|
||||
private System.Windows.Forms.TextBox text2HeartBeat;
|
||||
private System.Windows.Forms.Button setHeartBeat;
|
||||
private System.Windows.Forms.Button setRPM;
|
||||
private System.Windows.Forms.TextBox text2RPM;
|
||||
private System.Windows.Forms.TextBox text1RPM;
|
||||
private System.Windows.Forms.CheckBox randomRPM;
|
||||
private System.Windows.Forms.Label labelRPM;
|
||||
private System.Windows.Forms.Button setSpeed;
|
||||
private System.Windows.Forms.TextBox text2Speed;
|
||||
private System.Windows.Forms.TextBox text1Speed;
|
||||
private System.Windows.Forms.CheckBox randomSpeed;
|
||||
private System.Windows.Forms.Label labelSpeed;
|
||||
private System.Windows.Forms.Button setDistance;
|
||||
private System.Windows.Forms.TextBox text2Distance;
|
||||
private System.Windows.Forms.TextBox text1Distance;
|
||||
private System.Windows.Forms.CheckBox randomDistance;
|
||||
private System.Windows.Forms.Label labelDistance;
|
||||
private System.Windows.Forms.Button setPower;
|
||||
private System.Windows.Forms.TextBox text2Power;
|
||||
private System.Windows.Forms.TextBox text1Power;
|
||||
private System.Windows.Forms.CheckBox randomPower;
|
||||
private System.Windows.Forms.Label labelPower;
|
||||
private System.Windows.Forms.Button setEnergy;
|
||||
private System.Windows.Forms.TextBox text2Energy;
|
||||
private System.Windows.Forms.TextBox text1Energy;
|
||||
private System.Windows.Forms.CheckBox randomEnergy;
|
||||
private System.Windows.Forms.Label labelEnergy;
|
||||
private System.Windows.Forms.Button setActualPower;
|
||||
private System.Windows.Forms.TextBox text2ActualPower;
|
||||
private System.Windows.Forms.TextBox text1ActualPower;
|
||||
private System.Windows.Forms.CheckBox randomActualPower;
|
||||
private System.Windows.Forms.Label labelActualPower;
|
||||
private System.Windows.Forms.Button setTime;
|
||||
private System.Windows.Forms.TextBox text1Time;
|
||||
private System.Windows.Forms.CheckBox countTime;
|
||||
private System.Windows.Forms.Label labelTime;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label labelCurrentTime;
|
||||
private System.Windows.Forms.Timer updateTimer;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,11 +15,15 @@ namespace ErgometerSimulator
|
||||
public partial class ErgometerSimulator : Form
|
||||
{
|
||||
ComPort comPort;
|
||||
DataGenerator dg;
|
||||
CommandParser parser;
|
||||
|
||||
public ErgometerSimulator()
|
||||
{
|
||||
InitializeComponent();
|
||||
comPort = new ComPort(this);
|
||||
dg = new DataGenerator();
|
||||
parser = new CommandParser(dg);
|
||||
}
|
||||
|
||||
private void connectButton_Click(object sender, EventArgs e)
|
||||
@@ -29,7 +33,8 @@ namespace ErgometerSimulator
|
||||
if (comPort.Connect(ComPortBox.Text))
|
||||
{
|
||||
connectButton.Text = "Disconnect";
|
||||
ComPortBox.Enabled = false;
|
||||
ToggleAllComponents(true);
|
||||
updateTimer.Start();
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -37,18 +42,280 @@ namespace ErgometerSimulator
|
||||
if (comPort.Disconnect())
|
||||
{
|
||||
connectButton.Text = "Connect";
|
||||
ComPortBox.Enabled = true;
|
||||
|
||||
ToggleAllComponents(false);
|
||||
updateTimer.Stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void ReceivedCommand(string command)
|
||||
{
|
||||
string response = CommandParser.Parse(command);
|
||||
string response = parser.Parse(command);
|
||||
string display = command + " :_: " + response;
|
||||
Console.WriteLine(display);
|
||||
comPort.Write(response);
|
||||
}
|
||||
|
||||
private void updateTimer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
labelCurrentTime.Text = dg.Time.currentvalue / 60 + ":" + dg.Time.currentvalue % 60;
|
||||
dg.Update();
|
||||
}
|
||||
|
||||
private void setHeartBeat_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(text1HeartBeat.Text != "" && (text2HeartBeat.Text != "" || !randomHeartBeat.Checked))
|
||||
{
|
||||
dg.HeartBeat = new ValueSetting(randomHeartBeat.Checked, int.Parse(text1HeartBeat.Text), (text2HeartBeat.Enabled ? int.Parse(text2HeartBeat.Text) : 0));
|
||||
text1HeartBeat.Text = "";
|
||||
text2HeartBeat.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void setRPM_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1RPM.Text != "" && (text2RPM.Text != "" || !randomRPM.Checked))
|
||||
{
|
||||
dg.RPM = new ValueSetting(randomRPM.Checked, int.Parse(text1RPM.Text), (text2RPM.Enabled ? int.Parse(text2RPM.Text) : 0));
|
||||
text1RPM.Text = "";
|
||||
text2RPM.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void setSpeed_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1Speed.Text != "" && (text2Speed.Text != "" || !randomSpeed.Checked))
|
||||
{
|
||||
dg.Speed = new ValueSetting(randomSpeed.Checked, int.Parse(text1Speed.Text), (text2Speed.Enabled ? int.Parse(text2Speed.Text) : 0));
|
||||
text1Speed.Text = "";
|
||||
text2Speed.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void setDistance_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1Distance.Text != "" && (text2Distance.Text != "" || !randomDistance.Checked))
|
||||
{
|
||||
dg.Distance = new ValueSetting(randomDistance.Checked, int.Parse(text1Distance.Text), (text2Distance.Enabled ? int.Parse(text2Distance.Text) : 0));
|
||||
text1Distance.Text = "";
|
||||
text2Distance.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void setPower_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1Power.Text != "" && (text2Power.Text != "" || !randomPower.Checked))
|
||||
{
|
||||
dg.Power = new ValueSetting(randomPower.Checked, int.Parse(text1Power.Text), (text2Power.Enabled ? int.Parse(text2Power.Text) : 0));
|
||||
text1Power.Text = "";
|
||||
text2Power.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void setEnergy_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1Energy.Text != "" && (text2Energy.Text != "" || !randomEnergy.Checked))
|
||||
{
|
||||
dg.Energy = new ValueSetting(randomEnergy.Checked, int.Parse(text1Energy.Text), (text2Energy.Enabled ? int.Parse(text2Energy.Text) : 0));
|
||||
text1Energy.Text = "";
|
||||
text2Energy.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void setActualPower_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1ActualPower.Text != "" && (text2ActualPower.Text != "" || !randomActualPower.Checked))
|
||||
{
|
||||
dg.ActualPower = new ValueSetting(randomActualPower.Checked, int.Parse(text1ActualPower.Text), (text2ActualPower.Enabled ? int.Parse(text2ActualPower.Text) : 0));
|
||||
text1ActualPower.Text = "";
|
||||
text2ActualPower.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void setTime_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(text1Time.Text != "")
|
||||
{
|
||||
string[] temp = text1Time.Text.Split(':');
|
||||
if(temp.Length == 2)
|
||||
{
|
||||
int minutes = int.Parse(temp[0]);
|
||||
int seconds = int.Parse(temp[1]) + (minutes * 60);
|
||||
dg.Time = new ValueSetting(countTime.Checked, seconds, 0);
|
||||
text1Time.Text = "";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleAllComponents(bool enabled)
|
||||
{
|
||||
//Random checkboxes
|
||||
randomActualPower.Enabled = enabled;
|
||||
randomActualPower.Checked = false;
|
||||
|
||||
randomDistance.Enabled = enabled;
|
||||
randomDistance.Checked = false;
|
||||
|
||||
randomEnergy.Enabled = enabled;
|
||||
randomEnergy.Checked = false;
|
||||
|
||||
randomHeartBeat.Enabled = enabled;
|
||||
randomHeartBeat.Checked = false;
|
||||
|
||||
randomRPM.Enabled = enabled;
|
||||
randomRPM.Checked = false;
|
||||
|
||||
randomSpeed.Enabled = enabled;
|
||||
randomSpeed.Checked = false;
|
||||
|
||||
randomPower.Enabled = enabled;
|
||||
randomPower.Checked = false;
|
||||
|
||||
countTime.Enabled = enabled;
|
||||
countTime.Checked = false;
|
||||
|
||||
|
||||
//First text boxes
|
||||
text1ActualPower.Enabled = enabled;
|
||||
text1ActualPower.Text = "";
|
||||
|
||||
text1Distance.Enabled = enabled;
|
||||
text1Distance.Text = "";
|
||||
|
||||
text1Energy.Enabled = enabled;
|
||||
text1Energy.Text = "";
|
||||
|
||||
text1HeartBeat.Enabled = enabled;
|
||||
text1HeartBeat.Text = "";
|
||||
|
||||
text1Power.Enabled = enabled;
|
||||
text1Power.Text = "";
|
||||
|
||||
text1RPM.Enabled = enabled;
|
||||
text1RPM.Text = "";
|
||||
|
||||
text1Speed.Enabled = enabled;
|
||||
text1Speed.Text = "";
|
||||
|
||||
text1Time.Enabled = enabled;
|
||||
text1Time.Text = "";
|
||||
|
||||
|
||||
//Second text boxes
|
||||
text2ActualPower.Enabled = false;
|
||||
text2ActualPower.Text = "";
|
||||
|
||||
text2Distance.Enabled = false;
|
||||
text2Distance.Text = "";
|
||||
|
||||
text2Energy.Enabled = false;
|
||||
text2Energy.Text = "";
|
||||
|
||||
text2HeartBeat.Enabled = false;
|
||||
text2HeartBeat.Text = "";
|
||||
|
||||
text2Power.Enabled = false;
|
||||
text2Power.Text = "";
|
||||
|
||||
text2RPM.Enabled = false;
|
||||
text2RPM.Text = "";
|
||||
|
||||
text2Speed.Enabled = false;
|
||||
text2Speed.Text = "";
|
||||
|
||||
labelCurrentTime.Text = "00:00";
|
||||
|
||||
|
||||
//Buttons
|
||||
setHeartBeat.Enabled = enabled;
|
||||
setDistance.Enabled = enabled;
|
||||
setPower.Enabled = enabled;
|
||||
setActualPower.Enabled = enabled;
|
||||
setTime.Enabled = enabled;
|
||||
setRPM.Enabled = enabled;
|
||||
setEnergy.Enabled = enabled;
|
||||
setSpeed.Enabled = enabled;
|
||||
|
||||
//ComPort Box
|
||||
ComPortBox.Enabled = !enabled;
|
||||
}
|
||||
|
||||
private void randomHeartBeat_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(randomHeartBeat.Checked)
|
||||
text2HeartBeat.Enabled = true;
|
||||
else
|
||||
{
|
||||
text2HeartBeat.Enabled = false;
|
||||
text2HeartBeat.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void randomRPM_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (randomRPM.Checked)
|
||||
text2RPM.Enabled = true;
|
||||
else
|
||||
{
|
||||
text2RPM.Enabled = false;
|
||||
text2RPM.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void randomSpeed_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (randomSpeed.Checked)
|
||||
text2Speed.Enabled = true;
|
||||
else
|
||||
{
|
||||
text2Speed.Enabled = false;
|
||||
text2Speed.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void randomDistance_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (randomDistance.Checked)
|
||||
text2Distance.Enabled = true;
|
||||
else
|
||||
{
|
||||
text2Distance.Enabled = false;
|
||||
text2Distance.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void randomPower_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (randomPower.Checked)
|
||||
text2Power.Enabled = true;
|
||||
else
|
||||
{
|
||||
text2Power.Enabled = false;
|
||||
text2Power.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void randomEnergy_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (randomEnergy.Checked)
|
||||
text2Energy.Enabled = true;
|
||||
else
|
||||
{
|
||||
text2Energy.Enabled = false;
|
||||
text2Energy.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void randomActualPower_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (randomActualPower.Checked)
|
||||
text2ActualPower.Enabled = true;
|
||||
else
|
||||
{
|
||||
text2ActualPower.Enabled = false;
|
||||
text2ActualPower.Text = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="CommandParser.cs" />
|
||||
<Compile Include="ComPort.cs" />
|
||||
<Compile Include="DataGenerator.cs" />
|
||||
<Compile Include="ErgometerSimulator.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -56,6 +57,7 @@
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ValueSetting.cs" />
|
||||
<EmbeddedResource Include="ErgometerSimulator.resx">
|
||||
<DependentUpon>ErgometerSimulator.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@@ -117,4 +117,7 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="updateTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ErgometerSimulator
|
||||
{
|
||||
class ValueSetting
|
||||
{
|
||||
public bool random { get; }
|
||||
public int value1 { get; set; }
|
||||
public int value2 { get; }
|
||||
public int currentvalue { get; set; }
|
||||
|
||||
public ValueSetting(bool random, int value1, int value2)
|
||||
{
|
||||
this.random = random;
|
||||
this.value1 = value1;
|
||||
this.value2 = value2;
|
||||
this.currentvalue = 0;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
string str = "";
|
||||
str += random + "|";
|
||||
str += value1 + "|";
|
||||
str += value2 + "|";
|
||||
str += currentvalue;
|
||||
return str;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user