Fehler bei NetIO im Hash load beseitigt

Core IOs geben keine Fehler mehr, wenn ein delay event draufgelegt wird
Core IOs können nicht mehr überschrieben werden, wenn .value vergessen wrid
This commit is contained in:
2019-08-31 09:07:24 +02:00
parent 2cf0514f64
commit 7c279a71a1
4 changed files with 55 additions and 14 deletions

View File

@@ -494,6 +494,16 @@ class Core(Base):
"_slc_temperature", "_slc_errorlimit1", "_slc_errorlimit2", \
"_slc_frequency", "_slc_led", "a1green", "a1red", "a2green", "a2red"
def __setattr__(self, key, value):
"""Verhindert Ueberschreibung der LEDs."""
if hasattr(self, key) and key in (
"a1green", "a1red", "a2green", "a2red"):
raise AttributeError(
"direct assignment is not supported - use .value Attribute"
)
else:
object.__setattr__(self, key, value)
def _devconfigure(self):
"""Core-Klasse vorbereiten."""
@@ -767,6 +777,17 @@ class Connect(Core):
__slots__ = "__evt_wdtoggle", "__th_wdtoggle", "a3green", "a3red", "wd", \
"x2in", "x2out"
def __setattr__(self, key, value):
"""Verhindert Ueberschreibung der LEDs."""
if hasattr(self, key) and key in (
"a1green", "a1red", "a2green", "a2red", "a3green", "a3red",
"wd", "x2in", "x2out"):
raise AttributeError(
"direct assignment is not supported - use .value Attribute"
)
else:
object.__setattr__(self, key, value)
def __wdtoggle(self):
"""WD Ausgang alle 10 Sekunden automatisch toggeln."""
while not self.__evt_wdtoggle.wait(10):