Define Alarm message for Deligreen

This commit is contained in:
atef 2025-03-19 11:21:53 +01:00
parent 9105d7b7cd
commit f17ae4da06
1 changed files with 29 additions and 11 deletions

View File

@ -1,20 +1,38 @@
namespace InnovEnergy.Lib.Devices.BatteryDeligreen; namespace InnovEnergy.Lib.Devices.BatteryDeligreen;
public class AlarmMessage public class AlarmBitMessage
{ {
// Enum for Alarm Event 1
public enum AlarmEvent1 public readonly struct AlarmEvent1_
{ {
VoltageSensorFault, private readonly Byte _record;
TemperatureSensorFault,
CurrentSensorFault, public Boolean VoltageSensorFault => (_record & (1 << 0)) == 1;
KeySwitchFault, public Boolean TemperatureSensorFault => (_record & (1 << 1)) == 1;
CellVoltageDropoutFault, public Boolean CurrentSensorFault => (_record & (1 << 2)) == 1;
ChargeSwitchFault, public Boolean KeySwitchFault => (_record & (1 << 3)) == 1;
DischargeSwitchFault, public Boolean CellVoltageDropoutFault => (_record & (1 << 4)) == 1;
CurrentLimitSwitchFault public Boolean ChargeSwitchFault => (_record & (1 << 5)) == 1;
public Boolean DischargeSwitchFault => (_record & (1 << 6)) == 1;
public Boolean CurrentLimitSwitchFault => (_record & (1 << 7)) == 1;
public AlarmEvent1_(Byte record) => _record = record;
} }
// Enum for Alarm Event 1
//public enum AlarmEvent1
//{
// VoltageSensorFault,
// TemperatureSensorFault,
// CurrentSensorFault,
// KeySwitchFault,
// CellVoltageDropoutFault,
// ChargeSwitchFault,
// DischargeSwitchFault,
// CurrentLimitSwitchFault
//}
// Enum for Alarm Event 2 // Enum for Alarm Event 2
public enum AlarmEvent2 public enum AlarmEvent2
{ {