roboglia.base.RegisterWithThreshold¶
-
class
RegisterWithThreshold
(factor=1.0, threshold=None, **kwargs)[source]¶ Bases:
roboglia.base.register.BaseRegister
A register with an external representation that is represented by a threshold between negative and positive values:
if internal >= threshold: external = (internal - threshold) / factor else: external = - internal / factor and for conversion from external to internal: if external >= 0: internal = external * factor + threshold else: internal = - external * factor
The
RegisterWithThreshold
inherits all the paramters fromBaseRegister
and in addition includes the following specific parameters that are used when converting the data from internal to external format.- Parameters
factor (float) – A factor used for conversion. Defaults to 1.0
threshold (int) – A threshold that separates the positive from negative values. Must be supplied.
Raises – KeyError: if any of the mandatory fields are not proviced ValueError: if value provided are wrong or the wrong type
-
__init__
(factor=1.0, threshold=None, **kwargs)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
property
factor
¶ Conversion factor.
-
property
threshold
¶ The threshold for conversion.
-
value_to_external
(value)[source]¶ The external representation of the register’s value.
Performs the translation of the value according to:
if value < threshold: external = value / factor else: external = (threshold - value) / factor
-
__str__
()¶ Representation of the register [name]: value.
-
property
access
¶ Register’s access mode.
-
property
address
¶ The register’s address in the device.
-
property
clone
¶ Indicates the register is a clone of another.
-
property
default
¶ The register’s default value in internal format.
-
property
device
¶ The device the register belongs to.
-
property
int_value
¶ Internal value of register, if a clone return the value of the main register.
-
property
max_ext
¶ The register’s maximum value in external format.
-
property
maxim
¶ The register’s maximum value in internal format.
-
property
min_ext
¶ The register’s minimum value in external format.
-
property
minim
¶ The register’s minimum value in internal format.
-
property
name
¶ Register’s name.
-
property
order
¶ Indicates the order of the data representartion; low-high (LH) or high-low (HL)
-
property
range
¶ Tuple with (minim, maxim) values in internal format.
-
property
range_ext
¶ Tuple with (minim, maxim) values in external format.
-
read
()¶ Performs the actual reading of the internal value of the register from the device. Calls the device’s method to read the value of register.
-
property
size
¶ The regster’s size in Bytes.
-
property
sync
¶ Register is subject to a sync loop update.
-
property
value
¶ Provides the value of the register in external format. If the register is not marked for
sync
then it requests the device to perform aread
in order to refresh the content of the register.- Returns
The value of the register in the external format. It invokes
value_to_external()
which can be overridden by subclasses to provide different representations of the register’s value (hence theany
return type).- Return type
any
-
value_to_internal
(value)[source]¶ The internal representation of the register’s value.
Performs the translation of the value according to:
if value > 0: internal = value * factor else: internal = (-value) * factor + threshold
-
property
word
¶ Indicates if the register is an 16 bit register (
True
) or an 8 bit register.
-
write
()¶ Performs the actual writing of the internal value of the register to the device. Calls the device’s method to write the value of register.