Remove PidController
This commit is contained in:
@@ -1,31 +0,0 @@
|
|||||||
using TestApp.Configuration;
|
|
||||||
|
|
||||||
namespace TestApp
|
|
||||||
{
|
|
||||||
internal class PidController
|
|
||||||
{
|
|
||||||
private DateTime _PreviousUpdateTime;
|
|
||||||
private double _PreviousError;
|
|
||||||
private double _Integral;
|
|
||||||
|
|
||||||
public PidSetting PositiveSettings { get; set; } = new PidSetting();
|
|
||||||
public PidSetting NegativeSettings { get; set; } = new PidSetting();
|
|
||||||
public double SetPoint { get; set; }
|
|
||||||
|
|
||||||
public double Update(double measurement) {
|
|
||||||
var error = measurement - SetPoint;
|
|
||||||
var dt = (DateTime.UtcNow - _PreviousUpdateTime).TotalSeconds;
|
|
||||||
|
|
||||||
var settings = error > 0 ? PositiveSettings : NegativeSettings;
|
|
||||||
|
|
||||||
var proportional = error * settings.KP;
|
|
||||||
_Integral += error * settings.KI * dt;
|
|
||||||
var differential = (error - _PreviousError) * settings.KD / dt;
|
|
||||||
|
|
||||||
_PreviousError = error;
|
|
||||||
_PreviousUpdateTime = DateTime.UtcNow;
|
|
||||||
|
|
||||||
return proportional + _Integral + differential;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -106,6 +106,5 @@ namespace TestApp
|
|||||||
_Driver.HostAddress = settings.ChargerAddress ?? Settings.DEFAULT_CHARGER_ADDRESS;
|
_Driver.HostAddress = settings.ChargerAddress ?? Settings.DEFAULT_CHARGER_ADDRESS;
|
||||||
_Driver.Port = settings.ChargerPort ?? Settings.DEFAULT_CHARGER_PORT;
|
_Driver.Port = settings.ChargerPort ?? Settings.DEFAULT_CHARGER_PORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user