Bcm.idl
/* SPDX-License-Identifier: BSD-3-Clause */
/*
* Copyright 2011 Raritan Inc. All rights reserved.
*/
#ifndef __PDUMODEL_BCM_IDL__
#define __PDUMODEL_BCM_IDL__
#include <Pole.idl>
/** PDU Model */
module pdumodel {
/** Branch Circuit Monitor */
interface Bcm {
/** Power Line Configuration */
enumeration LineConfig {
UNCONNECTED, ///< Not connected
L1_N, ///< L1-Neutral
L2_N, ///< L2-Neutral
L3_N ///< L3-Neutral
};
/** Current Transformer Type */
enumeration TransformerType {
VOLTAGE, ///< Voltage-type transformer
TURNSRATIO ///< Turns ratio transformer
};
/** Phase Configuration */
structure PhaseConfig {
LineConfig lineConfig; ///< Power line configuration
TransformerType ctType; ///< Current transformer type
int fsCurrent; ///< Full-scale current (voltage-type transformer)
int fsVoltage; ///< Full-scale voltage (voltage-type transformer)
int turnsRatio; ///< Turns ratio (turns ratio transformer)
int burdenResistor; ///< Burden resistor (turns ratio transformer)
};
/** Channel Configuration */
structure ChannelConfig {
int channel; ///< Channel number
string label; ///< Channel label
boolean is3Phase; ///< \c true for three-phase channels
PhaseConfig lineA; ///< Line A phase config
PhaseConfig lineB; ///< Line B phase config (three-phase only)
PhaseConfig lineC; ///< Line C phase config (three-phase only)
};
/**
* Retrieve the BMC's channel count.
*
* @return Number of BCM channels
*/
int getChannelCount();
/**
* Retrieve the configuration for all channels.
*
* @return List of channel configurations
*/
vector<ChannelConfig> getChannelConfigs();
/**
* Set the configuration for one channel.
*
* @param channel Channel number
* @param config New channel configuration
*
* @return 0 if OK
* @return 1 for invalid phase configuration
* @return 2 for invalid arguments
*/
int setChannelConfig(in int channel, in ChannelConfig config);
};
}
#endif
pdumodel::Bcm::L2_N
L2-Neutral.
Definition: Bcm.idl:21
pdumodel::Bcm::PhaseConfig::lineConfig
LineConfig lineConfig
Power line configuration.
Definition: Bcm.idl:33
pdumodel::Bcm::ChannelConfig::lineB
PhaseConfig lineB
Line B phase config (three-phase only)
Definition: Bcm.idl:47
pdumodel::Bcm::LineConfig
LineConfig
Power Line Configuration.
Definition: Bcm.idl:18
pdumodel::Bcm::PhaseConfig::fsVoltage
int fsVoltage
Full-scale voltage (voltage-type transformer)
Definition: Bcm.idl:36
pdumodel::Bcm::PhaseConfig::fsCurrent
int fsCurrent
Full-scale current (voltage-type transformer)
Definition: Bcm.idl:35
pdumodel::Bcm::UNCONNECTED
Not connected.
Definition: Bcm.idl:19
pdumodel::Bcm::VOLTAGE
Voltage-type transformer.
Definition: Bcm.idl:27
pdumodel::Bcm::ChannelConfig::lineC
PhaseConfig lineC
Line C phase config (three-phase only)
Definition: Bcm.idl:48
pdumodel::Bcm::ChannelConfig::is3Phase
boolean is3Phase
true for three-phase channels
Definition: Bcm.idl:45
pdumodel::Bcm::TransformerType
TransformerType
Current Transformer Type.
Definition: Bcm.idl:26
pdumodel::Bcm::PhaseConfig::burdenResistor
int burdenResistor
Burden resistor (turns ratio transformer)
Definition: Bcm.idl:38
pdumodel::Bcm::ChannelConfig::label
string label
Channel label.
Definition: Bcm.idl:44
pdumodel::Bcm::PhaseConfig
Phase Configuration.
Definition: Bcm.idl:32
pdumodel::Bcm::ChannelConfig::channel
int channel
Channel number.
Definition: Bcm.idl:43
pdumodel::Bcm::PhaseConfig::turnsRatio
int turnsRatio
Turns ratio (turns ratio transformer)
Definition: Bcm.idl:37
pdumodel::Bcm::ChannelConfig
Channel Configuration.
Definition: Bcm.idl:42
pdumodel::Bcm::PhaseConfig::ctType
TransformerType ctType
Current transformer type.
Definition: Bcm.idl:34
pdumodel
PDU Model.
Definition: Ade.idl:12
pdumodel::Bcm::L1_N
L1-Neutral.
Definition: Bcm.idl:20
pdumodel::Bcm::ChannelConfig::lineA
PhaseConfig lineA
Line A phase config.
Definition: Bcm.idl:46
pdumodel::Bcm
Branch Circuit Monitor.
Definition: Bcm.idl:15