From ae079c1fc5d990ba55714d4b3a51b19f96edaec4 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期四, 24 四月 2025 16:01:43 +0800
Subject: [PATCH] 改为中断来低电平触发发送当前扫描数据,3s内扫描不到的会退出,串口来55 AA 75 70 64 61 74 65,进入升级模式

---
 01_SDK/modules/hal/panchip/panplat/pan1070/bsp/device/Source/pan_power.c |   37 +++++++++++++++++++++----------------
 1 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/device/Source/pan_power.c b/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/device/Source/pan_power.c
index 18f027b..4660c8e 100644
--- a/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/device/Source/pan_power.c
+++ b/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/device/Source/pan_power.c
@@ -3,18 +3,18 @@
 
 power_param_t m_power_param;
 
-static uint8_t config_flag = 0;
+static uint8_t config_flag = 0xFF;
 
-bool PW_ParamIsHas(void)
+bool PW_ParamExists(void)
 {
-	return m_power_param.buck_out_trim;
+	return m_power_param.hp_ldo_trim;
 }
 void PW_ParamsSet(OTP_STRUCT_T *p_otp)
 {
 	m_power_param.buck_out_trim = p_otp->m.buck_out_trim;
 	m_power_param.hp_ldo_trim = p_otp->m.hp_ldo_trim;
 	m_power_param.lph_ldo_vref_trim = p_otp->m_v2.lph_ldo_vref_trim;
-	m_power_param.lpl_ldo_trim = p_otp->m.lph_ldo_trim;
+	m_power_param.lpl_ldo_trim = p_otp->m.lpl_ldo_trim;
 }
 
 void PW_AutoOptimizeParams(int16_t temp)
@@ -32,19 +32,16 @@
 		tmp |= (((m_power_param.buck_out_trim >> 1) + 2) << 2);
 		ANA->LP_BUCK_3V = tmp;
 		
-		//LPLDOH vref;  FT+2
-		val = (m_power_param.lph_ldo_vref_trim + 2);
-		if(val > 7) val = 7;
-	
+		//LPLDOH vref;  Fixed to Maximum (0x7)
 		tmp = ANA->LP_LP_LDO_3V;
-		tmp &= ~(0x7u << 21);
-		tmp |= (val << 21);
+		tmp |= (0x7u << 21);
 		ANA->LP_LP_LDO_3V = tmp;
 		
 		//LPLDOL trim;   FT+1
 		tmp = ANA->LP_LP_LDO_3V;
 		tmp &= ~(0xFu << 1);
-		tmp |= ((m_power_param.lpl_ldo_trim + 1) << 1);
+		// tmp |= ((m_power_param.lpl_ldo_trim + 1) << 1);
+		tmp |= (0xf << 1);
 		ANA->LP_LP_LDO_3V = tmp;
 		
 		//HPLDO(DVDD) default:8; FT 
@@ -53,7 +50,7 @@
 		tmp |= ((m_power_param.hp_ldo_trim)<<3);
 		ANA->LP_HP_LDO = tmp;
 	}
-	else if(temp >= 40) {
+	else if(temp >= 50) {
 		if(config_flag == 2)
 			return;
 		config_flag = 2;
@@ -76,7 +73,8 @@
 		//LPLDOL trim;   FT
 		tmp = ANA->LP_LP_LDO_3V;
 		tmp &= ~(0xFu << 1);
-		tmp |= ((m_power_param.lpl_ldo_trim) << 1);
+		tmp |= ((m_power_param.lpl_ldo_trim + 2) << 1);
+		// tmp |= (0xf << 1);
 		ANA->LP_LP_LDO_3V = tmp;
 		
 		//HPLDO(DVDD) default:8;  FT 
@@ -107,12 +105,19 @@
 		tmp &= ~(0xFu << 1);
 		tmp |= ((m_power_param.lpl_ldo_trim) << 1);
 		ANA->LP_LP_LDO_3V = tmp;
-		
+
+	#if CONFIG_DVDD_VOL_OPTIMIZE_EN
+		//HPLDO(DVDD) default - 1/2; default:8
+		tmp = ANA->LP_HP_LDO;
+		tmp &= ~(0xFul <<3);
+		tmp |= ((m_power_param.hp_ldo_trim - 2)<<3); //~1.12V
+		ANA->LP_HP_LDO = tmp;
+	#else
 		//HPLDO(DVDD) default:8;  FT-1
 		tmp = ANA->LP_HP_LDO;
 		tmp &= ~(0xFul <<3);
-		tmp |= ((m_power_param.hp_ldo_trim - 1)<<3);
+		tmp |= ((m_power_param.hp_ldo_trim - 1)<<3); //~1.16V
 		ANA->LP_HP_LDO = tmp;
-
+	#endif
 	}
 }

--
Gitblit v1.9.3