namespace TestApp.Configuration { public class Settings { internal const string DEFAULT_CHARGER_DRIVER = "VestelEvc04"; internal const string DEFAULT_CHARGER_ADDRESS = "192.168.178.100"; internal const int DEFAULT_CHARGER_PORT = 512; public string? ChargerDriver { get; set; } public string? ChargerAddress { get; set; } public int? ChargerPort { get; set; } public int Mode { get; set; } public ModeSettings[]? ModeSettings { get; set; } } public class PidSetting { public double KP { get; set; } public double KI { get; set; } public double KD { get; set; } } public class ModeSettings { public ProcessVariable ProcessVariable { get; set; } public double SetPoint { get; set; } public PidSetting? PositivePid { get; set; } public PidSetting? NegativePid { get; set; } } public enum ProcessVariable { /// in W ActivePowerPositive, /// in Wh ActiveEnergyPositive, /// in W ActivePowerNegative, /// in Wh ActiveEnergyNegative, /// in var ReactivePowerPositive, /// in varh ReactiveEnergyPositive, /// in var ReactivePowerNegative, /// in varh ReactiveEnergyNegative, /// in VA ApparentPowerPositive, /// in VAh ApparentEnergyPositive, /// in VA ApparentPowerNegative, /// in VAh ApparentEnergyNegative, /// in - PowerFactor, /// in Hz SupplyFrequency, /// in W ActivePowerPositiveL1, /// in Wh ActiveEnergyPositiveL1, /// in W ActivePowerNegativeL1, /// in Wh ActiveEnergyNegativeL1, /// in var ReactivePowerPositiveL1, /// in varh ReactiveEnergyPositiveL1, /// in var ReactivePowerNegativeL1, /// in varh ReactiveEnergyNegativeL1, /// in VA ApparentPowerPositiveL1, /// in VAh ApparentEnergyPositiveL1, /// in VA ApparentPowerNegativeL1, /// in VAh ApparentEnergyNegativeL1, /// in A CurrentL1, /// in V VoltageL1, /// in - PowerFactorL1, /// in W ActivePowerPositiveL2, /// in Wh ActiveEnergyPositiveL2, /// in W ActivePowerNegativeL2, /// in Wh ActiveEnergyNegativeL2, /// in var ReactivePowerPositiveL2, /// in varh ReactiveEnergyPositiveL2, /// in var ReactivePowerNegativeL2, /// in varh ReactiveEnergyNegativeL2, /// in VA ApparentPowerPositiveL2, /// in VAh ApparentEnergyPositiveL2, /// in VA ApparentPowerNegativeL2, /// in VAh ApparentEnergyNegativeL2, /// in A CurrentL2, /// in V VoltageL2, /// in - PowerFactorL2, /// in W ActivePowerPositiveL3, /// in Wh ActiveEnergyPositiveL3, /// in W ActivePowerNegativeL3, /// in Wh ActiveEnergyNegativeL3, /// in var ReactivePowerPositiveL3, /// in varh ReactiveEnergyPositiveL3, /// in var ReactivePowerNegativeL3, /// in varh ReactiveEnergyNegativeL3, /// in VA ApparentPowerPositiveL3, /// in VAh ApparentEnergyPositiveL3, /// in VA ApparentPowerNegativeL3, /// in VAh ApparentEnergyNegativeL3, /// in A CurrentL3, /// in V VoltageL3, /// in - PowerFactorL3, } }