Просмотр исходного кода

add old protocol support, only support base cmd, test cmd use new protocol

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 5 лет назад
Родитель
Сommit
698b9826c8

+ 2 - 1
Application/app/bms_message.c

@@ -173,7 +173,8 @@ void process_bms_message(can_frame_t *frame, int len){
 			int sn_len = sizeof(sn);
 			fmc_read_sn(sn, &sn_len);
 			if (sn_len == 0){
-				memset(sn, 0, sizeof(sn));
+				sn[0] = 'B';
+				memset(sn + 1, '0', sizeof(sn) - 1);
 				sn_len = 21;
 			}
 			data = (u8 *)sn;

+ 144 - 0
Application/app/protocol_old.c

@@ -0,0 +1,144 @@
+#include <string.h>
+#include "app/sox/soc.h"
+#include "app/sox/measure.h"
+#include "app/sox/measure_task.h"
+#include "app/sox/health.h"
+#include "app/sox/state.h"
+#include "app/sox/iostate.h"
+#include "bsp/gpio.h"
+#include "bsp/ml5238.h"
+#include "bsp/fmc_flash.h"
+#include "libs/logger.h"
+#include "bsp/uart.h"
+#include "protocol_old.h"
+
+static uart_enum_t current_uart = SHARK_UART0;
+extern char* bsp_get_fversion(void);
+
+uint16_t _checksum(uint8_t *data, uint16_t size) {
+	uint32_t checksum;
+	if((NULL == data) || (0 == size)) {
+		return 0;
+	}
+
+	checksum = 0;
+	while(size>1) {
+		checksum += *(uint16_t*)data;
+		data += 2;
+		size -= 2;
+	}
+
+	if(size>0) {
+		checksum += *data;
+	}
+
+	while(checksum>>16) {
+		checksum = (checksum&0xFFFF)+(checksum>>16);
+	}	
+
+	return (uint16_t)~checksum;
+}
+
+
+static int get_response_data(uint8_t *data, uint8_t operate, uint8_t result){
+	comm_head_t *head = (comm_head_t *)data;
+	head->size = sizeof(comm_head_t);
+	head->type = 0x30;
+	head->dir = 0x16;
+	head->bStatus = 1;
+	head->cmd = 0x10;
+	head->protocol = 'B';
+	head->checksum = 0;
+
+	comm_response_t *response = (comm_response_t *)head->data;
+	response->remain_miles= 0; //Ê£ÓàÀï³Ì
+
+	response->capacity = get_soc()->capacity;
+	response->remain_charger_time= soc_get_charger_remain_time()/360; //10·ÖÖ®1Сʱµ¥Î»
+	response->is_chargering = bms_state_get()->charging;
+	
+	response->load_current = measure_value()->load_current;
+	response->pack_voltage = bms_state_get()->pack_voltage;
+	response->max_temp = -100;
+	for (int i = 0; i < PACK_TEMPS_NUM; i++){
+		if (response->max_temp < measure_value()->pack_temp[i]){
+			response->max_temp = measure_value()->pack_temp[i];
+		}
+	}
+	
+	response->health_state = *((uint16_t *)bms_health());
+	response->balance_mask = 0x0;
+	response->misc_status = (ml5238_is_charging() << 1) | (ml5238_is_discharging() << 2) | (AUX_VOL_IS_OPEN() << 3) |(io_state()->aux_lock_detect << 4) | ((get_soc()->capacity==100) << 5) | (((get_soc()->flags & SOC_FLAG_CALIBRATED) == 0) << 6);
+	response->result = (operate << 4) | result;
+
+	head->size += sizeof(comm_response_t);
+
+	if (operate == OP_READ_INFO){
+		uint8_t sn[32];
+		int sn_len = sizeof(sn);
+		fmc_read_sn(sn, &sn_len);
+		if (sn_len == 0){
+			sn[0] = 'B';
+			memset(sn + 1, '0', sizeof(sn) - 1);
+			sn_len = 18;
+		}			
+		memcpy(&data[head->size], sn, sn_len);
+		head->size += sn_len;
+		strcpy((char *)&data[head->size], bsp_get_fversion());
+		head->size += strlen(bsp_get_fversion());
+	}else if (operate == OP_ALARM_TIMES){
+		memset(&data[head->size], 0, 42);
+		head->size += 42;
+	}else if (operate == OP_CELL_VOL){
+		data[head->size ++] = CELLS_NUM;
+		for (int i = 0; i <CELLS_NUM; i++){
+			data[head->size ++] = (uint8_t)measure_value()->cell_vol[i];
+			data[head->size ++] = (uint8_t)(measure_value()->cell_vol[i] >> 8);
+		}
+	}else if (operate == OP_TEMP_OTHER){
+		for (int i = 0; i < PACK_TEMPS_NUM; i++){
+			data[head->size ++] = measure_value()->pack_temp[i];
+		}
+		data[head->size ++] = (ml5238_is_charging() << 0) | (ml5238_is_discharging() << 1);
+	}
+	head->checksum = _checksum(data, head->size);
+
+	return head->size;
+}
+
+void protocol_old_recv_frame(uart_enum_t uart_no, uint8_t *data, int len){
+	current_uart = uart_no;
+	comm_head_t *head = (comm_head_t *)data;
+	if (/*head->type != 0x30 || */head->dir != 0x16 || head->bStatus == 1 || head->size < sizeof(comm_head_t)){
+		return;
+	}
+	uint16_t checksum = head->checksum;
+	head->checksum = 0;
+	if (checksum != _checksum(data, len)){
+		return;
+	}
+
+	data = head->data;
+	data += 6;
+	uint8_t operate = data[0];
+	data += 1;
+	uint8_t result = 1;
+	if (operate == OP_OPEN_FET){
+		if (data[8] == 0x03) {
+			bms_state_get()->user_request = USER_REQUEST_PENDING | USER_REQUEST_DISCHARGER_ON|USER_REQUEST_CHARGER_ON;
+		}else if (data[8] == 0x0){
+			bms_state_get()->user_request = USER_REQUEST_PENDING | USER_REQUEST_SMALLCURRENT_OFF|USER_REQUEST_DISCHARGER_OFF|USER_REQUEST_CHARGER_OFF;
+		}else if (data[8] == 0x04) {
+			bms_state_get()->user_request = USER_REQUEST_PENDING | USER_REQUEST_SMALLCURRENT_ON;
+		}else {
+			result = 0;
+		}
+	}
+	uint8_t response_data[256];
+	uint16_t response_len = get_response_data(response_data, operate, result);
+	if (response_len <= 0){
+		return;
+	}
+	shark_uart_write_bytes(current_uart, response_data, response_len);
+}
+

+ 65 - 0
Application/app/protocol_old.h

@@ -0,0 +1,65 @@
+#pragma once
+#include "libs/shark_libs.h"
+
+#pragma  pack (push,1)  
+typedef struct
+{
+//整个包大小
+	uint8_t size;
+//命令设备
+	uint8_t type;
+//协议类型
+	uint8_t protocol;
+//命令类型
+	uint8_t cmd;
+//命令校验
+	uint16_t checksum;
+//命令处理调用
+	uint8_t dir;
+//命令返回状态
+	uint8_t bStatus;
+//命令数据部分
+	uint8_t data[0];
+}comm_head_t;
+#pragma pack(pop)
+
+#pragma  pack (push,1)  
+typedef struct
+{
+	uint8_t remain_miles;
+	uint8_t capacity;
+	uint8_t remain_charger_time;
+	uint8_t is_chargering;
+	uint32_t load_current;
+	uint32_t pack_voltage;
+	int8_t max_temp;
+	uint16_t health_state;
+	uint32_t balance_mask;
+	uint8_t misc_status; //bit0:bond, bit1-2: mos, bit3-4, small-short,full, bit 5, bit6 calibarate
+	uint8_t result;
+}comm_response_t;
+#pragma pack(pop)
+
+
+enum
+{
+	OP_NONE,
+	//OP_BOND,
+	OP_BIN_LIAN,
+	OP_WRITE_SN,
+	OP_PAIR,
+	OP_UPDATE_PAIR,
+	OP_READ_INFO,
+	OP_ALARM_TIMES,
+	OP_CELL_VOL,//0x07
+	OP_TEMP_OTHER,//0x08
+	
+	OP_OPEN_FET = 0x0B,
+
+	OP_CLEAR_PAIR = OP_TEMP_OTHER + 1,
+	OP_UPDATE_SOFTWARE_REQ = 0x0E,
+	OP_UPDATE_SOFTWARE = 0x0F,
+	
+	OP_MAX
+};
+

+ 1 - 1
Application/app/sox/state.c

@@ -192,7 +192,7 @@ static void _process_user_request(s32 health){
 			start_aux_power(0);
 		}else if (_bms_state.user_request & USER_REQUEST_SMALLCURRENT_ON){ 
 			if ((health & Health_aux_Fault) == 0){
-				AUX_VOL_OPEN(1);
+				start_aux_power(1);
 			}
 		}
 		//¿ª¹Ø·Åµç

+ 16 - 12
Application/bsp/uart.c

@@ -42,14 +42,13 @@
 static u8 shark_uart0_tx_cache[SHARK_UART_TX_MEM_SIZE];
 static u8 shark_uart1_tx_cache[SHARK_UART_TX_MEM_SIZE];
 static u8 shark_uart_rx_cache[SHARK_UART_RX_MEM_SIZE];
-static shark_uart_t _shark_uart[SHARK_UART_COUNT];
+static shark_uart_t _shark_uart[2];
 static shark_task_t _uart_task;
-static bool new_prococol = false;
 static u64 _rx_time;
 static bool uart_no_data = false;
 #define update_dma_w_pos(uart) circle_update_write_position(&uart->rx_queue, SHARK_UART_RX_MEM_SIZE - DMA_CHCNT(uart->rx_dma_ch))
 extern void protocol_recv_frame(uart_enum_t uart_no, char *data, int len);
-extern void protocol_notify_old_frame(uart_enum_t uart_no);
+extern void protocol_old_recv_frame(uart_enum_t uart_no, uint8_t *data, int len);
 // ================================================================================
 static uart_enum_t _uart_index(uint32_t com){
 	return com == SHARK_UART0_com?SHARK_UART0:SHARK_UART1;
@@ -62,7 +61,6 @@ static bool shark_uart_on_rx_frame(shark_uart_t *uart)
 	if (crc0 != crc1) {
 		return false;
 	}
-	new_prococol = true;
 	protocol_recv_frame(_uart_index(uart->uart_com), (char *)uart->rx_frame, uart->rx_length);
 	return true;
 }
@@ -72,12 +70,15 @@ static void shark_uart_rx(shark_uart_t *uart){
 		u8 data;
 		update_dma_w_pos(uart);
 		if (circle_get_one_data(&uart->rx_queue, &data) != 1) {
-			if (!new_prococol){//通过老协议发送过来的,需要回复一个信息,告知使用新协议,霍尔移除,通信超时需要reset new_protocol
-				if (shark_get_mseconds() >= (30 + _rx_time)) {
-					_rx_time = 0xFFFFFFFFFFFFL;
-					protocol_notify_old_frame(_uart_index(uart->uart_com));
+			if (shark_get_mseconds() >= (30 + _rx_time)) {
+				//_rx_time = 0xFFFFFFFFFFFFL;
+				if (uart->rx_length_old_prot > 0){
+					protocol_old_recv_frame(_uart_index(uart->uart_com), uart->rx_frame_old_prot, uart->rx_length_old_prot);
+					uart->rx_length_old_prot = 0;
 				}
-			}else if (shark_get_mseconds() >= (2000 + _rx_time)){
+			}
+			
+			if (shark_get_mseconds() >= (5000 + _rx_time)){
 				uart_no_data = true;
 
 			}else {
@@ -86,6 +87,10 @@ static void shark_uart_rx(shark_uart_t *uart){
 			break;
 		}
 		_rx_time = shark_get_mseconds();
+		uart->rx_frame_old_prot[uart->rx_length_old_prot ++] = data;
+		if (uart->rx_length_old_prot == sizeof(uart->rx_frame_old_prot)){
+			uart->rx_length_old_prot = 0;
+		}
 		switch(data){
 			case CH_START:
 				uart->rx_length = 0;
@@ -330,8 +335,6 @@ void shark_uart_deinit(uart_enum_t uart_no){
 	}else {
 		UART1_IR_EN(0);
 	}
-	new_prococol = false;
-	uart_no_data = true;
 }
 
 
@@ -367,7 +370,8 @@ void shark_uart_init(uart_enum_t uart_no)
 	}else {
 		UART1_IR_EN(1);
 	}
-	_rx_time = 0xFFFFFFFFFFFFL;
+	_rx_time = shark_get_mseconds();
+	uart_no_data = false;
 }
 
 static void shark_uart_write_byte_esc(shark_uart_t *uart, u8 value)

+ 2 - 0
Application/bsp/uart.h

@@ -34,6 +34,8 @@ typedef struct {
 	uint32_t uart_com;//uart device
 	uint8_t rx_frame[256];
 	uint16_t rx_length;
+	uint8_t rx_frame_old_prot[256];
+	uint16_t rx_length_old_prot;
 	bool escape;
 }shark_uart_t;
 

+ 64 - 52
Project/SP700.uvoptx

@@ -153,12 +153,12 @@
         <Ww>
           <count>0</count>
           <WinNumber>1</WinNumber>
-          <ItemText>_measure_value,0x0A</ItemText>
+          <ItemText>data</ItemText>
         </Ww>
         <Ww>
           <count>1</count>
           <WinNumber>1</WinNumber>
-          <ItemText>data</ItemText>
+          <ItemText>_measure_value,0x0A</ItemText>
         </Ww>
       </WatchWindow1>
       <MemoryWindow1>
@@ -292,6 +292,18 @@
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>7</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\Application\app\protocol_old.c</PathWithFileName>
+      <FilenameWithoutPath>protocol_old.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
   </Group>
 
   <Group>
@@ -302,7 +314,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>7</FileNumber>
+      <FileNumber>8</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -314,7 +326,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>8</FileNumber>
+      <FileNumber>9</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -326,7 +338,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>9</FileNumber>
+      <FileNumber>10</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -338,7 +350,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>10</FileNumber>
+      <FileNumber>11</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -350,7 +362,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>11</FileNumber>
+      <FileNumber>12</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -362,7 +374,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>12</FileNumber>
+      <FileNumber>13</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -382,7 +394,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>13</FileNumber>
+      <FileNumber>14</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -394,7 +406,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>14</FileNumber>
+      <FileNumber>15</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -406,7 +418,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>15</FileNumber>
+      <FileNumber>16</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -418,7 +430,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>16</FileNumber>
+      <FileNumber>17</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -430,7 +442,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>17</FileNumber>
+      <FileNumber>18</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -442,7 +454,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>18</FileNumber>
+      <FileNumber>19</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -454,7 +466,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>19</FileNumber>
+      <FileNumber>20</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -466,7 +478,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>20</FileNumber>
+      <FileNumber>21</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -478,7 +490,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>21</FileNumber>
+      <FileNumber>22</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -490,7 +502,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>22</FileNumber>
+      <FileNumber>23</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -502,7 +514,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>23</FileNumber>
+      <FileNumber>24</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -514,7 +526,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>24</FileNumber>
+      <FileNumber>25</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -526,7 +538,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>25</FileNumber>
+      <FileNumber>26</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -538,7 +550,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>26</FileNumber>
+      <FileNumber>27</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -558,7 +570,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>27</FileNumber>
+      <FileNumber>28</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -570,7 +582,7 @@
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>28</FileNumber>
+      <FileNumber>29</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -582,7 +594,7 @@
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>29</FileNumber>
+      <FileNumber>30</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -594,7 +606,7 @@
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>30</FileNumber>
+      <FileNumber>31</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -606,7 +618,7 @@
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>31</FileNumber>
+      <FileNumber>32</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -626,7 +638,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>32</FileNumber>
+      <FileNumber>33</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -638,7 +650,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>33</FileNumber>
+      <FileNumber>34</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -650,7 +662,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>34</FileNumber>
+      <FileNumber>35</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -662,7 +674,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>35</FileNumber>
+      <FileNumber>36</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -674,7 +686,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>36</FileNumber>
+      <FileNumber>37</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -686,7 +698,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>37</FileNumber>
+      <FileNumber>38</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -698,7 +710,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>38</FileNumber>
+      <FileNumber>39</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -710,7 +722,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>39</FileNumber>
+      <FileNumber>40</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -722,7 +734,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>40</FileNumber>
+      <FileNumber>41</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -734,7 +746,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>41</FileNumber>
+      <FileNumber>42</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -746,7 +758,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>42</FileNumber>
+      <FileNumber>43</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -758,7 +770,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>43</FileNumber>
+      <FileNumber>44</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -770,7 +782,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>44</FileNumber>
+      <FileNumber>45</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -782,7 +794,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>45</FileNumber>
+      <FileNumber>46</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -794,7 +806,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>46</FileNumber>
+      <FileNumber>47</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -806,7 +818,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>47</FileNumber>
+      <FileNumber>48</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -818,7 +830,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>48</FileNumber>
+      <FileNumber>49</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -830,7 +842,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>49</FileNumber>
+      <FileNumber>50</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -842,7 +854,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>50</FileNumber>
+      <FileNumber>51</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -854,7 +866,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>51</FileNumber>
+      <FileNumber>52</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -866,7 +878,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>52</FileNumber>
+      <FileNumber>53</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -878,7 +890,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>53</FileNumber>
+      <FileNumber>54</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -890,7 +902,7 @@
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>54</FileNumber>
+      <FileNumber>55</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -910,7 +922,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>55</FileNumber>
+      <FileNumber>56</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -922,7 +934,7 @@
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>56</FileNumber>
+      <FileNumber>57</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>

+ 5 - 0
Project/SP700.uvprojx

@@ -413,6 +413,11 @@
               <FileType>1</FileType>
               <FilePath>..\Application\app\iap.c</FilePath>
             </File>
+            <File>
+              <FileName>protocol_old.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Application\app\protocol_old.c</FilePath>
+            </File>
           </Files>
         </Group>
         <Group>

+ 1 - 1
Project/version.cfg

@@ -1,2 +1,2 @@
 project: HSP730FL
-version: 2
+version: 3