//Real test Phase 1 #region public void RealTestPhase1() { //Measurements 1200 is 2 minuten voor de test int measurements = 1200; int currentMeasurement = 0; while (currentMeasurement <= measurements) { long beginTime = DateTime.Now.Ticks; ErgometerData data = client.GetErgoData(); this.measurements.Add(data); currentRPM = data.RPM; if (currentMeasurement % 10 == 0) { chatPanel.UpdatePreviousText("Huidige power: " + (data.Actual_Power) + " Huidige RPM: " + data.RPM + " Huidige hartslag: " + data.Pulse + "\r\n\r\n" + "Testphase 1: " + (measurements - currentMeasurement) / 10 + " seconden\r\n"); SendData(data); } if (currentMeasurement % 30 == 0 && data.Pulse < 130 && currentRPM >= 50 && currentRPM <= 60) { client.SetPower(data.Actual_Power + 5); } if (HFAboveMaximum(data.Pulse)) { MaxHFReached = true; } if (data.Pulse >= 130 && !ReadyState130) { ReadyState130 = true; chatPanel.UpdateText("Ready state bereikt"); } currentMeasurement++; chatPanel.Invalidate(); Wait100Ms(beginTime); } }
//Cooling down #region public void CoolingDown() { currentRPM = 0; chatPanel.Invalidate(); chatPanel.UpdateText("Power word naar 50 gezet"); client.SetPower(50); //Measurements 600 is 1 minuten voor de cooling down int measurements = 600; int currentMeasurement = 0; while (currentMeasurement <= measurements) { long beginTime = DateTime.Now.Ticks; ErgometerData data = client.GetErgoData(); this.measurements.Add(data); if (currentMeasurement % 10 == 0) { chatPanel.UpdatePreviousText("Cooling down: " + (measurements - currentMeasurement) / 10 + " seconden"); SendData(data); } if (HFAboveMaximum(data.Pulse)) { MaxHFReached = true; } currentMeasurement++; Wait100Ms(beginTime); } }
//Warming up #region public void WarmingUp() { chatPanel.UpdateText("Power word naar 50 gezet"); client.SetPower(50); //Measurements 1200 is 2 minuten warming up int measurements = 1200; int currentMeasurement = 0; while (currentMeasurement <= measurements) { long beginTime = DateTime.Now.Ticks; ErgometerData data = client.GetErgoData(); this.measurements.Add(data); if (currentMeasurement % 10 == 0) { chatPanel.UpdatePreviousText("Warming up nog: " + (measurements - currentMeasurement) / 10 + " seconden"); SendData(data); } if (HFAboveMaximum(data.Pulse)) { MaxHFReached = true; } currentMeasurement++; Wait100Ms(beginTime); } }
public void UpdateBikePanelInVR(ErgometerData ed) { if (ed.Actual_Power != null && ed.Speed != null && ed.Time != null && ed.RPM != null && ed.Distance != null && ed.Distance != null) { string text = "Power: " + ed.Actual_Power + "\\n" + "Speed: " + ed.Speed + "\\n" + "Time: " + ed.Time + "\\n" + "RPM: " + ed.RPM + "\\n" + "Distance: " + Math.Round(ed.Distance, 2) + "\\n" + "Pulse: " + ed.Pulse; session.Send(JsonConvert.SerializeObject(Commands.UpdateSpeed(tunnel, session.terrain.UuidCamera, (int)ed.Speed / 2))); session.Send(JsonConvert.SerializeObject(Commands.clearPanel(tunnel, session.terrain.UuidStatsPanel))); session.Send( JsonConvert.SerializeObject(Commands.addTextPanel(tunnel, session.terrain.UuidStatsPanel, text))); session.Send(JsonConvert.SerializeObject(Commands.SwapPanel(tunnel, session.terrain.UuidStatsPanel))); } }
//Send data to server #region public void SendData(ErgometerData data) { dynamic ergometerdata = new { id = "data", session = client.sessionID, data = new { power = data.Actual_Power, speed = data.Speed, time = data.Time, RPM = data.RPM, distance = data.Distance, pulse = data.Pulse } }; client.Send(JsonConvert.SerializeObject(ergometerdata)); }