Files
OpenCellular/firmware/utilities/schema/meta_sys_schema_d4.json
2018-11-19 22:08:04 -05:00

99 lines
3.2 KiB
JSON

{
"$schema": "http://json-schema.org/draft-04/schema#",
"title" : "OC-SDR schema",
"description" : "OC-SDR system specification",
"type": "array",
"items": {
"$ref": "#/definitions/Subsystem"
},
"definitions": {
"Subsystem": {
"title": "Subsystem",
"type": "object",
"properties": {
"name": {"type": "string"},
"components": {
"type": "array",
"items": {
"$ref": "#/definitions/Component"
}
},
"driver_cfg": {"type": "string"},
"ssHookSet" : {
"type" : "object",
"items" : {
"$ref": "#/definitions/SsHookSet"
}
}
},
"required": ["name", "components"],
"additionalProperties" : false
},
"Component": {
"title" : "Component",
"type": "object",
"properties": {
"name": {"type": "string"},
"components": {
"type": "array",
"items": {
"$ref": "#/definitions/Subcomponent"
}
},
"driver": {"type": "string"},
"driver_cfg": {"type": "string"},
"factory_config": {"type": "string"},
"commands": {
"type": "array",
"items": {
"$ref": "#/definitions/Command"
}
},
"ssHookSet" : {
"type" : "object",
"items" : {
"$ref": "#/definitions/SsHookSet"
}
},
"postDisabled": {"type" : "string"},
"ss" : {"type" : "string"}
},
"required": ["name"],
"additionalProperties" : false
},
"Subcomponent" : {
"title" : "Subcomponent",
"type" : "object",
"properties": {
"name" : {"type" : "string"},
"driver" : {"type" : "string"},
"driver_cfg" : {"type" : "string"},
"postDisabled" : {"type" : "string"},
"factory_config" : {"type" : "string"}
},
"required" : ["name"],
"additionalProperties" : false
},
"Command" : {
"title" : "Command",
"type" : "object",
"properties" : {
"name": {"type" : "string"},
"parameters" : {"type" : "string"},
"cb_cmd" : {"type" : "string"}
},
"required" : ["name"],
"additionalProperties" : false
},
"SsHookSet" : {
"title" : "SSHookSet",
"type" : "object",
"properties" : {
"preInitFxn": {"type" : "string"},
"postInitFxn" : {"type" : "string"}
},
"required" : ["preInitFxn", "postInitFxn"],
"additionalProperties" : false
}
}
}