diff --git a/src/revpi_middleware/ios1/interface_ios.py b/src/revpi_middleware/ios1/interface_ios.py
index f30fefe..2752a35 100644
--- a/src/revpi_middleware/ios1/interface_ios.py
+++ b/src/revpi_middleware/ios1/interface_ios.py
@@ -24,15 +24,33 @@ class InterfaceInput:
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"""
@@ -53,17 +71,16 @@ class InterfaceInput:
self.variant_type = "ay"
def emit_io_change(self):
- if self.interface_name:
- self.PropertiesChanged(
- self.interface_name,
- {
- "value": Variant(
- self.variant_type,
- self.io.get_value() if self._raw else self.io.value,
- ),
- },
- [],
- )
+ self.PropertiesChanged(
+ self.interface_name,
+ {
+ "value": Variant(
+ self.variant_type,
+ self.io.get_value() if self._raw else self.io.value,
+ ),
+ },
+ [],
+ )
def SetByteorder(self, order: str) -> None:
self.byteorder = order
@@ -93,6 +110,15 @@ class InterfaceInput:
self.io._set_byteorder(value)
self.variant_type = get_variant_type(self.io)
+ # Changing the byteorder can change the value, but we do NOT send a signal for that
+ # because the real value of the process image was not changed. But we inform the client
+ # about the changed byteorder property.
+ self.PropertiesChanged(
+ self.interface_name,
+ {},
+ ["byteorder"],
+ )
+
@property
def defaultvalue(self) -> Variant:
return Variant(
@@ -121,6 +147,15 @@ class InterfaceInput:
self.io._set_signed(value)
self.variant_type = get_variant_type(self.io)
+ # Changing the signedness can change the value, but we do NOT send a signal for that
+ # because the real value of the process image was not changed. But we inform the client
+ # about the changed signedness property.
+ self.PropertiesChanged(
+ self.interface_name,
+ {},
+ ["signed"],
+ )
+
@property
def value(self) -> Variant:
if not self.io._parentdevice._selfupdate:
@@ -145,15 +180,33 @@ class InterfaceOutput(InterfaceInput):
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"""