Raritan PX2/PX3 JSON-RPC API
Bcm.idl
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3  * Copyright 2011 Raritan Inc. All rights reserved.
4  */
5 
6 #ifndef __PDUMODEL_BCM_IDL__
7 #define __PDUMODEL_BCM_IDL__
8 
9 #include <Pole.idl>
10 
11 /** PDU Model */
12 module pdumodel {
13 
14  /** Branch Circuit Monitor */
15  interface Bcm {
16 
17  /** Power Line Configuration */
18  enumeration LineConfig {
19  UNCONNECTED, ///< Not connected
20  L1_N, ///< L1-Neutral
21  L2_N, ///< L2-Neutral
22  L3_N ///< L3-Neutral
23  };
24 
25  /** Current Transformer Type */
26  enumeration TransformerType {
27  VOLTAGE, ///< Voltage-type transformer
28  TURNSRATIO ///< Turns ratio transformer
29  };
30 
31  /** Phase Configuration */
32  structure PhaseConfig {
33  LineConfig lineConfig; ///< Power line configuration
34  TransformerType ctType; ///< Current transformer type
35  int fsCurrent; ///< Full-scale current (voltage-type transformer)
36  int fsVoltage; ///< Full-scale voltage (voltage-type transformer)
37  int turnsRatio; ///< Turns ratio (turns ratio transformer)
38  int burdenResistor; ///< Burden resistor (turns ratio transformer)
39  };
40 
41  /** Channel Configuration */
42  structure ChannelConfig {
43  int channel; ///< Channel number
44  string label; ///< Channel label
45  boolean is3Phase; ///< \c true for three-phase channels
46  PhaseConfig lineA; ///< Line A phase config
47  PhaseConfig lineB; ///< Line B phase config (three-phase only)
48  PhaseConfig lineC; ///< Line C phase config (three-phase only)
49  };
50 
51  /**
52  * Retrieve the BMC's channel count.
53  *
54  * @return Number of BCM channels
55  */
57 
58  /**
59  * Retrieve the configuration for all channels.
60  *
61  * @return List of channel configurations
62  */
63  vector<ChannelConfig> getChannelConfigs();
64 
65  /**
66  * Set the configuration for one channel.
67  *
68  * @param channel Channel number
69  * @param config New channel configuration
70  *
71  * @return 0 if OK
72  * @return 1 for invalid phase configuration
73  * @return 2 for invalid arguments
74  */
75  int setChannelConfig(in int channel, in ChannelConfig config);
76 
77  };
78 
79 }
80 
81 #endif
Branch Circuit Monitor.
Definition: Bcm.idl:15
int getChannelCount()
Retrieve the BMC's channel count.
vector< ChannelConfig > getChannelConfigs()
Retrieve the configuration for all channels.
int setChannelConfig(in int channel, in ChannelConfig config)
Set the configuration for one channel.
LineConfig
Power Line Configuration.
Definition: Bcm.idl:18
@ L1_N
L1-Neutral.
Definition: Bcm.idl:20
@ UNCONNECTED
Not connected.
Definition: Bcm.idl:19
@ L2_N
L2-Neutral.
Definition: Bcm.idl:21
TransformerType
Current Transformer Type.
Definition: Bcm.idl:26
@ VOLTAGE
Voltage-type transformer.
Definition: Bcm.idl:27
PDU Model.
Definition: Ade.idl:12
Channel Configuration.
Definition: Bcm.idl:42
boolean is3Phase
true for three-phase channels
Definition: Bcm.idl:45
PhaseConfig lineB
Line B phase config (three-phase only)
Definition: Bcm.idl:47
int channel
Channel number.
Definition: Bcm.idl:43
PhaseConfig lineC
Line C phase config (three-phase only)
Definition: Bcm.idl:48
PhaseConfig lineA
Line A phase config.
Definition: Bcm.idl:46
string label
Channel label.
Definition: Bcm.idl:44
Phase Configuration.
Definition: Bcm.idl:32
int fsCurrent
Full-scale current (voltage-type transformer)
Definition: Bcm.idl:35
TransformerType ctType
Current transformer type.
Definition: Bcm.idl:34
int burdenResistor
Burden resistor (turns ratio transformer)
Definition: Bcm.idl:38
int turnsRatio
Turns ratio (turns ratio transformer)
Definition: Bcm.idl:37
int fsVoltage
Full-scale voltage (voltage-type transformer)
Definition: Bcm.idl:36
LineConfig lineConfig
Power line configuration.
Definition: Bcm.idl:33