improve damping
This commit is contained in:
@ -155,11 +155,12 @@ void updateAverage(sMeasurement *pMeasurement)
|
|||||||
{
|
{
|
||||||
if (pMeasurement->fCurrentValue > pMeasurement->fDampedValue)
|
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 AVG60S_SAMPLE_SIZE 60U
|
||||||
#define AVG24H_SAMPLE_SIZE 24U
|
#define AVG24H_SAMPLE_SIZE 24U
|
||||||
#define PRED60S_SAMPLE_SIZE 60U
|
#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
|
typedef enum _BurnerErrorState
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user