remove 'require' again (sigh). It only *seems* to build, but doesnt. we need net7.0
This commit is contained in:
parent
4cb8e9ecfa
commit
f5ff1d70a5
|
@ -10,8 +10,8 @@ using T = BatteryStatus;
|
||||||
[OpParallel]
|
[OpParallel]
|
||||||
public partial record BatteryStatus : DeviceStatus, IDcConnection
|
public partial record BatteryStatus : DeviceStatus, IDcConnection
|
||||||
{
|
{
|
||||||
public required DcPhase Dc { get; init; }
|
public DcPhase Dc { get; init; }
|
||||||
public required Percent Soc { get; init; }
|
public Percent Soc { get; init; }
|
||||||
public required Temperature Temperature { get; init; }
|
public Temperature Temperature { get; init; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,8 @@ namespace InnovEnergy.Lib.StatusApi;
|
||||||
[OpParallel]
|
[OpParallel]
|
||||||
public partial record DcDcConverterStatus : DeviceStatus
|
public partial record DcDcConverterStatus : DeviceStatus
|
||||||
{
|
{
|
||||||
public required DcPhase Left { get; init; }
|
public DcPhase Left { get; init; }
|
||||||
public required DcPhase Right { get; init; }
|
public DcPhase Right { get; init; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,8 @@ namespace InnovEnergy.Lib.StatusApi;
|
||||||
[OpParallel]
|
[OpParallel]
|
||||||
public partial record MpptStatus : IDcConnection, IPvConnection
|
public partial record MpptStatus : IDcConnection, IPvConnection
|
||||||
{
|
{
|
||||||
public required DcPhase Dc { get; init; }
|
public DcPhase Dc { get; init; }
|
||||||
public required IReadOnlyList<DcPhase> Strings { get; init; }
|
public IReadOnlyList<DcPhase> Strings { get; init; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,5 +7,5 @@ namespace InnovEnergy.Lib.StatusApi;
|
||||||
[OpParallel]
|
[OpParallel]
|
||||||
public partial record PowerMeterStatus : DeviceStatus, IAc3Connection
|
public partial record PowerMeterStatus : DeviceStatus, IAc3Connection
|
||||||
{
|
{
|
||||||
public required Ac3Phase Ac { get; init; }
|
public Ac3Phase Ac { get; init; }
|
||||||
}
|
}
|
|
@ -10,6 +10,6 @@ public partial record SinglePhaseInverterStatus :
|
||||||
IAc1Connection,
|
IAc1Connection,
|
||||||
IDcConnection
|
IDcConnection
|
||||||
{
|
{
|
||||||
public required Ac1Phase Ac { get; init; }
|
public Ac1Phase Ac { get; init; }
|
||||||
public required DcPhase Dc { get; init; }
|
public DcPhase Dc { get; init; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,6 @@ public partial record SinglePhasePvInverterStatus :
|
||||||
IAc1Connection,
|
IAc1Connection,
|
||||||
IPvConnection
|
IPvConnection
|
||||||
{
|
{
|
||||||
public required Ac1Phase Ac { get; init; }
|
public Ac1Phase Ac { get; init; }
|
||||||
public required IReadOnlyList<DcPhase> Strings { get; init; }
|
public IReadOnlyList<DcPhase> Strings { get; init; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ public partial record ThreePhaseInverterStatus :
|
||||||
IAc3Connection,
|
IAc3Connection,
|
||||||
IDcConnection
|
IDcConnection
|
||||||
{
|
{
|
||||||
public required Ac3Phase Ac { get; init; }
|
public Ac3Phase Ac { get; init; }
|
||||||
public required DcPhase Dc { get; init; }
|
public DcPhase Dc { get; init; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,6 @@ public partial record ThreePhasePvInverterStatus :
|
||||||
IAc3Connection,
|
IAc3Connection,
|
||||||
IPvConnection
|
IPvConnection
|
||||||
{
|
{
|
||||||
public required Ac3Phase Ac { get; init; }
|
public Ac3Phase Ac { get; init; }
|
||||||
public required IReadOnlyList<DcPhase> Strings { get; init; }
|
public IReadOnlyList<DcPhase> Strings { get; init; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
|
|
||||||
using System.Diagnostics.CodeAnalysis;
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
|
||||||
namespace InnovEnergy.Lib.Units.Composite;
|
namespace InnovEnergy.Lib.Units.Composite;
|
||||||
|
|
||||||
public record Ac1Phase : AcPhase
|
public record Ac1Phase : AcPhase
|
||||||
{
|
{
|
||||||
public required Frequency Frequency { get; init; }
|
public Frequency Frequency { get; init; }
|
||||||
|
|
||||||
[SuppressMessage("ReSharper", "RedundantCast")]
|
[SuppressMessage("ReSharper", "RedundantCast")]
|
||||||
public static Ac1Phase operator |(Ac1Phase left, Ac1Phase right)
|
public static Ac1Phase operator |(Ac1Phase left, Ac1Phase right)
|
||||||
|
@ -21,7 +20,6 @@ public record Ac1Phase : AcPhase
|
||||||
Phi = p.Phi
|
Phi = p.Phi
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,10 +5,10 @@ namespace InnovEnergy.Lib.Units.Composite;
|
||||||
|
|
||||||
public record Ac3Phase
|
public record Ac3Phase
|
||||||
{
|
{
|
||||||
public required AcPhase L1 { get; init; }
|
public AcPhase L1 { get; init; }
|
||||||
public required AcPhase L2 { get; init; }
|
public AcPhase L2 { get; init; }
|
||||||
public required AcPhase L3 { get; init; }
|
public AcPhase L3 { get; init; }
|
||||||
public required Frequency Frequency { get; init; }
|
public Frequency Frequency { get; init; }
|
||||||
|
|
||||||
public ApparentPower ApparentPower => L1.ApparentPower + L2.ApparentPower + L3.ApparentPower;
|
public ApparentPower ApparentPower => L1.ApparentPower + L2.ApparentPower + L3.ApparentPower;
|
||||||
public ReactivePower ReactivePower => L1.ReactivePower + L2.ReactivePower + L3.ReactivePower;
|
public ReactivePower ReactivePower => L1.ReactivePower + L2.ReactivePower + L3.ReactivePower;
|
||||||
|
@ -17,6 +17,4 @@ public record Ac3Phase
|
||||||
|
|
||||||
public static Ac3Phase operator |(Ac3Phase left, Ac3Phase right) => OpParallel(left, right);
|
public static Ac3Phase operator |(Ac3Phase left, Ac3Phase right) => OpParallel(left, right);
|
||||||
private static readonly Func<Ac3Phase, Ac3Phase, Ac3Phase> OpParallel = "|".CreateBinaryOpForProps<Ac3Phase>();
|
private static readonly Func<Ac3Phase, Ac3Phase, Ac3Phase> OpParallel = "|".CreateBinaryOpForProps<Ac3Phase>();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -6,20 +6,20 @@ namespace InnovEnergy.Lib.Units.Composite;
|
||||||
public record AcPhase : IPhase
|
public record AcPhase : IPhase
|
||||||
{
|
{
|
||||||
private readonly Voltage _Voltage;
|
private readonly Voltage _Voltage;
|
||||||
public required Voltage Voltage
|
public Voltage Voltage
|
||||||
{
|
{
|
||||||
get => _Voltage;
|
get => _Voltage;
|
||||||
init => _Voltage = value >= 0 ? value : throw new ArgumentException("RMS value cannot be negative");
|
init => _Voltage = value >= 0m ? value : throw new ArgumentException("RMS value cannot be negative");
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly Current _Current;
|
private readonly Current _Current;
|
||||||
public required Current Current
|
public Current Current
|
||||||
{
|
{
|
||||||
get => _Current;
|
get => _Current;
|
||||||
init => _Current = value >= 0 ? value : throw new ArgumentException("RMS value cannot be negative");
|
init => _Current = value >= 0m ? value : throw new ArgumentException("RMS value cannot be negative");
|
||||||
}
|
}
|
||||||
|
|
||||||
public required Angle Phi { get; init; }
|
public Angle Phi { get; init; }
|
||||||
|
|
||||||
public ApparentPower ApparentPower => Voltage.Value * Current.Value ;
|
public ApparentPower ApparentPower => Voltage.Value * Current.Value ;
|
||||||
public Power ActivePower => ApparentPower.Value * PowerFactor;
|
public Power ActivePower => ApparentPower.Value * PowerFactor;
|
||||||
|
|
|
@ -4,13 +4,11 @@ namespace InnovEnergy.Lib.Units.Composite;
|
||||||
|
|
||||||
public record DcPhase : IPhase
|
public record DcPhase : IPhase
|
||||||
{
|
{
|
||||||
public required Voltage Voltage { get; init;}
|
public Voltage Voltage { get; init; }
|
||||||
public required Current Current { get; init;}
|
public Current Current { get; init; }
|
||||||
|
|
||||||
public Power Power => Current * Voltage;
|
public Power Power => Current * Voltage;
|
||||||
|
|
||||||
public static DcPhase operator |(DcPhase left, DcPhase right) => OpParallel(left, right);
|
public static DcPhase operator |(DcPhase left, DcPhase right) => OpParallel(left, right);
|
||||||
private static readonly Func<DcPhase, DcPhase, DcPhase> OpParallel = "|".CreateBinaryOpForProps<DcPhase>();
|
private static readonly Func<DcPhase, DcPhase, DcPhase> OpParallel = "|".CreateBinaryOpForProps<DcPhase>();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue