Innovenergy_trunk/csharp/app/SaliMax/src/Log/TruConvertDc.cs

43 lines
1.4 KiB
C#

using System.Text.Json.Nodes;
using InnovEnergy.Lib.Devices.Trumpf.TruConvertDc;
using static InnovEnergy.SaliMax.Log.JsonUtil;
namespace InnovEnergy.SaliMax.Log;
using JO = JsonObject;
public static class TruConvertDc
{
// TODO: remove serialNb arg, embed TruConvertDcStatus
public static JsonObject? Log(this TruConvertDcStatus? s, String serialNb)
{
if (s is null)
return null;
var dcCurrent = s.DcLinkVoltage != 0m
? s.DcPower / s.DcLinkVoltage
: 0m;
return new JO
{
{
$"TruConvertDc {serialNb}", new JO
{
{ "Dc" , CreateDcPhase(dcCurrent, s.DcLinkVoltage) },
{ "Dc48" , CreateDcPhase(s.BatteryCurrent, s.BatteryVoltage) },
{ "Warnings", s.Warnings.ToJsonArray() },
{ "Alarms" , s.Alarms.ToJsonArray() },
}
}
};
// return DeviceType
// .DcDc
// .CreateDevice("TruConvertDc")
// //.AddDcConnection(Decimal.Round(current, 3), s.DcLinkVoltage)
// .AddDc48Connection(Decimal.Round(s.BatteryCurrent, 3), Decimal.Round(s.BatteryVoltage, 3))
// .AddWarnings(s.Warnings)
// .AddAlarms(s.Alarms)
// .AddProp("DC Power", s.DcPower);
}
}