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,
}
}