uapi_timer_init();\r
uapi_timer_adapter(0, TIMER_0_IRQN, irq_prio(TIMER_0_IRQN));\r
\r
+#if defined(SUPPORT_BATTERY_SERVICE)\r
+\r
+ extern uint8_t get_charge_stat(void);\r
+ extern bool batteryservice_get_voltage_by_channel(float *voltage, uint8_t channel);\r
+ #define ADC_CHANNEL_BAT_VOLTAGE 2\r
+\r
+ if(!get_charge_stat())\r
+ {\r
+ float batV = 0.0f;\r
+ batteryservice_get_voltage_by_channel(&batV,ADC_CHANNEL_BAT_VOLTAGE);\r
+ PRINT("battery Voltage %.02f\n",batV);\r
+\r
+ if(batV <= 3.0f)\r
+ {\r
+ printf("Warning: Battery voltage is too low. Device will power off");\r
+ uapi_tcxo_delay_ms(10);\r
+ extern void mcu_poweroff(void);\r
+ mcu_poweroff();\r
+ }\r
+ // while( batV < MIN_BOOTUP_VOTAGE)\r
+ // {\r
+ // batteryservice_get_voltage_by_channel(&batV,ADC_CHANNEL_BAT_VOLTAGE);\r
+ // charge_stat = get_charge_stat();\r
+ // PRINT("battery Voltage %.02f , charging %d\n",batV,charge_stat);\r
+ // uapi_tcxo_delay_ms(1000);\r
+ // enable_charge(); \r
+ // // disable_02c();\r
+ \r
+ // }\r
+ }\r
+ \r
+#endif\r
+\r
chip_xip_init();\r
#if TCXO_CLK_DYN_ADJUST == YES\r
init_mcu_core_clk();\r