Innovenergy_trunk/csharp/Lib/Devices/Trumpf/SystemControl/SystemControlRegisters.Alar...

42 lines
1.3 KiB
C#

using System.Diagnostics.CodeAnalysis;
using InnovEnergy.Lib.Devices.Trumpf.SystemControl.DataTypes;
namespace InnovEnergy.Lib.Devices.Trumpf.SystemControl;
#pragma warning disable CS0649
[SuppressMessage("ReSharper", "InconsistentNaming")]
public partial record SystemControlRegisters
{
private IEnumerable<AlarmMessage> GetAlarms()
{
yield return Alarm1;
yield return Alarm2;
yield return Alarm3;
yield return Alarm4;
yield return Alarm5;
yield return Alarm6;
yield return Alarm7;
yield return Alarm8;
yield return Alarm9;
yield return Alarm10;
yield return Alarm11;
yield return Alarm12;
yield return Alarm13;
yield return Alarm14;
yield return Alarm15;
yield return Alarm16;
yield return Alarm17;
yield return Alarm18;
yield return Alarm19;
yield return Alarm20;
}
public IReadOnlyList<AlarmMessage> Alarms => GetAlarms()
.Take(NumberOfAlarms)
.Where(IsSystemControlAlarm)
.ToList();
private static Boolean IsSystemControlAlarm(AlarmMessage alarm) => (UInt16)alarm is >= 40000 and < 50000;
}