diff options
author | William Wilgus <wilgus.william@gmail.com> | 2024-12-19 10:54:40 -0500 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2024-12-19 12:11:38 -0500 |
commit | 0bb79dd84776ee32ad2adab20c3b5be57aa6a4aa (patch) | |
tree | 59239e8723f98c3ef8dc7c1fd396518e612093b6 | |
parent | b77c973d1a4408a86b9d99e6125ce5747934fc81 (diff) | |
download | rockbox-0bb79dd847.tar.gz rockbox-0bb79dd847.zip |
ascodec (sansas) add a 10 minute delay before re-enabling charge
Change-Id: I0b7bc3c92aeefa43f40becb26d7d9344d463775b
-rw-r--r-- | firmware/target/arm/powermgmt-ascodec.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/firmware/target/arm/powermgmt-ascodec.c b/firmware/target/arm/powermgmt-ascodec.c index 0e4c8b7074..e31ccc8afb 100644 --- a/firmware/target/arm/powermgmt-ascodec.c +++ b/firmware/target/arm/powermgmt-ascodec.c @@ -105,6 +105,9 @@ static void disable_charger(void) /* Enable charger with specified settings. Start timers, etc. */ static void enable_charger(void) { + if (++ charger_total_timer < 0) + return; /* wait to re-enable charging */ + ascodec_write_charger(BATT_CHG_I | BATT_CHG_V); sleep(HZ/10); /* Allow charger turn-on time (it could be gradual). */ @@ -131,6 +134,7 @@ void powermgmt_init_target(void) static inline void charger_plugged(void) { + charger_total_timer = 0; batt_threshold = BATT_FULL_VOLTAGE; /* Start with topped value. */ battery_voltage_sync(); } @@ -171,7 +175,8 @@ static inline void charger_control(void) charge_state = CHARGE_STATE_ERROR; } /* else end of charge */ - + charger_total_timer = -(HZ * 600) / POWER_THREAD_STEP_TICKS; + /* wait 10 minutes before re-enabling charging again */ disable_charger(); break; } /* CHARGING: */ |