Kenneth van Ewijk 10 anni fa
parent
commit
e63f421689

+ 2 - 2
ErgometerIPR/ErgometerApplication/ClientApplicatie.Designer.cs

@@ -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);

+ 2 - 2
ErgometerIPR/ErgometerApplication/ClientApplicatie.cs

@@ -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);

+ 45 - 4
ErgometerIPR/ErgometerApplication/ErgometerTest.cs

@@ -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";
+            }
+        }
     }
 }

+ 4 - 1
ErgometerIPR/ErgometerApplication/MainClient.cs

@@ -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()

+ 1 - 0
ErgometerIPR/ErgometerDoctorApplication/Client/SessionWindow.Designer.cs

@@ -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";