Implemented GUI (which doesn't work)
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -39,7 +39,74 @@ namespace ErgometerSimulator
|
||||
//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 (Time.random) // false = up; true = down;
|
||||
{
|
||||
Time.currentvalue = Time.value1 - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Time.currentvalue = Time.value1 + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,9 +96,7 @@ namespace ErgometerSimulator
|
||||
// ComPortBox
|
||||
//
|
||||
this.ComPortBox.FormattingEnabled = true;
|
||||
this.ComPortBox.Items.AddRange(new object[] {
|
||||
"COM8",
|
||||
"COM9"});
|
||||
this.ComPortBox.Items.AddRange(SerialPort.GetPortNames());
|
||||
this.ComPortBox.Location = new System.Drawing.Point(15, 308);
|
||||
this.ComPortBox.Name = "ComPortBox";
|
||||
this.ComPortBox.Size = new System.Drawing.Size(121, 24);
|
||||
@@ -144,6 +142,7 @@ namespace ErgometerSimulator
|
||||
this.setHeartBeat.TabIndex = 6;
|
||||
this.setHeartBeat.Text = "Set";
|
||||
this.setHeartBeat.UseVisualStyleBackColor = true;
|
||||
this.setHeartBeat.Click += new System.EventHandler(this.setHeartBeat_Click);
|
||||
//
|
||||
// setRPM
|
||||
//
|
||||
@@ -153,6 +152,7 @@ namespace ErgometerSimulator
|
||||
this.setRPM.TabIndex = 11;
|
||||
this.setRPM.Text = "Set";
|
||||
this.setRPM.UseVisualStyleBackColor = true;
|
||||
this.setRPM.Click += new System.EventHandler(this.setRPM_Click);
|
||||
//
|
||||
// text2RPM
|
||||
//
|
||||
@@ -194,6 +194,7 @@ namespace ErgometerSimulator
|
||||
this.setSpeed.TabIndex = 16;
|
||||
this.setSpeed.Text = "Set";
|
||||
this.setSpeed.UseVisualStyleBackColor = true;
|
||||
this.setSpeed.Click += new System.EventHandler(this.setSpeed_Click);
|
||||
//
|
||||
// text2Speed
|
||||
//
|
||||
@@ -235,6 +236,7 @@ namespace ErgometerSimulator
|
||||
this.setDistance.TabIndex = 21;
|
||||
this.setDistance.Text = "Set";
|
||||
this.setDistance.UseVisualStyleBackColor = true;
|
||||
this.setDistance.Click += new System.EventHandler(this.setDistance_Click);
|
||||
//
|
||||
// text2Distance
|
||||
//
|
||||
@@ -276,6 +278,7 @@ namespace ErgometerSimulator
|
||||
this.setPower.TabIndex = 26;
|
||||
this.setPower.Text = "Set";
|
||||
this.setPower.UseVisualStyleBackColor = true;
|
||||
this.setPower.Click += new System.EventHandler(this.setPower_Click);
|
||||
//
|
||||
// text2Power
|
||||
//
|
||||
@@ -317,6 +320,7 @@ namespace ErgometerSimulator
|
||||
this.setEnergy.TabIndex = 31;
|
||||
this.setEnergy.Text = "Set";
|
||||
this.setEnergy.UseVisualStyleBackColor = true;
|
||||
this.setEnergy.Click += new System.EventHandler(this.setEnergy_Click);
|
||||
//
|
||||
// text2Energy
|
||||
//
|
||||
@@ -358,6 +362,7 @@ namespace ErgometerSimulator
|
||||
this.setActualPower.TabIndex = 36;
|
||||
this.setActualPower.Text = "Set";
|
||||
this.setActualPower.UseVisualStyleBackColor = true;
|
||||
this.setActualPower.Click += new System.EventHandler(this.setActualPower_Click);
|
||||
//
|
||||
// text2ActualPower
|
||||
//
|
||||
|
||||
@@ -16,12 +16,14 @@ namespace ErgometerSimulator
|
||||
{
|
||||
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)
|
||||
@@ -47,7 +49,7 @@ namespace ErgometerSimulator
|
||||
|
||||
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);
|
||||
@@ -57,5 +59,61 @@ namespace ErgometerSimulator
|
||||
{
|
||||
dg.Update();
|
||||
}
|
||||
|
||||
private void setHeartBeat_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(text1HeartBeat.Text != "" && text2HeartBeat.Text != "")
|
||||
{
|
||||
dg.HeartBeat = new ValueSetting(randomHeartBeat.Checked, int.Parse(text1HeartBeat.Text), int.Parse(text2HeartBeat.Text));
|
||||
}
|
||||
}
|
||||
|
||||
private void setRPM_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1RPM.Text != "" && text2RPM.Text != "")
|
||||
{
|
||||
dg.RPM = new ValueSetting(randomRPM.Checked, int.Parse(text1RPM.Text), int.Parse(text2RPM.Text));
|
||||
}
|
||||
}
|
||||
|
||||
private void setSpeed_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1Speed.Text != "" && text2Speed.Text != "")
|
||||
{
|
||||
dg.Speed = new ValueSetting(randomSpeed.Checked, int.Parse(text1Speed.Text), int.Parse(text2Speed.Text));
|
||||
}
|
||||
}
|
||||
|
||||
private void setDistance_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1Distance.Text != "" && text2Distance.Text != "")
|
||||
{
|
||||
dg.Distance = new ValueSetting(randomDistance.Checked, int.Parse(text1Distance.Text), int.Parse(text2Distance.Text));
|
||||
}
|
||||
}
|
||||
|
||||
private void setPower_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1Power.Text != "" && text2Power.Text != "")
|
||||
{
|
||||
dg.Power = new ValueSetting(randomPower.Checked, int.Parse(text1Power.Text), int.Parse(text2Power.Text));
|
||||
}
|
||||
}
|
||||
|
||||
private void setEnergy_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1Energy.Text != "" && text2Energy.Text != "")
|
||||
{
|
||||
dg.Energy = new ValueSetting(randomEnergy.Checked, int.Parse(text1Energy.Text), int.Parse(text2Energy.Text));
|
||||
}
|
||||
}
|
||||
|
||||
private void setActualPower_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (text1ActualPower.Text != "" && text2ActualPower.Text != "")
|
||||
{
|
||||
dg.ActualPower = new ValueSetting(randomActualPower.Checked, int.Parse(text1ActualPower.Text), int.Parse(text2ActualPower.Text));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user