private async Task SendSlopeAsync(string slopeString) { var slope = float.Parse(slopeString, CultureInfo.InvariantCulture); if (feDisplay.FeState != FitnessEquipment.FeState.Asleep && CanSendCommand) { lastOutwardCommandTime = DateTime.Now; await Task.Run(() => { Trace.TraceInformation("Sending slope : " + slopeString); feDisplay.SendTrackResistance(new ControlTrackResistancePage() { Grade = (ushort)((slope + 200.0f) / 400.0f * 40000) }); }); } }
private void SendTrackResistance(float grade) { UInt16 gradeToTransmit; if (!useAsModel) { var boundedGrade = Math.Min(Math.Max(grade, minSimulatedGrade), maxSimulatedGrade); gradeToTransmit = Consts.ConvertGrade(boundedGrade); } else { gradeToTransmit = Consts.ConvertGrade(grade); } var command = new ControlTrackResistancePage { Grade = gradeToTransmit }; simulator.SendTrackResistance(command); }