diff --git a/src/revpi_middleware/ios1/interface_ios.py b/src/revpi_middleware/ios1/interface_ios.py index a02d2ab..8711ec5 100644 --- a/src/revpi_middleware/ios1/interface_ios.py +++ b/src/revpi_middleware/ios1/interface_ios.py @@ -140,6 +140,8 @@ class InterfaceInpInt(DbusInterfaceIo): + + @@ -158,6 +160,19 @@ class InterfaceInpInt(DbusInterfaceIo): def byteorder(self, value: str) -> None: self.io.byteorder = value + @property + def min_value(self) -> int: + if self.io.signed: + return -(1 << (self.io.length * 8 - 1)) + return 0 + + @property + def max_value(self) -> int: + bit_length = self.io.length * 8 + if self.io.signed: + return (1 << (bit_length - 1)) - 1 + return (1 << bit_length) - 1 + @property def signed(self) -> bool: return self.io.signed @@ -180,6 +195,8 @@ class InterfaceOutInt(InterfaceInpInt): + +