From ae4a901ad5918e3f04e841830cc4bad2e44d2cdc Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期二, 09 五月 2023 16:19:21 +0800
Subject: [PATCH] 960字节uwb升级开发阶段性提交

---
 Src/application/global_param.c |   64 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 8 deletions(-)

diff --git a/Src/application/global_param.c b/Src/application/global_param.c
index 958cf85..0bf1a4b 100644
--- a/Src/application/global_param.c
+++ b/Src/application/global_param.c
@@ -5,11 +5,59 @@
 
 uint16_t g_com_map[COM_MAP_SIZE];
 
+void EnterUWBUpdateMode(void)
+{
+		uint32_t result = 0;
+		uint16_t tmp = 0xCCCC;
+		__disable_irq();
+		result = FLASH_Prepare(0x8004A38, 128);
+		if(result)
+				result = FLASH_Write(0x8004A38, (const uint8_t*)&tmp, 2); 
+		__enable_irq();
+		printf("进入升级模式\r\n");
+		g_com_map[CNT_UPDATE]=0;
+		save_com_map_to_flash();
+		delay_ms(100);
+		//	STMFLASH_Write_NoCheck(0x8004A38,0xAAAA);
+		//	Delay_ms(100);
+		SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader   
+}
 
+u8 parameter_check(void)
+{
+    if(g_com_map[0] != 0x55AA)
+    {
+        return 1;
+    }
+    if(g_com_map[COM_INTERVAL]<50||COM_INTERVAL>1000)
+    {
+        return 1;
+    }
+    if(g_com_map[POWER]>67)
+    {
+        return 1;
+    }
+    if(g_com_map[MOTOR_ENABLE]>1)
+    {
+        return 1;
+    }
+    if(g_com_map[IMU_ENABLE]>1)
+    {
+        return 1;
+    }
+    if(g_com_map[ACTIVE_INDEX]>1)
+    {
+        return 1;
+    }
+    return 0;
+}
 uint32_t save_com_map_to_flash(void)
 {
 	uint32_t result = 0;
-
+    if(parameter_check()) //参数错误,不保存
+    {
+        return 1;
+    }
 	__disable_irq();
 	result = FLASH_Prepare(FLASH_IAP_CTRL_MAP, (COM_MAP_SIZE<<1));
 	if(result)
@@ -25,9 +73,9 @@
 	if(g_com_map[0] != 0x55AA)
 	{
 		g_com_map[0] = 0x55AA;
-		g_com_map[DEV_ID] =0x1865;//DEFAULT_DEV_ID;	//默认设备ID
+		g_com_map[DEV_ID] =0x1234;//DEFAULT_DEV_ID;	//默认设备ID
 
-		g_com_map[COM_INTERVAL]=500;
+		g_com_map[COM_INTERVAL]=500;   //频率2HZ
 		g_com_map[MAX_REPORT_ANC_NUM]=10;
 		g_com_map[GROUP_ID]=0;
 		g_com_map[DIST_OFFSET]=-31;
@@ -37,18 +85,18 @@
 	
 		g_com_map[HEARTBEAT]=0;
 		
-		g_com_map[POWER]=DEFAULT_RFPOWER;
+		g_com_map[POWER]=67;    //发射功率
 		g_com_map[IMU_THRES]=2;
-		g_com_map[NOMOVESLEEP_TIME]=120;
-		g_com_map[MOTOR_ENABLE]=1;
-		g_com_map[IMU_ENABLE]=1;
+		g_com_map[NOMOVESLEEP_TIME]=120;   //静止休眠2分钟
+		g_com_map[MOTOR_ENABLE]=1;       //震动电机使能
+		g_com_map[IMU_ENABLE]=1;        //静止休眠使能
 		
 		g_com_map[CNT_RESTART]=0;
 		g_com_map[CNT_REBOOT]=0;
 		g_com_map[CNT_UPDATE]=0;
 		g_com_map[MODBUS_MODE]=0;
 		g_com_map[ACTIVE_INDEX]=0;
-		g_com_map[STATIONARY_TIME]=20;
+		g_com_map[STATIONARY_TIME]=20;       //静止判定时间20秒
         g_com_map[HEIGHTOFFEST_INDEX]=0;
 		save_com_map_to_flash();
 	}	

--
Gitblit v1.9.3