Merge branch 'dev' of ssh://git.necronda.net:42069/winzer/pamhagen-sysctrl into dev
Test / Run tests (push) Failing after 13s

This commit is contained in:
2026-09-12 20:02:12 +02:00
+4 -4
View File
@@ -180,10 +180,10 @@ namespace PamhagenSysCtrl.Helpers {
var isRunning = d.Pump.IsActive; var isRunning = d.Pump.IsActive;
if (plant.Graph.SelectedPaths.Select(p => (Pipeline.Path?)p).FirstOrDefault(p => p?.Start == d.Source && p?.Hops.Last().Node == d.Sink) is Pipeline.Path path) { if (plant.Graph.SelectedPaths.Select(p => (Pipeline.Path?)p).FirstOrDefault(p => p?.Start == d.Source && p?.Hops.Last().Node == d.Sink) is Pipeline.Path path) {
// TODO // TODO
var isReady = path.Hops.All(h => h.Node is not Valve v || v.IsOpen == v.WantOpen); var isReady = path.Hops.All(h => h.Node is not ControlledValve v || v.IsOpen == v.WantOpen);
if (!isReady && d.Pump == Graph.MP1) preparingMP1 = true; if (!isReady && d.Pump == Graph.MP1) preparingMP1 = true;
if (!isReady && d.Pump == Graph.MP2) preparingMP2 = true; if (!isReady && d.Pump == Graph.MP2) preparingMP2 = true;
var isDefault = !path.Hops.SkipLast(1).Any(h => h.Node is not Valve && h.Node is not PipeJoin && h.Node is not Pump && h.Node is not CenterValve); var isDefault = !path.Hops.SkipLast(1).Any(h => h.Node is not Valve && h.Node is not PipeJoin && h.Node is not Pump);
k.SetBacklight(idx, isRunning ? isDefault ? Color.FromRgb(0, 255, 255) : Color.FromRgb(255, 64, 255) : isDefault ? Color.FromRgb(0, 0, 255) : Color.FromRgb(128, 0, 128), !isReady); k.SetBacklight(idx, isRunning ? isDefault ? Color.FromRgb(0, 255, 255) : Color.FromRgb(255, 64, 255) : isDefault ? Color.FromRgb(0, 0, 255) : Color.FromRgb(128, 0, 128), !isReady);
} else { } else {
var isFree = Graph.GetFreePath([d.Source, d.Sink], overrideStart: true) != null; var isFree = Graph.GetFreePath([d.Source, d.Sink], overrideStart: true) != null;
@@ -266,7 +266,7 @@ namespace PamhagenSysCtrl.Helpers {
App.Plant?.CloseV(i); App.Plant?.CloseV(i);
} }
foreach (var p in add) { foreach (var p in add) {
if (p.Hops.Any(h => h.Node is Valve v && v.IsLocked)) continue; if (p.Hops.Any(h => h.Node is ControlledValve v && v.IsLocked)) continue;
Graph.AddPath(p); Graph.AddPath(p);
} }
} }
@@ -278,7 +278,7 @@ namespace PamhagenSysCtrl.Helpers {
foreach (var src in sources) { foreach (var src in sources) {
var paths = new List<Pipeline.Path>(); var paths = new List<Pipeline.Path>();
foreach (var sink in sinks) { foreach (var sink in sinks) {
paths.AddRange(Graph.GetPaths(src, sink, null, (n) => n is not ISink && (n is not Valve v || p.WantValveOpen(v.Nr)))); paths.AddRange(Graph.GetPaths(src, sink, null, (n) => n is not ISink && (n is not ControlledValve v || p.WantValveOpen(v.Nr))));
} }
if (paths.Count == 1) if (paths.Count == 1)
yield return paths.First(); yield return paths.First();