improve damping
This commit is contained in:
@ -155,11 +155,12 @@ void updateAverage(sMeasurement *pMeasurement)
|
||||
{
|
||||
if (pMeasurement->fCurrentValue > pMeasurement->fDampedValue)
|
||||
{
|
||||
pMeasurement->fDampedValue = pMeasurement->fDampedValue + (DAMPING_FACTOR * (pMeasurement->fCurrentValue - pMeasurement->fDampedValue));
|
||||
pMeasurement->fDampedValue = pMeasurement->fDampedValue + (DAMPING_FACTOR_WARMER * (pMeasurement->fCurrentValue - pMeasurement->fDampedValue));
|
||||
}
|
||||
else
|
||||
|
||||
if (pMeasurement->fCurrentValue < pMeasurement->fDampedValue)
|
||||
{
|
||||
pMeasurement->fDampedValue = pMeasurement->fDampedValue - (DAMPING_FACTOR * (pMeasurement->fDampedValue - pMeasurement->fCurrentValue));
|
||||
pMeasurement->fDampedValue = pMeasurement->fDampedValue - (DAMPING_FACTOR_COLDER * (pMeasurement->fDampedValue - pMeasurement->fCurrentValue));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,7 +6,8 @@
|
||||
#define AVG60S_SAMPLE_SIZE 60U
|
||||
#define AVG24H_SAMPLE_SIZE 24U
|
||||
#define PRED60S_SAMPLE_SIZE 60U
|
||||
#define DAMPING_FACTOR 0.01f
|
||||
#define DAMPING_FACTOR_WARMER 0.001f
|
||||
#define DAMPING_FACTOR_COLDER 0.005f
|
||||
|
||||
typedef enum _BurnerErrorState
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user