Raritan / Server Technology Xerus™ PDU JSON-RPC API: SensorHub.idl Source File

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 */
56 DeviceInfo getDeviceInfo();
57
58 /**
59 * Retrieve hub package information
60 *
61 * @return package information
62 */
63 PackageInfo getPackageInfo();
64 };
65 }
66
67 #endif /* __PERIPHERAL_SENSORHUB_IDL__ */
peripheral::SensorHub
Sensor Hub interface.
Definition: SensorHub.idl:20
peripheral::SensorHub::UpstreamType
UpstreamType
peripheral device hw configuration
Definition: SensorHub.idl:23
peripheral::SensorHub::ENV_HUB
@ ENV_HUB
a not galvanically isolated environmental hub with reduced fuse capability
Definition: SensorHub.idl:25
peripheral::SensorHub::BUILTIN
@ BUILTIN
a built in hardware
Definition: SensorHub.idl:24
peripheral::SensorHub::getPackageInfo
PackageInfo getPackageInfo()
Retrieve hub package information.
peripheral::SensorHub::getDeviceInfo
DeviceInfo getDeviceInfo()
Get static (hardware and firmware) information.
portsmodel::PortFuse
Interface describing a controllable fuse for a device port.
Definition: PortFuse.idl:17
peripheral
Peripheral Devices.
Definition: GatewaySensorManager.idl:17
portsmodel
Ports.
Definition: Port.idl:15
peripheral::PackageInfo
Peripheral device package information.
Definition: PeripheralDevicePackage.idl:14
peripheral::PosElement
peripheral device position element, list forms position
Definition: PeripheralDeviceSlot.idl:30
peripheral::SensorHub::DeviceInfo
Static (type, version) information for a SensorHub.
Definition: SensorHub.idl:40
peripheral::SensorHub::DeviceInfo::bootVersion
int bootVersion
Bootcode software version.
Definition: SensorHub.idl:46
peripheral::SensorHub::DeviceInfo::serial
string serial
Serial number of device.
Definition: SensorHub.idl:41
peripheral::SensorHub::DeviceInfo::upstreamType
UpstreamType upstreamType
Hardware type (indicated a certain upstream type)
Definition: SensorHub.idl:43
peripheral::SensorHub::DeviceInfo::protocolVersion
int protocolVersion
Protocol version the hub is supporting.
Definition: SensorHub.idl:45
peripheral::SensorHub::DeviceInfo::position
PosElement position
Peripheral device position element, list forms position.
Definition: SensorHub.idl:44
peripheral::SensorHub::DeviceInfo::hubPortInfos
vector< HubPortInfo > hubPortInfos
Information about contained hub ports.
Definition: SensorHub.idl:48
peripheral::SensorHub::DeviceInfo::model
string model
Model name of device.
Definition: SensorHub.idl:42
peripheral::SensorHub::DeviceInfo::appVersion
int appVersion
Application code software version.
Definition: SensorHub.idl:47
peripheral::SensorHub::HubPortInfo
Information for a single hub Port.
Definition: SensorHub.idl:32
peripheral::SensorHub::HubPortInfo::hubPort
string hubPort
Sensor hub port a peripheral device is connected to.
Definition: SensorHub.idl:33
peripheral::SensorHub::HubPortInfo::fuse
portsmodel::PortFuse fuse
Reference to the port fuse.
Definition: SensorHub.idl:34