frappy/doc/json_structure.md
Enrico Faulhaber 4e9f7e3eec update docs
- to reflect last Meeting
- to work on json structure

Change-Id: I2ec0eb86958d75b30a8e5d034202136644b675d8
2017-07-07 22:28:45 +02:00

3.3 KiB

Mit JSON Freeze meine ich nur Arrays von Objekten also: -Node hat ein Array von Properties und ein Array von Modulen -Module haben ein Array von Properties, ein Array von Parametern und ein Array von Commands -Parameter und Commands haben jeweils ein Array von Properties

node = { 'properties' : [], 'modules' : [] }

module = { 'properties' : [], 'parameter' : [], 'commands' : [] }

parameter = { 'properties' : [] }

commands = { 'properties' : [] }

property = { 'property-name' : 'property-value' }

ODER

node = [ <array_of_properties>, <array_of_modules> ]

array_of_modules = [ , ... ]

module = <array_of_properties>, <array_of_params>, <array_of_commands> #OR# module = [<array_of_properties>, <array_of_params>, <array_of_commands>]

array_of_params = [ , ...]

param = <array_of_properties>

array_of_commands = [ , ...]

command = < array_of_properties>

array_of_properties = [ , ...]

property = 'name', 'value' #OR# property = ['name', 'value'] #OR# property = {'name' : 'value'}

Oder ganz anders?

Siehe auch diskussion im HZB-wiki hierzu....

verwirrend....

vorerst folgende Festlegung: {"equipment_id": "cryo_7", "firmware": "The SECoP playground", "modules": ["cryo", {"commands": ["stop", {"resulttype": "None", "arguments": "[]", "description": "Testing command implementation\n\nwait a second" }, "start", {"resulttype": "None", "arguments": "[]", "description": "normally does nothing,\n\nbut there may be modules which start the action here\n" } ], "group": "very important/stuff", "implementation": "secop.devices.cryo.Cryostat", "interfaces": ["Driveable", "Readable", "Device"], "parameters": ["status", {"readonly": true, "datatype": ["tuple", ["enum", {"unknown":-1,"idle":100, "warn":200, "unstable":250, "busy":300,"error":400}], "string"], "description": "current status of the device" }, "value", {"readonly": true, "datatype": ["double",0,null], "description": "regulation temperature", "unit": "K" }, "target", {"readonly": false, "datatype": ["double",0,null], "description": "target temperature", "unit": "K" } ] } ], "version": "2017.01" }