* 电池电压读取逻辑:
* 充电10秒,停止充电1秒,并读取电压。之后再开始充电10秒,再停止充电一秒,读取电压,然后再开始充电。。。。依此类推。
* **/
-#define USE_APP_TIMER 0
+#define USE_APP_TIMER 1
#include "cmsis_os2.h"
#include "input_app.h"
#endif
static void battery_timer_start_check_released(uint32_t rtc_ms)
{
- bool start = false;
- if (!g_bat_timer_is_running) {
- g_bat_timer_is_running = true;
- start = true;
- }
+ // bool start = false;
+ // if (!g_bat_timer_is_running) {
+ // g_bat_timer_is_running = true;
+ // start = true;
+ // }
- if (start) {
+
#if USE_APP_TIMER
- osTimerStop(g_battery_timer);
+ if (g_bat_timer_is_running) osTimerStop(g_battery_timer);
osTimerStart(g_battery_timer, rtc_ms);
#else
- uapi_rtc_stop(g_battery_timer);
- uapi_rtc_start(g_battery_timer, rtc_ms, battery_check_timer_callback, 0);
+ if (g_bat_timer_is_running) uapi_rtc_stop(g_battery_timer);
+ uapi_rtc_start(g_battery_timer, rtc_ms, battery_check_timer_callback, 1);
#endif
- }
+ g_bat_timer_is_running = true;
}
void do_battery_check_msg(int cmd);
static void battery_check_and_enable_charge(void);
uapi_rtc_stop(g_battery_timer);
uapi_rtc_delete(g_battery_timer);
#endif
+ g_bat_timer_is_running = false;
g_battery_timer = NULL;
}
void battery_service_resume(void)
{
+ PRINT("battery_service resume!\r\n");
battery_check_timer_callback(0);
}
void battery_service_suspend(void)
{
-
+ PRINT("battery_service suspend!\r\n");
}
\ No newline at end of file