开机重置一次充电IC, 尝试确保电压过低系统无法正常完整启动的情况下,可以正常充电。 167/1 167/head 168/target/1 169/target/1 170/target/1
authorSnickerSun <snickersun@163.com>
Tue, 14 May 2024 02:57:51 +0000 (10:57 +0800)
committerSnickerSun <snickersun@163.com>
Tue, 14 May 2024 02:57:51 +0000 (10:57 +0800)
code/sdk/application/brandy/brandy_standard/chip_init.c

index faee956..8de3e7b 100755 (executable)
@@ -37,6 +37,8 @@
 #define XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK    0x8\r
 #define XIP_CACHE_ENABLE_WRITE_INTR_MASK        0x1\r
 \r
+#define ENABLE_CHARGE_BY_DEFAULT\r
+\r
 #if ENABLE_LOW_POWER == YES\r
 extern uint32_t __sys_pm_start__;\r
 extern uint32_t __sys_pm_load__;\r
@@ -140,8 +142,30 @@ void chip_init(void)
     uapi_systick_init();\r
     uapi_timer_init();\r
     uapi_timer_adapter(0, TIMER_0_IRQN, irq_prio(TIMER_0_IRQN));\r
-\r
+    \r
+#ifdef ENABLE_CHARGE_BY_DEFAULT\r
+    #define ADC_CHANNEL_BAT_VOLTAGE 2\r
+    #define MIN_BOOTUP_VOTAGE 4.5f \r
+    disable_charge();\r
+    float batV = 0.0f;\r
+    batteryservice_get_voltage_by_channel(&batV,ADC_CHANNEL_BAT_VOLTAGE);\r
+    uint8_t charge_stat = get_charge_stat();\r
+    PRINT("battery Voltage %.02f , charging %d\n",batV,charge_stat);\r
+    enable_charge(); \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
+#endif\r
     chip_xip_init();\r
+\r
 #if TCXO_CLK_DYN_ADJUST == YES\r
     init_mcu_core_clk();\r
 #endif\r