From 716c158716ecb4c49720f9459fd59c0e6a62db81 Mon Sep 17 00:00:00 2001 From: Thomas Kolb Date: Sat, 10 Jul 2021 16:38:47 +0200 Subject: [PATCH] Discharging: use averaged values for thresholds --- src/charge_control.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/charge_control.c b/src/charge_control.c index cef43f0..7a2e53b 100644 --- a/src/charge_control.c +++ b/src/charge_control.c @@ -270,7 +270,7 @@ static void load_fsm_update(uint64_t uptime_ms, struct MeasurementResult *meas) discharge_state = DISCHARGE_OVERCURRENT; } - if(meas->u_bat < u_bat_load_off) { + if(meas->avg_u_bat < u_bat_load_off) { discharge_state = DISCHARGE_VOLTAGE_LOW; } break; @@ -282,7 +282,7 @@ static void load_fsm_update(uint64_t uptime_ms, struct MeasurementResult *meas) } // Can only switch on again after a specific amount of time has passed - if((meas->u_bat > u_bat_load_on) + if((meas->avg_u_bat > u_bat_load_on) && (discharge_time_in_state > LOAD_ON_DELAY)) { discharge_state = DISCHARGE_OK; }