xref: /openbmc/entity-manager/schemas/modbus.json (revision c6379744024ce1d1443a70a74146a50156b827e2)
1*c6379744SJagpal Singh Gill{
2*c6379744SJagpal Singh Gill    "$schema1": "http://json-schema.org/draft-07/schema#",
3*c6379744SJagpal Singh Gill    "$defs": {
4*c6379744SJagpal Singh Gill        "ModbusRTUDetect": {
5*c6379744SJagpal Singh Gill            "additionalProperties": false,
6*c6379744SJagpal Singh Gill            "description": "The definition for the modbus device.",
7*c6379744SJagpal Singh Gill            "type": "object",
8*c6379744SJagpal Singh Gill            "properties": {
9*c6379744SJagpal Singh Gill                "Type": {
10*c6379744SJagpal Singh Gill                    "description": "The type of configuration object.",
11*c6379744SJagpal Singh Gill                    "const": "ModbusRTUDetect"
12*c6379744SJagpal Singh Gill                },
13*c6379744SJagpal Singh Gill                "Name": {
14*c6379744SJagpal Singh Gill                    "description": "The name of the modbus device.",
15*c6379744SJagpal Singh Gill                    "type": "string"
16*c6379744SJagpal Singh Gill                },
17*c6379744SJagpal Singh Gill                "Address": {
18*c6379744SJagpal Singh Gill                    "description": "The address ranges for the modbus device.",
19*c6379744SJagpal Singh Gill                    "type": "array",
20*c6379744SJagpal Singh Gill                    "items": {
21*c6379744SJagpal Singh Gill                        "type": "object",
22*c6379744SJagpal Singh Gill                        "additionalProperties": false,
23*c6379744SJagpal Singh Gill                        "properties": {
24*c6379744SJagpal Singh Gill                            "RangeStart": {
25*c6379744SJagpal Singh Gill                                "description": "The start address for the address range of the modbus device.",
26*c6379744SJagpal Singh Gill                                "type": "number"
27*c6379744SJagpal Singh Gill                            },
28*c6379744SJagpal Singh Gill                            "RangeEnd": {
29*c6379744SJagpal Singh Gill                                "description": "The end address for the address range of the modbus device.",
30*c6379744SJagpal Singh Gill                                "type": "number"
31*c6379744SJagpal Singh Gill                            },
32*c6379744SJagpal Singh Gill                            "SerialPort": {
33*c6379744SJagpal Singh Gill                                "description": "The name of the serial port from SerialPort definition.",
34*c6379744SJagpal Singh Gill                                "type": "string"
35*c6379744SJagpal Singh Gill                            }
36*c6379744SJagpal Singh Gill                        },
37*c6379744SJagpal Singh Gill                        "required": ["RangeStart", "RangeEnd", "SerialPort"]
38*c6379744SJagpal Singh Gill                    }
39*c6379744SJagpal Singh Gill                },
40*c6379744SJagpal Singh Gill                "Registers": {
41*c6379744SJagpal Singh Gill                    "description": "The Modbus register definition.",
42*c6379744SJagpal Singh Gill                    "type": "array",
43*c6379744SJagpal Singh Gill                    "items": {
44*c6379744SJagpal Singh Gill                        "type": "object",
45*c6379744SJagpal Singh Gill                        "additionalProperties": false,
46*c6379744SJagpal Singh Gill                        "properties": {
47*c6379744SJagpal Singh Gill                            "Name": {
48*c6379744SJagpal Singh Gill                                "description": "The name of the register.",
49*c6379744SJagpal Singh Gill                                "enum": [
50*c6379744SJagpal Singh Gill                                    "PartNumber",
51*c6379744SJagpal Singh Gill                                    "SparePartNumber",
52*c6379744SJagpal Singh Gill                                    "SerialNumber",
53*c6379744SJagpal Singh Gill                                    "BuildDate",
54*c6379744SJagpal Singh Gill                                    "Model",
55*c6379744SJagpal Singh Gill                                    "Manufacturer"
56*c6379744SJagpal Singh Gill                                ]
57*c6379744SJagpal Singh Gill                            },
58*c6379744SJagpal Singh Gill                            "Address": {
59*c6379744SJagpal Singh Gill                                "description": "The address of the register.",
60*c6379744SJagpal Singh Gill                                "type": "number"
61*c6379744SJagpal Singh Gill                            },
62*c6379744SJagpal Singh Gill                            "Size": {
63*c6379744SJagpal Singh Gill                                "description": "The size of the register in bytes.",
64*c6379744SJagpal Singh Gill                                "type": "number"
65*c6379744SJagpal Singh Gill                            }
66*c6379744SJagpal Singh Gill                        },
67*c6379744SJagpal Singh Gill                        "required": ["Name", "Address", "Size"]
68*c6379744SJagpal Singh Gill                    }
69*c6379744SJagpal Singh Gill                },
70*c6379744SJagpal Singh Gill                "DataParity": {
71*c6379744SJagpal Singh Gill                    "description": "The parity to use for data transmission.",
72*c6379744SJagpal Singh Gill                    "enum": ["Odd", "Even", "None"]
73*c6379744SJagpal Singh Gill                },
74*c6379744SJagpal Singh Gill                "BaudRate": {
75*c6379744SJagpal Singh Gill                    "description": "The baudrate of the communication channel.",
76*c6379744SJagpal Singh Gill                    "enum": [9600, 19200, 57600, 115200]
77*c6379744SJagpal Singh Gill                }
78*c6379744SJagpal Singh Gill            },
79*c6379744SJagpal Singh Gill            "required": [
80*c6379744SJagpal Singh Gill                "Name",
81*c6379744SJagpal Singh Gill                "Type",
82*c6379744SJagpal Singh Gill                "Address",
83*c6379744SJagpal Singh Gill                "Registers",
84*c6379744SJagpal Singh Gill                "DataParity",
85*c6379744SJagpal Singh Gill                "BaudRate"
86*c6379744SJagpal Singh Gill            ]
87*c6379744SJagpal Singh Gill        }
88*c6379744SJagpal Singh Gill    }
89*c6379744SJagpal Singh Gill}
90