doc: fix format.
Change-Id: I13b33706ba160b0402eb2a06323e9cd74179fc72
This commit is contained in:
@ -54,6 +54,9 @@ Siehe auch diskussion im HZB-wiki hierzu....
|
||||
verwirrend....
|
||||
|
||||
vorerst folgende Festlegung:
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
{"equipment_id": "cryo_7",
|
||||
"firmware": "The SECoP playground",
|
||||
"modules": ["cryo", {"commands": ["stop", {"resulttype": "None",
|
||||
@ -88,3 +91,4 @@ vorerst folgende Festlegung:
|
||||
"version": "2017.01"
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@ On change-requests the parameter is assumed to be 'target', on trigger-requests
|
||||
Clients should not rely on this and explicitly state the parametername!
|
||||
|
||||
All names and keywords are defined to be identifiers in the sense, that they are not longer than 63 characters and consist only of letters, digits and underscore and do not start with a digit. (i.e. T_9 is ok, whereas t{9} is not!)
|
||||
No rule is without exception, there is exactly ONE special case: the identify request consists of the literal string '*IDN?\\n' and its answer is formatted like an valid SCPI response for *IDN?.
|
||||
No rule is without exception, there is exactly ONE special case: the identify request consists of the literal string '\*IDN?\\n' and its answer is formatted like an valid SCPI response for \*IDN?.
|
||||
|
||||
We rely on the underlying transport to not split messages, i.e. all messages are transported as a whole and no message interrupts another.
|
||||
|
||||
@ -59,7 +59,7 @@ Allowed combinations as examples:
|
||||
Identify
|
||||
--------
|
||||
|
||||
* Request: type A: '*IDN?'
|
||||
* Request: type A: '\*IDN?'
|
||||
* Reply: special: 'SECoP, SECoPTCP, V2016-11-30, rc1'
|
||||
* queries if SECoP protocol is supported and which version it is
|
||||
Format is intentionally choosen to be compatible to SCPI (for this query only).
|
||||
@ -140,10 +140,12 @@ Events can be emitted any time from the SEC-node (except if they would interrupt
|
||||
* Reply: type C: 'event <module>:<param> JSON_VALUE'
|
||||
* Informs the client that a parameter got changed its value.
|
||||
In any case the JSON_value contain the available qualifiers as well:
|
||||
|
||||
* "t" for the timestamp of the event.
|
||||
* "e" for the error of the value.
|
||||
* "u" for the unit of the value, if deviating from the descriptive data
|
||||
* further qualifiers, if needed, may be specified.
|
||||
|
||||
The qualifiers are a dictionary at position 2 of a list, where the value occupies position 1.
|
||||
This holds true also for complex datatypes (of value)!
|
||||
|
||||
@ -160,6 +162,7 @@ ERROR
|
||||
* Request: None. can only be a reply if some request fails.
|
||||
* Reply: type C: 'ERROR <errorclass> JSON_additional_stuff'
|
||||
* Following <errorclass> are defined so far:
|
||||
|
||||
* NoSuchDevice: The action can not be performed as the specified device is non-existent.
|
||||
* NoSuchParameter: The action can not be performed as the specified parameter is non-existent.
|
||||
* NoSuchCommand: The specified command does not exist.
|
||||
@ -173,6 +176,7 @@ ERROR
|
||||
* Disabled: The requested action can not be performed at the moment. (Interlocks?)
|
||||
* SyntaxError: A malformed Request was send
|
||||
* InternalError: Something that should never happen just happened.
|
||||
|
||||
The JSON part should reference the offending request and give an explanatory string.
|
||||
|
||||
examples:
|
||||
@ -186,7 +190,7 @@ Examples
|
||||
--------
|
||||
|
||||
(client connects):
|
||||
(client) '*IDN?'
|
||||
(client) '\*IDN?'
|
||||
(SEC-node) 'Sine2020WP7.1&ISSE, SECoP, V2016-11-30, rc1'
|
||||
(client) 'describe'
|
||||
(SEC-node) 'describing SECoP_Testing {"modules":{"T1":{"baseclass":"Readable", ...
|
||||
|
Reference in New Issue
Block a user