@@ -12,9 +12,9 @@ to pinpoint the exact meaning of the data to be described.
1212SECoP defines some basic data types for numeric quantities, like double _,
1313scaled _ and int _. An enum _ is defined for convenience of not having to remember
1414the meaning of values from a reduced set. A bool _ datatype is similar to a
15- predefined Enum , but uses the JSON values true and false. For non-numeric
16- types, a string _ and a blob _ are defined as well. Finally, matrix _ can
17- transport larger multi-dimensional homogeneous arrays.
15+ predefined enum , but uses the JSON values `` true `` and `` false `` . For
16+ non-numeric types, a string _ and a blob _ are defined as well. Finally, matrix _
17+ can transport larger multi-dimensional homogeneous arrays.
1818
1919Furthermore, SECoP not only defines basic data types, but also structured
2020datatypes. tuple _ allows aggregation of a fixed amount of values with different
@@ -69,6 +69,18 @@ Related issue: :issue:`042 Requirements of datatypes`
6969``"max" ``
7070 Upper limit. If ``max `` is omitted, there is no upper limit.
7171
72+ .. note ::
73+
74+ When a SEC Node receives a ``"change" `` or ``"do" `` message with a value
75+ outside the allowed range [``"min" ``, ``"max" ``], it MUST reply with an
76+ error message. For readonly parameters, [``"min" ``, ``"max" ``] indicate a
77+ trusted range. A SEC-Node might send ``"update" `` or ``"reply" `` messages
78+ with values outside the trusted range, for example when the value is an
79+ extrapolation of the calibrated range. The idea behind this relaxed rule is,
80+ that it is better for a SEC-node to send an acquired value outside the range
81+ as it is - rather than change its value just to comply with the specified
82+ range. The decision, how to treat such values is left to the ECS.
83+
7284``"unit" ``
7385 String giving the unit of the parameter.
7486
@@ -138,11 +150,13 @@ Related issue: :issue:`044 Scaled integers`
138150``"min" ``, ``"max" ``
139151 The limits of the transported integer, ``min <= max ``. The limits of the
140152 represented floating point value are ``min*scale `` and ``max*scale ``.
153+ See also the note on the ``"min" `` and ``"max" `` properties of the
154+ :ref: `float ` datatype.
141155
142156.. rubric :: Optional data properties
143157
144158``"unit" ``
145- String giving the unit of the paramete , as for double _.
159+ String giving the unit of the parameter , as for double _.
146160
147161``"absolute_resolution" ``
148162 A JSON number specifying the smallest difference between distinct values.
@@ -189,6 +203,8 @@ with 32bit float too.
189203
190204``"min" ``, ``"max" ``
191205 Integer limits, ``<min> `` <= ``<max> ``.
206+ See also the note on the ``"min" `` and ``"max" `` properties of the
207+ :ref: `float ` datatype.
192208
193209.. rubric :: Optional data properties
194210
@@ -235,7 +251,7 @@ Datatype to be used for values that can only have a set of predefined values.
235251.. rubric :: Mandatory data property
236252
237253``"members" ``
238- A JSON object giving all possible values: ``{<name>: <value>, .... } ``
254+ A JSON object giving all possible values: ``{<name>: <value>, ...} ``
239255
240256 ``name ``\ s are strings, ``value ``\ s are (preferably small) integers. Both
241257 ``name ``\ s and ``value ``\ s MUST be unique within an enum.
@@ -248,7 +264,7 @@ Datatype to be used for values that can only have a set of predefined values.
248264
249265 .. rubric :: Transport
250266
251- As a JSON- number. The client may perform a mapping back to the name.
267+ As a JSON number. The client may perform a mapping back to the name.
252268
253269Example: ``200 ``
254270
@@ -391,10 +407,10 @@ value.
391407``"optional" ``
392408 A JSON list giving the names of optional struct elements.
393409
394- In ' change' and 'do' commands, the ECS might omit these elements, all other
395- elements must be given. The effect of a ' change' action with omitted
410+ In ` change ` and ` do ` commands, the ECS might omit these elements, all other
411+ elements must be given. The effect of a ` change ` action with omitted
396412 elements should be the same as if the current values of these elements would
397- have been sent with it. The effect of a 'do' action with omitted elements
413+ have been sent with it. The effect of a ` do ` action with omitted elements
398414 is defined by the implementation.
399415
400416 In all other messages (i.e. in replies and updates), all elements have to be
0 commit comments