{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "O3D3xx device configuration",
    "type": "object",
    "properties": {
        "Name": {
            "type": "string",
            "maxLength": 64,
            "default": "New sensor"
        },
        "Description": {
            "type": "string",
            "maxLength": 500
        },
        "ActiveApplication": {
            "type": "integer",
            "minimum": 0,
            "maximum": 32,
            "default": 1
        },
        "PcicTcpPort": {
            "type": "integer",
            "minimum": 1024,
            "maximum": 65535,
            "not": {
                "enum": [
                    6379,
                    6380,
                    43215
                ]
            },
            "default": 50010
        },
        "PcicProtocolVersion": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4,
            "default": 3
        },
        "IOLogicType": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1,
            "default": 1
        },
        "IODebouncing": {
            "type": "boolean",
            "default": true
        },
        "IOExternApplicationSwitch": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4,
            "default": 0
        },
        "EvaluationFinishedMinHoldTime": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "default": 10
        },
        "SessionTimeout": {
            "type": "integer",
            "minimum": 5,
            "maximum": 300,
            "default": 30
        },
        "ServiceReportPassedBuffer": {
            "type": "integer",
            "minimum": 1,
            "maximum": 15,
            "default": 15
        },
        "ServiceReportFailedBuffer": {
            "type": "integer",
            "minimum": 1,
            "maximum": 15,
            "default": 15
        },
        "SaveRestoreStatsOnApplSwitch": {
            "type": "boolean",
            "default": true
        },
        "ExtrinsicCalibTransX": {
            "type": "number",
            "default": 0
        },
        "ExtrinsicCalibTransY": {
            "type": "number",
            "default": 0
        },
        "ExtrinsicCalibTransZ": {
            "type": "number",
            "default": 0
        },
        "ExtrinsicCalibRotX": {
            "type": "number",
            "default": 0
        },
        "ExtrinsicCalibRotY": {
            "type": "number",
            "default": 0
        },
        "ExtrinsicCalibRotZ": {
            "type": "number",
            "default": 0
        },
        "MaxLEDDutyCycle": {
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "default": 0.5,
            "attributes": [
                "private",
                "noexport"
            ]
        },
        "IPAddressConfig": {
            "type": "integer",
            "minValue": 0,
            "maxValue": 4,
            "attributes": [
                "readonly"
            ]
        },
        "PasswordActivated": {
            "type": "boolean",
            "attributes": [
                "readonly"
            ]
        },
        "OperatingMode": {
            "type": "integer",
            "minValue": 0,
            "maxValue": 1,
            "attributes": [
                "readonly"
            ]
        },
        "DeviceType": {
            "type": "string",
            "attributes": [
                "readonly"
            ]
        },
        "ArticleNumber": {
            "type": "string",
            "maxLength": 6,
            "attributes": [
                "readonly"
            ]
        },
        "ArticleStatus": {
            "type": "string",
            "maxLength": 2,
            "attributes": [
                "readonly"
            ]
        },
        "UpTime": {
            "type": "number",
            "attributes": [
                "readonly"
            ]
        },
        "ImageTimestampReference": {
            "type": "integer",
            "attributes": [
                "readonly"
            ]
        },
        "TemperatureFront1": {
            "type": "number",
            "attributes": [
                "readonly"
            ]
        },
        "TemperatureFront2": {
            "type": "number",
            "attributes": [
                "readonly"
            ]
        },
        "TemperatureIMX6": {
            "type": "number",
            "attributes": [
                "readonly"
            ]
        },
        "TemperatureIllu": {
            "type": "number",
            "attributes": [
                "readonly"
            ]
        },
        "PasswordHash": {
            "type": "string",
            "default": "",
            "attributes": [
                "private"
            ]
        },
        "PNIODeviceName": {
            "type": "string",
            "maxLength": 127,
            "default": ""
        },
        "EthernetFieldBus": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2,
            "default": 1
        },
        "EthernetFieldBusEndianness": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1,
            "default": 0
        }
    },
    "required": [
        "Name",
        "Description",
        "ActiveApplication",
        "PcicTcpPort",
        "PcicProtocolVersion",
        "IOLogicType",
        "IODebouncing",
        "IOExternApplicationSwitch",
        "SessionTimeout",
        "ExtrinsicCalibTransX",
        "ExtrinsicCalibTransY",
        "ExtrinsicCalibTransZ",
        "ExtrinsicCalibRotX",
        "ExtrinsicCalibRotY",
        "ExtrinsicCalibRotZ",
        "DeviceType",
        "ArticleNumber",
        "ArticleStatus",
        "PasswordHash"
    ]
}