using InnovEnergy.Lib.Devices.Trumpf.TruConvert; using InnovEnergy.Lib.StatusApi; using InnovEnergy.Lib.Units; using InnovEnergy.Lib.Units.Composite; using InnovEnergy.Lib.Utils; namespace InnovEnergy.Lib.Devices.Trumpf.TruConvertDc; using AlarmMessages = IReadOnlyList; using WarningMessages = IReadOnlyList; using DcCurrentLimitStates = IReadOnlyList; public record TruConvertDcStatus : DcDcConverterStatus { public MainState MainState { get; init; } public Power TotalDcPower { get; init; } // TODO: necessary? public DcCurrentLimitStates StatusOfCurrentLimiting { get; init; } public Decimal OverloadCapacity { get; init; } public Temperature DcDcInletTemperature { get; init; } public AlarmMessages Alarms { get; init; } = Array.Empty(); public WarningMessages Warnings { get; init; } = Array.Empty(); public Boolean PowerOperation { get; init; } public Decimal NumberOfConnectedSlaves { get; init; } // TODO: necessary? public Decimal NumberOfConnectedSubSlaves { get; init; } // TODO: necessary? } // { // public static TruConvertDcStatus operator |(TruConvertDcStatus left, TruConvertDcStatus right) => OpParallel(left, right); // private static readonly Func OpParallel = Operators.Op("|"); // }