diff --git a/protocol/specification/accessibles.rst b/protocol/specification/accessibles.rst index b0c4676a..7d6c091b 100644 --- a/protocol/specification/accessibles.rst +++ b/protocol/specification/accessibles.rst @@ -407,15 +407,28 @@ or by a single ``_limits`` parameter. | :issue:`077 predefined parameter name prefixes` -Feature related parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. _offset: +Offset +~~~~~~ .. parameter:: offset - A storage for an offset to be applied when converting SECoP values to ECS - values. See feature `HasOffset`. + If this parameter is present it indicates the difference between a raw value + and the main value of a SECoP module. If this parameter is not readonly, + it allows to adjust the parameter ``value`` and possibly other parameters + related to it, like ``target``. + + Definition: + + | ``offset`` = raw value - ``value`` + + + When a SEC node receives a ``change`` message for an ``offset``, an activated + client must receive the ``update`` message for the ``value`` before the + ``changed`` message is replied to the client. + + Whether other parameters like ``target_min``, ``target_max`` or ``target_limits`` + are also changed accordingly is implementation dependent. When they are changed, + this also must happen before the ``changed`` message is sent back. Communication diff --git a/protocol/specification/classes.rst b/protocol/specification/classes.rst index a25f4441..5a06bd6b 100644 --- a/protocol/specification/classes.rst +++ b/protocol/specification/classes.rst @@ -190,22 +190,4 @@ and/or module properties to be present. However, it is not only a list of mandatory or optional elements, but also indicates to the ECS that it may handle this functionality in a specific way. -.. feature:: HasOffset - - This feature indicates that the `value` and `target` parameters of a - module represent raw values, which need to be corrected by an offset. A - module with the feature `HasOffset` must have a parameter `offset`, - which indicates to all clients that the transmitted raw values for the - parameters `value` and `target` are to be converted to corrected values - (on the client side) by the following formulas: - - For reading the parameters `value` and `target`: - - | corrected value (client) = value (transmitted) + offset - | corrected target (client) = target (transmitted) + offset - - For changing the parameter `target`: - - | target (transmitted) = corrected target (client) - offset - - Mandatory parameter: `offset` +Currently no features are specified yet.