From 30473596c542f4e475b6654bedf63a4cd4e44214 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期三, 29 十一月 2023 16:12:56 +0800
Subject: [PATCH] Merge branch '定位-临近' of http://47.108.70.204:60062/r/XRange_Tag into 定位-临近

---
 Src/application/serial_at_cmd_app.c |  206 +++++++++++++++++++++++++-------------------------
 1 files changed, 103 insertions(+), 103 deletions(-)

diff --git a/Src/application/serial_at_cmd_app.c b/Src/application/serial_at_cmd_app.c
index a2a3d62..4d54ad4 100644
--- a/Src/application/serial_at_cmd_app.c
+++ b/Src/application/serial_at_cmd_app.c
@@ -9,118 +9,118 @@
 #define CMD_WRITE	2
 #define CMD_REPLY 3
 #define EUART_RX_BUF_SIZE 100
-typedef enum{	UsartReceiveWaitHead0, 
-				UsartReceiveWaitHead1,
-				UsartReceiveWaitMsgType,
-				UsartReceiveWaitLength, 
-				UsartReceiveWaitCMD,
-				UsartReceiveWaitIndex,
-				UsartReceiveWaitDataLen,
-				UsartReceiveWaitData,
-				UsartReceiveWaitChecksum
-}UsartRecvPackState;
+typedef enum {	UsartReceiveWaitHead0,
+                UsartReceiveWaitHead1,
+                UsartReceiveWaitMsgType,
+                UsartReceiveWaitLength,
+                UsartReceiveWaitCMD,
+                UsartReceiveWaitIndex,
+                UsartReceiveWaitDataLen,
+                UsartReceiveWaitData,
+                UsartReceiveWaitChecksum
+             } UsartRecvPackState;
 uint8_t mUsartReceivePack[100] = {0};
 
 void SendComMap(uint8_t data_length, uint8_t index)
 {
-	static uint8_t send_frame[EUART_RX_BUF_SIZE];
-	uint16_t checksum = 0;
-	send_frame[0] = 0x55;
-	send_frame[1] = 0xAA;
-	send_frame[2] = 0x03;
-	send_frame[3] = data_length+5;
-	send_frame[4] = CMD_REPLY;
-	send_frame[5] = index;
-	send_frame[6] = data_length;
-	memcpy(&send_frame[7], &g_com_map[index], data_length);
-	for(int i = 0; i<(data_length+5); i++)
-	{
-		checksum += send_frame[2+i];
-	}
-	checksum = Checksum_u16(&send_frame[2],5+data_length);
-	memcpy(&send_frame[7+data_length],&checksum,2);
-	
-	UART_PushFrame(send_frame, data_length+9);	
+    static uint8_t send_frame[EUART_RX_BUF_SIZE];
+    uint16_t checksum = 0;
+    send_frame[0] = 0x55;
+    send_frame[1] = 0xAA;
+    send_frame[2] = 0x03;
+    send_frame[3] = data_length+5;
+    send_frame[4] = CMD_REPLY;
+    send_frame[5] = index;
+    send_frame[6] = data_length;
+    memcpy(&send_frame[7], &g_com_map[index], data_length);
+    for(int i = 0; i<(data_length+5); i++)
+    {
+        checksum += send_frame[2+i];
+    }
+    checksum = Checksum_u16(&send_frame[2],5+data_length);
+    memcpy(&send_frame[7+data_length],&checksum,2);
+
+    UART_PushFrame(send_frame, data_length+9);
 }
 
 void UsartParseDataHandler(uint8_t data)
 {
-	static UsartRecvPackState usart_receive_state = UsartReceiveWaitHead0;
-	uint16_t checksum = 0;
-	static uint8_t pack_datalen = 0,pack_length = 0,pack_index = 0,pack_msgtype = 0,pack_cmd = CMD_READ;
-	static uint8_t index = 0;
+    static UsartRecvPackState usart_receive_state = UsartReceiveWaitHead0;
+    uint16_t checksum = 0;
+    static uint8_t pack_datalen = 0,pack_length = 0,pack_index = 0,pack_msgtype = 0,pack_cmd = CMD_READ;
+    static uint8_t index = 0;
 
 
-	
-	if(usart_receive_state == UsartReceiveWaitChecksum) {			//若收到校验和包
-		checksum = 0;
-		for(int i = 0; i<pack_length-5; i++) { 
-			checksum += mUsartReceivePack[i];
-		}
-		checksum += pack_cmd;
-		checksum += pack_length;
-		checksum += pack_index;
-		checksum += pack_datalen;
-		checksum += pack_msgtype;
-		if(((data + checksum)&0xff) == 0xFF)				//校验通过
-		{
-			switch(pack_cmd)
-			{
-				case CMD_WRITE:
-					//从mUsartReceivePack中读取pack_length长度的字节,放到全局变量中
-					memcpy((uint8_t*)&g_com_map + pack_index, mUsartReceivePack, pack_datalen);
-					//返回一个error状态
-					//SendComMap(pack_datalen,pack_index);
-					save_com_map_to_flash();
-					delay_ms(100);
-					NVIC_SystemReset();
-					break;
-				case CMD_READ:
-					//read包中data字节,即mUsartReceivePack[0]表示数据长度;
-				//从g_com_data结构体中的第index位置读取长度为mUsartReceivePack[0]的字节,发送出来
-					SendComMap(pack_datalen,pack_index>>1);		
-					break;
-				default:
-					break;
-			}
-		}
-		usart_receive_state = UsartReceiveWaitHead0;
-		pack_index = 0;
-		pack_length = 0;
-		index=0;
-	} else if((usart_receive_state == UsartReceiveWaitData) ) {	//若果收到的是正常通讯包
-		mUsartReceivePack[index] = data;
-		index++;
-		if(index == pack_length-5) {		//如果收到的index与长度相等
-			usart_receive_state = UsartReceiveWaitChecksum;
-		}
-	} else if(usart_receive_state == UsartReceiveWaitDataLen) {						//收到指令类型字节
-		pack_datalen = data;
-		usart_receive_state = UsartReceiveWaitData;
-	}else if(usart_receive_state == UsartReceiveWaitIndex) {						//收到指令类型字节
-		pack_index = data;
-		usart_receive_state = UsartReceiveWaitDataLen;
-	} else if(usart_receive_state == UsartReceiveWaitCMD) {							//收到指令类型字节
-		pack_cmd = data;
-		usart_receive_state = UsartReceiveWaitIndex;
-	} else if(usart_receive_state == UsartReceiveWaitLength) {						//收到长度字节
-		
-			pack_length = data;
-			pack_index = 0;			
-			usart_receive_state = UsartReceiveWaitCMD;
-		
-	} else if((usart_receive_state == UsartReceiveWaitHead0) && (data == 0x55)) {	//收到第一个包头
-		usart_receive_state = UsartReceiveWaitHead1;
-	} else if((usart_receive_state == UsartReceiveWaitHead1) && (data == 0xAA)) {	//收到第二个包头
-		usart_receive_state = UsartReceiveWaitMsgType;
-	}else if ((usart_receive_state == UsartReceiveWaitMsgType) && (data == 0x3)) {
-		usart_receive_state = UsartReceiveWaitLength;
-		pack_msgtype = data;
-	}
-	else {
-		usart_receive_state = UsartReceiveWaitHead0;
-		pack_index = 0;
-		pack_length = 0;
-	}
+
+    if(usart_receive_state == UsartReceiveWaitChecksum) {			//若收到校验和包
+        checksum = 0;
+        for(int i = 0; i<pack_length-5; i++) {
+            checksum += mUsartReceivePack[i];
+        }
+        checksum += pack_cmd;
+        checksum += pack_length;
+        checksum += pack_index;
+        checksum += pack_datalen;
+        checksum += pack_msgtype;
+        if(((data + checksum)&0xff) == 0xFF)				//校验通过
+        {
+            switch(pack_cmd)
+            {
+            case CMD_WRITE:
+                //从mUsartReceivePack中读取pack_length长度的字节,放到全局变量中
+                memcpy((uint8_t*)&g_com_map + pack_index, mUsartReceivePack, pack_datalen);
+                //返回一个error状态
+                //SendComMap(pack_datalen,pack_index);
+                save_com_map_to_flash();
+                delay_ms(100);
+                NVIC_SystemReset();
+                break;
+            case CMD_READ:
+                //read包中data字节,即mUsartReceivePack[0]表示数据长度;
+                //从g_com_data结构体中的第index位置读取长度为mUsartReceivePack[0]的字节,发送出来
+                SendComMap(pack_datalen,pack_index>>1);
+                break;
+            default:
+                break;
+            }
+        }
+        usart_receive_state = UsartReceiveWaitHead0;
+        pack_index = 0;
+        pack_length = 0;
+        index=0;
+    } else if((usart_receive_state == UsartReceiveWaitData) ) {	//若果收到的是正常通讯包
+        mUsartReceivePack[index] = data;
+        index++;
+        if(index == pack_length-5) {		//如果收到的index与长度相等
+            usart_receive_state = UsartReceiveWaitChecksum;
+        }
+    } else if(usart_receive_state == UsartReceiveWaitDataLen) {						//收到指令类型字节
+        pack_datalen = data;
+        usart_receive_state = UsartReceiveWaitData;
+    } else if(usart_receive_state == UsartReceiveWaitIndex) {						//收到指令类型字节
+        pack_index = data;
+        usart_receive_state = UsartReceiveWaitDataLen;
+    } else if(usart_receive_state == UsartReceiveWaitCMD) {							//收到指令类型字节
+        pack_cmd = data;
+        usart_receive_state = UsartReceiveWaitIndex;
+    } else if(usart_receive_state == UsartReceiveWaitLength) {						//收到长度字节
+
+        pack_length = data;
+        pack_index = 0;
+        usart_receive_state = UsartReceiveWaitCMD;
+
+    } else if((usart_receive_state == UsartReceiveWaitHead0) && (data == 0x55)) {	//收到第一个包头
+        usart_receive_state = UsartReceiveWaitHead1;
+    } else if((usart_receive_state == UsartReceiveWaitHead1) && (data == 0xAA)) {	//收到第二个包头
+        usart_receive_state = UsartReceiveWaitMsgType;
+    } else if ((usart_receive_state == UsartReceiveWaitMsgType) && (data == 0x3)) {
+        usart_receive_state = UsartReceiveWaitLength;
+        pack_msgtype = data;
+    }
+    else {
+        usart_receive_state = UsartReceiveWaitHead0;
+        pack_index = 0;
+        pack_length = 0;
+    }
 
 }

--
Gitblit v1.9.3