data/method/mavlink/component_metadata/general.schema.json

74 lines
2.9 KiB
JSON

{
"$id": "https://mavlink.io/comp_version.schema.json",
"$schema": "http://json-schema.org/draft-07/schema",
"description": "Schema for COMP_METADATA_TYPE_GENERAL",
"type": "object",
"properties": {
"version": {
"description": "Version number for the format of this file.",
"type": "integer",
"minimum": 1
},
"vendorName": {
"type": "string",
"description": "Name of the component vendor."
},
"modelName": {
"type": "string",
"description": "Name of the component model."
},
"firmwareVersion": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+(\\.\\d+)?$",
"description": "major.minor.patch.dev format"
},
"hardwareVersion": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+(\\.\\d+)?$",
"description": "major.minor.patch.dev format"
},
"metadataTypes": {
"type": "array",
"description": "Which `COMP_METADATA_TYPE` specs are supported, with URI's.",
"items": {
"type": "object",
"properties": {
"type": {
"description": "COMP_METADATA_TYPE",
"type": "integer"
},
"uri": {
"description": "https or MAVLink FTP uri",
"type": "string"
},
"fileCrc": {
"description": "CRC32 checksum of the file. This should not be set for dynamically updated metadata.",
"type": "integer"
},
"uriFallback": {
"description": "Fallback URI when primary is not available",
"type": "string"
},
"fileCrcFallback": {
"description": "CRC32 checksum of the fallback file",
"type": "integer"
},
"translationUri": {
"description": "https or MAVLink FTP url",
"type": "string"
},
"translationUriFallback": {
"description": "Fallback URI when primary translation is not available",
"type": "string"
}
},
"required": [ "type", "uri" ],
"additionalProperties": false
}
}
},
"required": [ "version", "metadataTypes" ],
"additionalProperties": false
}