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  */
56  int getChannelCount();
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
L2-Neutral.
Definition: Bcm.idl:21
LineConfig lineConfig
Power line configuration.
Definition: Bcm.idl:33
PhaseConfig lineB
Line B phase config (three-phase only)
Definition: Bcm.idl:47
LineConfig
Power Line Configuration.
Definition: Bcm.idl:18
int fsVoltage
Full-scale voltage (voltage-type transformer)
Definition: Bcm.idl:36
int fsCurrent
Full-scale current (voltage-type transformer)
Definition: Bcm.idl:35
Not connected.
Definition: Bcm.idl:19
Voltage-type transformer.
Definition: Bcm.idl:27
PhaseConfig lineC
Line C phase config (three-phase only)
Definition: Bcm.idl:48
boolean is3Phase
true for three-phase channels
Definition: Bcm.idl:45
TransformerType
Current Transformer Type.
Definition: Bcm.idl:26
int burdenResistor
Burden resistor (turns ratio transformer)
Definition: Bcm.idl:38
string label
Channel label.
Definition: Bcm.idl:44
Phase Configuration.
Definition: Bcm.idl:32
int channel
Channel number.
Definition: Bcm.idl:43
int turnsRatio
Turns ratio (turns ratio transformer)
Definition: Bcm.idl:37
Channel Configuration.
Definition: Bcm.idl:42
TransformerType ctType
Current transformer type.
Definition: Bcm.idl:34
PDU Model.
Definition: Ade.idl:12
L1-Neutral.
Definition: Bcm.idl:20
PhaseConfig lineA
Line A phase config.
Definition: Bcm.idl:46
Branch Circuit Monitor.
Definition: Bcm.idl:15