Legrand / Raritan / Server Technology Xerus™ PDU JSON-RPC API
SensorHub.idl
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3  * Copyright 2020 Raritan Inc. All rights reserved.
4  */
5 
6 #ifndef __PERIPHERAL_SENSORHUB_IDL__
7 #define __PERIPHERAL_SENSORHUB_IDL__
8 
9 #include <UserEvent.idl>
10 #include <PortFuse.idl>
11 #include <PeripheralDevicePackage.idl>
12 #include <PeripheralDeviceSlot.idl>
13 
14 /**
15  * Peripheral Devices
16  */
17 module peripheral {
18 
19  /** Sensor Hub interface */
20  interface SensorHub {
21 
22  /** peripheral device hw configuration */
23  enumeration UpstreamType {
24  BUILTIN, ///< a built in hardware
25  ENV_HUB, ///< a not galvanically isolated environmental hub with reduced fuse capability
26  REMOTE_HUB ///< a galvanically isolated remote hub with full fuse capability
27  };
28 
29  /**
30  * Information for a single hub Port
31  */
32  structure HubPortInfo {
33  string hubPort; ///< Sensor hub port a peripheral device is connected to
34  portsmodel.PortFuse fuse; ///< Reference to the port fuse
35  };
36 
37  /**
38  * Static (type, version) information for a %SensorHub.
39  */
40  structure DeviceInfo {
41  string serial; ///< Serial number of device
42  string model; ///< Model name of device
43  UpstreamType upstreamType; ///< Hardware type (indicated a certain upstream type)
44  PosElement position; ///< Peripheral device position element, list forms position
45  int protocolVersion; ///< Protocol version the hub is supporting
46  int bootVersion; ///< Bootcode software version
47  int appVersion; ///< Application code software version
48  vector<HubPortInfo> hubPortInfos; ///< Information about contained hub ports
49  };
50 
51  /**
52  * Get static (hardware and firmware) information
53  *
54  * @return Result: hardware and firmware information
55  */
57 
58  /**
59  * Retrieve hub package information
60  *
61  * @return package information
62  */
64  };
65 }
66 
67 #endif /* __PERIPHERAL_SENSORHUB_IDL__ */
Sensor Hub interface.
Definition: SensorHub.idl:20
UpstreamType
peripheral device hw configuration
Definition: SensorHub.idl:23
@ ENV_HUB
a not galvanically isolated environmental hub with reduced fuse capability
Definition: SensorHub.idl:25
@ BUILTIN
a built in hardware
Definition: SensorHub.idl:24
PackageInfo getPackageInfo()
Retrieve hub package information.
DeviceInfo getDeviceInfo()
Get static (hardware and firmware) information.
Interface describing a controllable fuse for a device port.
Definition: PortFuse.idl:17
Peripheral Devices.
Definition: GatewaySensorManager.idl:17
Ports.
Definition: Port.idl:15
Peripheral device package information.
Definition: PeripheralDevicePackage.idl:14
peripheral device position element, list forms position
Definition: PeripheralDeviceSlot.idl:30
Static (type, version) information for a SensorHub.
Definition: SensorHub.idl:40
int bootVersion
Bootcode software version.
Definition: SensorHub.idl:46
string serial
Serial number of device.
Definition: SensorHub.idl:41
UpstreamType upstreamType
Hardware type (indicated a certain upstream type)
Definition: SensorHub.idl:43
int protocolVersion
Protocol version the hub is supporting.
Definition: SensorHub.idl:45
PosElement position
Peripheral device position element, list forms position.
Definition: SensorHub.idl:44
vector< HubPortInfo > hubPortInfos
Information about contained hub ports.
Definition: SensorHub.idl:48
string model
Model name of device.
Definition: SensorHub.idl:42
int appVersion
Application code software version.
Definition: SensorHub.idl:47
Information for a single hub Port.
Definition: SensorHub.idl:32
string hubPort
Sensor hub port a peripheral device is connected to.
Definition: SensorHub.idl:33
portsmodel::PortFuse fuse
Reference to the port fuse.
Definition: SensorHub.idl:34