1
0
Fork 0
forked from len0rd/rockbox

ascodec (sansas) add a 10 minute delay before re-enabling charge

Change-Id: I0b7bc3c92aeefa43f40becb26d7d9344d463775b
This commit is contained in:
William Wilgus 2024-12-19 10:54:40 -05:00 committed by William Wilgus
parent b77c973d1a
commit 0bb79dd847

View file

@ -105,6 +105,9 @@ static void disable_charger(void)
/* Enable charger with specified settings. Start timers, etc. */ /* Enable charger with specified settings. Start timers, etc. */
static void enable_charger(void) 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); ascodec_write_charger(BATT_CHG_I | BATT_CHG_V);
sleep(HZ/10); /* Allow charger turn-on time (it could be gradual). */ 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) static inline void charger_plugged(void)
{ {
charger_total_timer = 0;
batt_threshold = BATT_FULL_VOLTAGE; /* Start with topped value. */ batt_threshold = BATT_FULL_VOLTAGE; /* Start with topped value. */
battery_voltage_sync(); battery_voltage_sync();
} }
@ -171,7 +175,8 @@ static inline void charger_control(void)
charge_state = CHARGE_STATE_ERROR; charge_state = CHARGE_STATE_ERROR;
} }
/* else end of charge */ /* else end of charge */
charger_total_timer = -(HZ * 600) / POWER_THREAD_STEP_TICKS;
/* wait 10 minutes before re-enabling charging again */
disable_charger(); disable_charger();
break; break;
} /* CHARGING: */ } /* CHARGING: */