improve damping

This commit is contained in:
2025-10-24 11:14:10 +02:00
parent b3a571da3f
commit 5b987bfd5b
2 changed files with 6 additions and 4 deletions

View File

@ -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));
}
}
}

View File

@ -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
{