using System.Diagnostics.CodeAnalysis; using InnovEnergy.Lib.Devices.Trumpf.SystemControl.DataTypes; using InnovEnergy.Lib.Protocols.Modbus.Reflection.Attributes; using SystemConfig = InnovEnergy.Lib.Devices.Trumpf.SystemControl.DataTypes.SystemConfig; namespace InnovEnergy.Lib.Devices.Trumpf.SystemControl; #pragma warning disable CS0169 #pragma warning disable CS0649 // using the same record for status & control [SuppressMessage("ReSharper", "UnusedMember.Global")] [SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")] [SuppressMessage("ReSharper", "InconsistentNaming")] public partial record SystemControlRegisters { private const UInt16 NoTimeout = UInt16.MaxValue; [HoldingRegister(1016)] private UInt16 _CommunicationTimeoutSeconds; [HoldingRegister(1018)] public SystemConfig SystemConfig { get; set; } //[Coil(4002)] [HoldingRegister(4002)] public Boolean ResetAlarmsAndWarnings { get; set; } [HoldingRegister(4007)] public UInt16 TargetSlave { get; set; } //[Coil(4011)] [HoldingRegister(4011)] public Boolean UseSlaveIdForAddressing { get; set; } [HoldingRegister(4006)] public ReferenceFrame ReferenceFrame { get; set; } [HoldingRegister(4008)] public SlaveErrorHandling SlaveErrorHandling { get; set; } [HoldingRegister(4012)] public SubSlaveErrorHandling SubSlaveErrorHandling { get; set; } [HoldingRegister(4182)] public PowerSetPointActivation PowerSetPointActivation { get; set; } [HoldingRegister(4183)] public PowerSetPointTrigger PowerSetPointTrigger { get; set; } [InputRegister(5000)] public DeviceState DeviceState { get; private set; } [InputRegister(5001)] public UInt16 NumberOfConnectedSlaves { get; private set; } [InputRegister(5002)] public UInt16 NumberOfConnectedSubSlaves { get; private set; } [InputRegister(2402)] public UInt16 NumberOfWarnings; [InputRegister(2403)] private WarningMessage Warning1; [InputRegister(2404)] private WarningMessage Warning2; [InputRegister(2405)] private WarningMessage Warning3; [InputRegister(2406)] private WarningMessage Warning4; [InputRegister(2407)] private WarningMessage Warning5; [InputRegister(2408)] private WarningMessage Warning6; [InputRegister(2409)] private WarningMessage Warning7; [InputRegister(2410)] private WarningMessage Warning8; [InputRegister(2411)] private WarningMessage Warning9; [InputRegister(2412)] private WarningMessage Warning10; [InputRegister(2413)] private WarningMessage Warning11; [InputRegister(2414)] private WarningMessage Warning12; [InputRegister(2415)] private WarningMessage Warning13; [InputRegister(2416)] private WarningMessage Warning14; [InputRegister(2417)] private WarningMessage Warning15; [InputRegister(2418)] private WarningMessage Warning16; [InputRegister(2419)] private WarningMessage Warning17; [InputRegister(2420)] private WarningMessage Warning18; [InputRegister(2421)] private WarningMessage Warning19; [InputRegister(2422)] private WarningMessage Warning20; [InputRegister(2809)] private UInt16 NumberOfAlarms; [InputRegister(2810)] private AlarmMessage Alarm1; [InputRegister(2811)] private AlarmMessage Alarm2; [InputRegister(2812)] private AlarmMessage Alarm3; [InputRegister(2813)] private AlarmMessage Alarm4; [InputRegister(2814)] private AlarmMessage Alarm5; [InputRegister(2815)] private AlarmMessage Alarm6; [InputRegister(2816)] private AlarmMessage Alarm7; [InputRegister(2817)] private AlarmMessage Alarm8; [InputRegister(2818)] private AlarmMessage Alarm9; [InputRegister(2819)] private AlarmMessage Alarm10; [InputRegister(2820)] private AlarmMessage Alarm11; [InputRegister(2821)] private AlarmMessage Alarm12; [InputRegister(2822)] private AlarmMessage Alarm13; [InputRegister(2823)] private AlarmMessage Alarm14; [InputRegister(2824)] private AlarmMessage Alarm15; [InputRegister(2825)] private AlarmMessage Alarm16; [InputRegister(2826)] private AlarmMessage Alarm17; [InputRegister(2827)] private AlarmMessage Alarm18; [InputRegister(2828)] private AlarmMessage Alarm19; [InputRegister(2829)] private AlarmMessage Alarm20; }