From 532b5b72119c20a107a2df4bbb801084e85f5357 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Mon, 15 Dec 2025 11:45:55 +0100 Subject: [PATCH] read coils 6 --- src/ProcessImage.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ProcessImage.py b/src/ProcessImage.py index 50dc546..50d91fb 100644 --- a/src/ProcessImage.py +++ b/src/ProcessImage.py @@ -16,6 +16,8 @@ class ProcessImage(Condition): self.numCoils = numCoils self.coils = [] self.shadowCoils = [ None ] * numCoils + self.readCoils = [ None ] * numCoils + self.readShadowCoils = [ None ] * numCoils self.numDiscreteInputs = numDiscreteInputs self.discreteInputs = [] @@ -31,7 +33,7 @@ class ProcessImage(Condition): return self.initialized def hasPendingInputChanges(self): - return (self.discreteInputs != self.shadowDiscreteInputs) or (self.analogInputs != self.shadowAnalogInputs) + return (self.discreteInputs != self.shadowDiscreteInputs) or (self.analogInputs != self.shadowAnalogInputs) or (self.readCoils != self.readShadowCoils) def hasPendingOutputChanges(self): return self.shadowCoils != self.coils @@ -56,7 +58,9 @@ class ProcessImage(Condition): def setCoils(self, coils): if not self.initialized: raise NotInitializedException - self.coils = coils + self.readCoils = coils + if self.coils == []: + self.coils = coils def setCoil(self, coilNum, value): if not self.initialized: @@ -67,8 +71,8 @@ class ProcessImage(Condition): def getChangedCoils(self): if not self.initialized: raise NotInitializedException - changedCoils = zippingFilter(self.coils, self.shadowCoils) -# self.shadowCoils = self.coils + changedCoils = zippingFilter(self.coils, self.readCoils) + self.readShadowCoils = self.coils return changedCoils def getCoils(self):