From 7a422188abcb3d8bdb31de471191909a9602cf93 Mon Sep 17 00:00:00 2001 From: penglei <1624952103@qq.com> Date: Mon, 8 Dec 2025 12:07:21 +0800 Subject: [PATCH] =?utf8?q?=E5=BC=80=E6=9C=BA=E5=A2=9E=E5=8A=A0=E7=94=B5?= =?utf8?q?=E5=8E=8B=E6=A3=80=E6=B5=8B=EF=BC=8C=E6=9C=AA=E5=85=85=E7=94=B5?= =?utf8?q?=E7=8A=B6=E6=80=81=E7=94=B5=E5=8E=8B=E5=B0=8F=E4=BA=8E3V?= =?utf8?q?=E5=BC=BA=E5=88=B6=E5=85=B3=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../brandy/brandy_standard/chip_init.c | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/code/sdk/application/brandy/brandy_standard/chip_init.c b/code/sdk/application/brandy/brandy_standard/chip_init.c index 57e422746..01ecf4e8f 100644 --- a/code/sdk/application/brandy/brandy_standard/chip_init.c +++ b/code/sdk/application/brandy/brandy_standard/chip_init.c @@ -141,6 +141,39 @@ void chip_init(void) uapi_timer_init(); uapi_timer_adapter(0, TIMER_0_IRQN, irq_prio(TIMER_0_IRQN)); +#if defined(SUPPORT_BATTERY_SERVICE) + + extern uint8_t get_charge_stat(void); + extern bool batteryservice_get_voltage_by_channel(float *voltage, uint8_t channel); + #define ADC_CHANNEL_BAT_VOLTAGE 2 + + if(!get_charge_stat()) + { + float batV = 0.0f; + batteryservice_get_voltage_by_channel(&batV,ADC_CHANNEL_BAT_VOLTAGE); + PRINT("battery Voltage %.02f\n",batV); + + if(batV <= 3.0f) + { + printf("Warning: Battery voltage is too low. Device will power off"); + uapi_tcxo_delay_ms(10); + extern void mcu_poweroff(void); + mcu_poweroff(); + } + // while( batV < MIN_BOOTUP_VOTAGE) + // { + // batteryservice_get_voltage_by_channel(&batV,ADC_CHANNEL_BAT_VOLTAGE); + // charge_stat = get_charge_stat(); + // PRINT("battery Voltage %.02f , charging %d\n",batV,charge_stat); + // uapi_tcxo_delay_ms(1000); + // enable_charge(); + // // disable_02c(); + + // } + } + +#endif + chip_xip_init(); #if TCXO_CLK_DYN_ADJUST == YES init_mcu_core_clk(); -- 2.17.1