using InnovEnergy.Lib.Units.Power; using static InnovEnergy.Lib.Devices.BatteryDeligreen.Temperatures; namespace InnovEnergy.Lib.Devices.BatteryDeligreen; using InnovEnergy.Lib.Units; using Strings = IReadOnlyList; public class BatteryDeligreenDataRecord { // public Strings Warnings => ParseWarnings().OrderBy(w => w).ToList(); // public Strings Alarms => ParseAlarms() .OrderBy(w => w).ToList(); public String FwVersion { get; set; } public Voltage BusVoltage { get; set; } public Current BusCurrent { get; set; } public ActivePower Power { get; set; } public Voltage TotalBatteryVoltage { get; set; } public Double ResidualCapacity { get; set; } public Double BatteryCapacity { get; set; } public Percent Soc { get; set; } public Double RatedCapacity { get; set; } public UInt16 NumberOfCycles { get; set; } public Percent Soh { get; set; } public List CellVoltage { get; set; } public TemperaturesList TemperaturesList { get; set; } // public Dc_ Dc { get; set; } public BatteryDeligreenDataRecord(Voltage busVoltage, Current busCurrent ,String fwVersion, Percent soc, UInt16 numberOfCycles, Double batteryCapacity, Double ratedCapacity, Voltage totalBatteryVoltage, Percent soh, Double residualCapacity, List cellVoltage, TemperaturesList temperaturesList) { BusVoltage = busVoltage; BusCurrent = busCurrent; FwVersion = fwVersion; TotalBatteryVoltage = totalBatteryVoltage; ResidualCapacity = residualCapacity; BatteryCapacity = batteryCapacity; Soc = soc; RatedCapacity = ratedCapacity; NumberOfCycles = numberOfCycles; Soh = soh; CellVoltage = cellVoltage; TemperaturesList = temperaturesList; Power = busVoltage * busCurrent; } // public struct Dc_ // { // public Voltage Voltage => BusVoltage; // public Current Current => BusCurrent; // public ActivePower Power => BusVoltage * BusCurrent; // } }