Added messages

This commit is contained in:
2015-11-01 21:46:18 +01:00
parent 4f322fd866
commit e63f421689
5 changed files with 54 additions and 9 deletions
@@ -155,8 +155,8 @@ namespace ErgometerApplication
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(700, 500);
this.MinimumSize = new System.Drawing.Size(550, 550);
this.ClientSize = new System.Drawing.Size(700, 550);
this.MinimumSize = new System.Drawing.Size(700, 550);
this.Controls.Add(this.panelTopBar);
this.Controls.Add(this.panelLogin);
this.Controls.Add(this.panelGatherInfo);
@@ -102,12 +102,12 @@ namespace ErgometerApplication
steps.setText(text);
}
internal void CreateNewTest(char geslacht, int leeftijd, int gewicht, int lengte)
public void CreateNewTest(char geslacht, int leeftijd, int gewicht, int lengte)
{
panelTopBar.Visible = true;
panelClientContainer.BringToFront();
chat = panelClientChat;
ergotest = new ErgometerTest(gewicht, lengte, leeftijd, geslacht);
ergotest = new ErgometerTest(gewicht, lengte, leeftijd, geslacht, this);
MainClient.ComPort.Write("RS");
MainClient.ComPort.Read();
Thread.Sleep(200);
@@ -19,7 +19,9 @@ namespace ErgometerApplication
private int workloadHearthbeat;
private int workloadnumber;
public ErgometerTest(int weight, int length , int age, char gender)
private ClientApplicatie client;
public ErgometerTest(int weight, int length , int age, char gender, ClientApplicatie client)
{
this.weight = weight;
this.length = length;
@@ -27,7 +29,9 @@ namespace ErgometerApplication
this.gender = gender;
currentstate = state.WARMUP;
workloadnumber = 1;
MainClient.ComPort.Write("SET PW 25");
this.client = client;
client.updateStepsText("U begint nu aan een warmup, probeer een tempo van 50 rpm aan te houden. De test gaat automatisch verder.");
MainClient.ComPort.Write("PW 25");
}
public void timerTick()
@@ -42,13 +46,14 @@ namespace ErgometerApplication
int min = FindMaxValue(MainClient.Metingen, x => x.HeartBeat);
if(max - min > 10) //Hartslag niet stabiel
{
client.updateStepsText("Uw hartslag is not niet stabiel, probeer een tempo van 50 rpm aan te houden. De test gaat automatisch verder.");
return;
}
else
{
currentstate = state.WORKLOAD;
workloadStarted = MainClient.GetLastMeting().Seconds;
Console.WriteLine("Warmup is goed, hartslag stabiel, ga naar workload test");
client.updateStepsText("De warmup is voltooid. U begint nu aan de " + NumToText(workloadnumber) + " workload.");
}
}
break;
@@ -59,9 +64,13 @@ namespace ErgometerApplication
if (workloadHearthbeat > CalculateMaximumHeartRate())
{
currentstate = state.COOLINGDOWN;
client.updateStepsText("Uw hartslag heeft het kritieke punt bereikt, we beginnen nu aan de cooldown.");
}
MainClient.ComPort.Write("PW " + GetWorkloadPower(workloadnumber));
int pw = GetWorkloadPower(workloadnumber);
MainClient.ComPort.Write("PW " + pw);
client.updateStepsText("U heeft de workload afgerond, u begint nu aan de " + NumToText(workloadnumber) + " workload. Uw nieuwe weerstand is " + pw + " Watt.");
workloadStarted = MainClient.GetLastMeting().Seconds;
workloadHearthbeat = 0;
@@ -73,6 +82,11 @@ namespace ErgometerApplication
List<ErgometerLibrary.Meting> last80 = MainClient.Metingen.GetRange(MainClient.Metingen.Count - 80, 80);
workloadHearthbeat = FindAvergeValue(MainClient.Metingen, x => x.HeartBeat);
Console.WriteLine("2:40 gefiets, gemiddelde harstslag berekenen:" + workloadHearthbeat);
client.updateStepsText("U bent nu met de " + NumToText(workloadnumber) + " workload bezig. Uw gemiddelde hartslag is berekend als " + workloadHearthbeat + "bpm.");
}
else if(MainClient.GetLastMeting().Seconds - workloadStarted > 8 && MainClient.GetLastMeting().Seconds - workloadStarted < 10)
{
client.updateStepsText("U bent nu met de " + NumToText(workloadnumber) + " workload bezig. De fiets staat nu ingesteld op " + MainClient.GetLastMeting().Power + " Watt");
}
break;
case state.COOLINGDOWN:
@@ -210,5 +224,32 @@ namespace ErgometerApplication
}
return totalvalue / list.Count;
}
public string NumToText(int num)
{
switch(num)
{
case 1:
return "eerste";
case 2:
return "tweede";
case 3:
return "derde";
case 4:
return "vierde";
case 5:
return "vijfde";
case 6:
return "zesde";
case 7:
return "zevende";
case 8:
return "achste";
case 9:
return "negende";
default:
return "volgende";
}
}
}
}
@@ -176,7 +176,10 @@ namespace ErgometerApplication
public static Meting GetLastMeting()
{
return Metingen.Last();
if (Metingen.Count > 1)
return Metingen.Last();
else
return new Meting(0, 0, 0, 0, 0, 0, 0, 0, 0);
}
public static void run()
@@ -133,6 +133,7 @@ namespace ErgometerDoctorApplication
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 600);
this.MinimumSize = new System.Drawing.Size(700, 550);
this.Controls.Add(this.panelTopBar);
this.Controls.Add(this.panelClientContainer);
this.Name = "SessionWindow";