42 lines
1.3 KiB
C#
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;
|
|
}
|