Автозаряд и авторазряд will do well.

This commit is contained in:
ftc
2024-03-03 18:19:35 +03:00
parent acaba420d6
commit c93ec551a6
9 changed files with 432 additions and 48 deletions
+44 -15
View File
@@ -1,4 +1,5 @@
using System;
using charger_gui.operations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -22,33 +23,61 @@ namespace charger_gui
public partial class MainWindow : Window
{
private UpdateWorker worker;
private DispatcherTimer updateTimer;
private Logger log;
MainWindowViewModel model;
public MainWindow()
{
InitializeComponent();
log = new Logger("charger.log");
model = new MainWindowViewModel();
DataContext = model;
worker = new UpdateWorker(model);
updateTimer = new DispatcherTimer();
updateTimer.Tick += OnTimer;
updateTimer.Interval = TimeSpan.FromMilliseconds(50);
updateTimer.Start();
}
private void OnTimer(object sender, EventArgs e)
{
model.OnPropertyChanged("IAcc");
model.OnPropertyChanged("UAcc");
model.OnPropertyChanged("ILamp");
model.OnPropertyChanged("ULamp");
model.OnPropertyChanged("ConnectionStatus");
}
private void Ports_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
worker.SetPort(Ports.SelectedItem.ToString());
}
private void LampButton_Click(object sender, RoutedEventArgs e)
{
if (model.CurrentOperation != null)
{
model.CurrentOperation.Cancel();
}
model.CurrentOperation = null;
model.IsLampOn = !model.IsLampOn;
}
private void FlipChargeButton_Click(object sender, RoutedEventArgs e)
{
if (model.CurrentOperation != null)
{
model.CurrentOperation.Cancel();
}
model.CurrentOperation = null;
model.IsCharging = !model.IsCharging;
}
private void DischargeButton_Click(object sender, RoutedEventArgs e)
{
if (model.CurrentOperation != null)
{
model.CurrentOperation.Cancel();
}
model.CurrentOperation = new DischargeOperation(log, model);
model.CurrentOperation.Start();
}
private void ChargeButton_Click(object sender, RoutedEventArgs e)
{
if (model.CurrentOperation != null)
{
model.CurrentOperation.Cancel();
}
model.CurrentOperation = new ChargeOperation(log, model);
model.CurrentOperation.Start();
}
}
}