/// <summary> /// Initializes a new instance of the SetPmbusExtendedDeviceConfigRequest class. /// </summary> internal SetPmbusExtendedDeviceConfigRequest(byte deviceIndex, NodeManagerSensorBus sensorBus, byte smbusAddress, byte muxAddress, byte muxChannel, bool useMuxConfig, bool disablePolling, bool reportHealth) : base(deviceIndex, extendedFormat) { // Sensor Bus this.sensorBus = (byte)sensorBus; // [7:1] � 7-bit SMBUS address. // [0] � Reserved. Write as 0b this.smbusAddress = (byte)(smbusAddress << 1); // MUX Address // [7:1] � 7-bit SMBUS address for SMBUS MUX or 0 for MGPIO controlled. // [0] � Reserved. Write as 0b this.muxAddress = (byte)(muxAddress << 1); // MUX channel selection this.muxChannel = muxChannel; if (useMuxConfig) { this.configureMux = 0x01; } // Device configuration // [0] � Disabled State // 0 � PMBUS device is enabled and may be polled for readings // 1 � PMBUS device is disabled and should not be poled for readings, // but access to the device may be available using PMBUS Proxy if (disablePolling) { this.deviceConfig = 0x01; } // [1] � Device Mode: // 1 � the device is installed and lack of power readings should be // reported to Management Console Node Manager Health Event // 0 (default) � the device is installed or may be attached in the future. if (reportHealth) { this.deviceConfig = (byte)(this.deviceConfig | 0x02); } }
/// <summary> /// Initializes a new instance of the SetPmbusExtendedDeviceConfigRequest class. /// </summary> internal SetPmbusExtendedDeviceConfigRequest(byte deviceIndex, NodeManagerSensorBus sensorBus, byte smbusAddress, byte muxAddress, byte muxChannel, bool useMuxConfig, bool disablePolling, bool reportHealth) : base(deviceIndex, extendedFormat) { // Sensor Bus this.sensorBus = (byte)sensorBus; // [7:1] � 7-bit SMBUS address. // [0] � Reserved. Write as 0b this.smbusAddress = (byte)(smbusAddress << 1); // MUX Address // [7:1] � 7-bit SMBUS address for SMBUS MUX or 0 for MGPIO controlled. // [0] � Reserved. Write as 0b this.muxAddress = (byte)(muxAddress << 1); // MUX channel selection this.muxChannel = muxChannel; if (useMuxConfig) this.configureMux = 0x01; // Device configuration // [0] � Disabled State // 0 � PMBUS device is enabled and may be polled for readings // 1 � PMBUS device is disabled and should not be poled for readings, // but access to the device may be available using PMBUS Proxy if (disablePolling) this.deviceConfig = 0x01; // [1] � Device Mode: // 1 � the device is installed and lack of power readings should be // reported to Management Console Node Manager Health Event // 0 (default) � the device is installed or may be attached in the future. if (reportHealth) this.deviceConfig = (byte)(this.deviceConfig | 0x02); }
/// <summary> /// Initializes a new instance of the SendRawPmbusStandardRequest class. /// </summary> internal SendRawPmbusExtendedRequest(bool enablePec, NodeManagerSmbusTransactionType transactionType, NodeManagerSensorBus sensorBus, byte psuAddress, byte muxPsuAddress, byte muxChannel, bool configureMux, byte writeLenght, byte readLenght, byte[] pmbusCmd) : base(enablePec, transactionType, psuAddress, writeLenght, readLenght, pmbusCmd, extendedFormat) { // Sensor Bus this.sensorBus = (byte)sensorBus; // 7-bit SMBUS address for SMBUS MUX or 0 for MGPIO controlled. base.muxPsuAddress = (byte)(muxPsuAddress << 1); // MUX channel selection this.muxChannel = muxChannel; if (configureMux) { this.configureMux = 0x01; } }
/// <summary> /// Initializes a new instance of the SendRawPmbusStandardRequest class. /// </summary> internal SendRawPmbusExtendedRequest(bool enablePec, NodeManagerSmbusTransactionType transactionType, NodeManagerSensorBus sensorBus, byte psuAddress, byte muxPsuAddress, byte muxChannel, bool configureMux, byte writeLenght, byte readLenght, byte[] pmbusCmd) : base(enablePec, transactionType, psuAddress, writeLenght, readLenght, pmbusCmd, extendedFormat) { // Sensor Bus this.sensorBus = (byte)sensorBus; // 7-bit SMBUS address for SMBUS MUX or 0 for MGPIO controlled. base.muxPsuAddress = (byte)(muxPsuAddress << 1); // MUX channel selection this.muxChannel = muxChannel; if (configureMux) this.configureMux = 0x01; }