namespace InnovEnergy.Lib.Devices.BatteryDeligreen; public class AlarmMessage { // Enum for Alarm Event 1 public enum AlarmEvent1 { VoltageSensorFault, TemperatureSensorFault, CurrentSensorFault, KeySwitchFault, CellVoltageDropoutFault, ChargeSwitchFault, DischargeSwitchFault, CurrentLimitSwitchFault } // Enum for Alarm Event 2 public enum AlarmEvent2 { MonomerHighVoltageAlarm, MonomerOvervoltageProtection, MonomerLowVoltageAlarm, MonomerUnderVoltageProtection, HighVoltageAlarmForTotalVoltage, OvervoltageProtectionForTotalVoltage, LowVoltageAlarmForTotalVoltage, UnderVoltageProtectionForTotalVoltage } // Enum for Alarm Event 3 public enum AlarmEvent3 { ChargeHighTemperatureAlarm, ChargeOverTemperatureProtection, ChargeLowTemperatureAlarm, ChargeUnderTemperatureProtection, DischargeHighTemperatureAlarm, DischargeOverTemperatureProtection, DischargeLowTemperatureAlarm, DischargeUnderTemperatureProtection } // Enum for Alarm Event 4 public enum AlarmEvent4 { EnvironmentHighTemperatureAlarm, EnvironmentOverTemperatureProtection, EnvironmentLowTemperatureAlarm, EnvironmentUnderTemperatureProtection, PowerOverTemperatureProtection, PowerHighTemperatureAlarm, CellLowTemperatureHeating, ReservationBit } // Enum for Alarm Event 5 public enum AlarmEvent5 { ChargeOverCurrentAlarm, ChargeOverCurrentProtection, DischargeOverCurrentAlarm, DischargeOverCurrentProtection, TransientOverCurrentProtection, OutputShortCircuitProtection, TransientOverCurrentLockout, OutputShortCircuitLockout } // Enum for Alarm Event 6 public enum AlarmEvent6 { ChargeHighVoltageProtection, IntermittentRechargeWaiting, ResidualCapacityAlarm, ResidualCapacityProtection, CellLowVoltageChargingProhibition, OutputReversePolarityProtection, OutputConnectionFault, InsideBit } // Enum for On-Off State public enum OnOffState { DischargeSwitchState, ChargeSwitchState, CurrentLimitSwitchState, HeatingSwitchState, ReservationBit1, ReservationBit2, ReservationBit3, ReservationBit4 } // Enum for Equilibrium State 1 public enum EquilibriumState1 { Cell01Equilibrium, Cell02Equilibrium, Cell03Equilibrium, Cell04Equilibrium, Cell05Equilibrium, Cell06Equilibrium, Cell07Equilibrium, Cell08Equilibrium } // Enum for Equilibrium State 2 public enum EquilibriumState2 { Cell09Equilibrium, Cell10Equilibrium, Cell11Equilibrium, Cell12Equilibrium, Cell13Equilibrium, Cell14Equilibrium, Cell15Equilibrium, Cell16Equilibrium } // Enum for System State public enum SystemState { Discharge, Charge, FloatingCharge, ReservationBit1, Standby, Shutdown, ReservationBit2, ReservationBit3 } // Enum for Disconnection State 1 public enum DisconnectionState1 { Cell01Disconnection, Cell02Disconnection, Cell03Disconnection, Cell04Disconnection, Cell05Disconnection, Cell06Disconnection, Cell07Disconnection, Cell08Disconnection } // Enum for Disconnection State 2 public enum DisconnectionState2 { Cell09Disconnection, Cell10Disconnection, Cell11Disconnection, Cell12Disconnection, Cell13Disconnection, Cell14Disconnection, Cell15Disconnection, Cell16Disconnection } // Enum for Alarm Event 7 public enum AlarmEvent7 { InsideBit1, InsideBit2, InsideBit3, InsideBit4, AutomaticChargingWaiting, ManualChargingWaiting, InsideBit5, InsideBit6 } // Enum for Alarm Event 8 public enum AlarmEvent8 { EepStorageFault, RtcError, VoltageCalibrationNotPerformed, CurrentCalibrationNotPerformed, ZeroCalibrationNotPerformed, InsideBit1, InsideBit2, InsideBit3 } }