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;
public class AlarmMessage
public class AlarmBitMessage
{
// Enum for Alarm Event 1
public enum AlarmEvent1
public readonly struct AlarmEvent1_
{
VoltageSensorFault,
TemperatureSensorFault,
CurrentSensorFault,
KeySwitchFault,
CellVoltageDropoutFault,
ChargeSwitchFault,
DischargeSwitchFault,
CurrentLimitSwitchFault
private readonly Byte _record;
public Boolean VoltageSensorFault => (_record & (1 << 0)) == 1;
public Boolean TemperatureSensorFault => (_record & (1 << 1)) == 1;
public Boolean CurrentSensorFault => (_record & (1 << 2)) == 1;
public Boolean KeySwitchFault => (_record & (1 << 3)) == 1;
public Boolean CellVoltageDropoutFault => (_record & (1 << 4)) == 1;
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
public enum AlarmEvent2
{