@page "/" @using TestingRoom_NN_Kajk_UI.Models @inject HttpClient HttpClient Control

Otáčky: @RPM_Actual RPM

Žádané otáčky:

@foreach (int i in RPM_Presets) { }

@code{ string RPM_Actual_Variable_Name = "actual_rpm"; string RPM_Requested_Variable_Name = "requested_rpm"; string RPM_Max_Variable_Name = "max_rpm"; float RPM_Actual = 0; float RPM_Max = 1900; float RPM_Requested = 0; List RPM_Presets = new() { 0, 1500, 1800 }; private System.Timers.Timer RPM_Actual_Timer = new System.Timers.Timer(500); //actual RPM reader timer private System.Timers.Timer RPM_Requested_Timer = new System.Timers.Timer(5000); //requested RPM reader timer protected override void OnInitialized() { base.OnInitialized(); //actual RPM request timer RPM_Actual_Timer.AutoReset = true; RPM_Actual_Timer.Elapsed += RequestActualRPM; RPM_Actual_Timer.Start(); //requested RPM request timer RPM_Requested_Timer.AutoReset = true; RPM_Requested_Timer.Elapsed += RequestRequestedRPM; RPM_Requested_Timer.Start(); } private void SetRPMRequested(int rpm) { RPM_Requested_Timer.Stop(); RPM_Requested = rpm; SetRPMRequested(); RPM_Requested_Timer.Start(); } private void AddRPMRequested(int add) { RPM_Requested_Timer.Stop(); RPM_Requested += add; if (RPM_Requested < 0) RPM_Requested = 0; if (RPM_Requested > RPM_Max) RPM_Requested = RPM_Max; SetRPMRequested(); RPM_Requested_Timer.Start(); } private async void RequestActualRPM(object? sender, System.Timers.ElapsedEventArgs e) { //RPM_Actual = float.Parse(await HttpClient.GetStringAsync($"/api/variables/{RPM_Actual_Variable_Name}")); await InvokeAsync(StateHasChanged); } private async void RequestRequestedRPM(object? sender, System.Timers.ElapsedEventArgs e) { //RPM_Requested = int.Parse(await HttpClient.GetStringAsync($"/api/variables/{RPM_Requested_Variable_Name}")); await InvokeAsync(StateHasChanged); } private async void SetRPMRequested() { //await HttpClient.PostAsJsonAsync($"/api/variables/{RPM_Requested_Variable_Name}", new VariablePostModel { data = RPM_Requested.ToString(), Isdefault = false }); } private async void GetRPMMax() { //RPM_Max = int.Parse(await HttpClient.GetStringAsync($"/api/variables/{RPM_Requested_Variable_Name}")); await InvokeAsync(StateHasChanged); } }