Skip to content

Commit a87d3f6

Browse files
committed
Clarify rejection of register writes
1 parent 21fa114 commit a87d3f6

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

BinaryProtocol-8bit.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,11 +215,15 @@ The [`Error`](#error-flag-1-bit) flag in the [`MessageType`](#messagetype-1-byte
215215
4. The length of the payload does not match the register specification;
216216
5. The Controller tries to write data which is outside the allowable range of register values.
217217

218-
Requests which require prior configuration of multiple registers (e.g. starting a pulse train, moving a motor), or requests which are invalid due to particular combinations of other register values, SHOULD NOT be handled by sending an error reply.
218+
Requests which require prior configuration of multiple registers (e.g. starting a pulse train, moving a motor), or requests which are invalid due to particular combinations of other register values, SHOULD NOT be handled by sending an error reply to a write request from the Controller.
219219

220-
Instead, such cases MAY be handled by sending an event message from a different register. Alternatively, an allowed value MAY be inferred and set, in which case the reply to the request MUST contain the actual register value which was set.
220+
Instead, such cases MAY be handled by sending an event message from a different register. Alternatively, an allowed value MAY be set by the Device, in which case the reply to the request MUST contain the actual register value which was set.
221221

222-
If an event message is sent from a register in response to a request sent to a different register, the documentation for the event register SHOULD clearly indicate which cases will raise the event, including specific combinations of values leading to error.
222+
> [!NOTE]
223+
>
224+
> A Device MAY reject a change to the register value. In this case, a reply to the write request MUST still be sent, containing the current register value.
225+
226+
If an event message is sent from a register in response to a write request sent to a different register, the documentation for the register sending the event SHOULD clearly indicate which cases will raise the event, including specific combinations of values leading to error.
223227

224228
### Message Exchange Examples
225229

0 commit comments

Comments
 (0)