Browse Source

update battery update code

Signed-off-by: FuangCao <cavan.cao@foxmail.com>
FuangCao 5 năm trước cách đây
mục cha
commit
cdfe71b794
9 tập tin đã thay đổi với 8 bổ sung251 xóa
  1. 1 1
      Project/version.txt
  2. 0 2
      Source/app.c
  3. 0 32
      Source/app.h
  4. 2 84
      Source/app_end_ctr.c
  5. 0 66
      Source/app_rs485_1.c
  6. 0 55
      Source/app_rs485_2.c
  7. 2 4
      Source/delay.c
  8. 2 6
      Source/main.c
  9. 1 1
      Source/sw_build_info.h

+ 1 - 1
Project/version.txt

@@ -1 +1 @@
-PS100XX_V10_11111559
+PS100XX_V10_11111730

+ 0 - 2
Source/app.c

@@ -38,8 +38,6 @@ uint8_t one_bat_initial = 1;
 uint8_t serise_low_enable = 0;
 uint8_t serise_low_qd_status = 0;
 
-UPDATE_BAT update_bat;
-
 const double nhb_default = 600;
 SHENG_YU_LI_CHENG sheng_yu_li_cheng;
 DELAY_COMMON save_param_delay;

+ 0 - 32
Source/app.h

@@ -147,38 +147,6 @@ extern uint8_t one_bat_charge_status;
 extern uint8_t serise_low_enable;
 extern uint8_t serise_low_qd_status;
 
-enum
-{
-	UPDATE_BAT_NO,
-	UPDATE_BAT_1,
-	UPDATE_BAT_2,
-
-	UPDATE_BAT_MAX
-};
-enum
-{
-	UPDATE_STEP_NO,
-	UPDATE_STEP_REQ,
-	UPDATE_STEP_DATA,
-
-	UPDATE_STEP_MAX
-};
-
-#pragma  pack (push,1)  
-#define UB_DATA_MAX   (128)
-typedef struct
-{
-	uint8_t ub_step;
-	uint8_t ub_bat;
-	uint16_t ub_total;
-	uint16_t ub_sq;
-	uint16_t ub_len;
-	uint8_t ub_data[UB_DATA_MAX];
-}UPDATE_BAT;
-#pragma pack(pop)
-extern UPDATE_BAT update_bat;
-
-
 #define NENG_HAO_BI_MIN   (300)
 #define NENG_HAO_BI_MAX   (700)
 #define SY_VALID_FLAG_KEY   (0x0325)

+ 2 - 84
Source/app_end_ctr.c

@@ -371,7 +371,6 @@ int8_t Rsp_Can_Ctr_CMD(CAN_FRAME*can_ctr_frame)
 {
 	uint16_t key,len;
 	uint8_t *buf = can_ctr_frame->data;
-	uint8_t temp = 0,rtn = 0;
 	
 	memcpy(&key,can_ctr_frame->data,sizeof(key));
 
@@ -463,97 +462,18 @@ int8_t Rsp_Can_Ctr_CMD(CAN_FRAME*can_ctr_frame)
 		case KEY_END_CTR_BAT_UPDATE_REQ:
 			//if((can_ctr_frame->head.rsp != FRAME_PT_NEED_RSP) || end_ctr_self_stimeout.set)
 			//	return 1;
-			
-			rtn = 0;
-			len = buf[2];
-			if(len == UPDATE_BAT_1 || len == UPDATE_BAT_2)
-			{
-				if(len == UPDATE_BAT_1)
-				{
-					temp = Update_Sub_BMS_1_Software(UPDATE_STEP_REQ);
-				}
-				else
-				{
-					temp = Update_Sub_BMS_2_Software(UPDATE_STEP_REQ);
-				}
-				if(temp)
-				{
-					update_bat.ub_step = UPDATE_STEP_REQ;
-					update_bat.ub_bat = buf[2];
-					update_bat.ub_total = buf[4];
-					update_bat.ub_total = (update_bat.ub_total<<8)|buf[3];
-				}
-				else
-					rtn = 3;
-				
-			}
-			else
-				rtn = 1;
-			
 			len = 2;
-			buf[len++] = rtn;
+			buf[len++] = 1;
 			break;
 		case KEY_END_CTR_BAT_UPDATE:
 			//if((can_ctr_frame->head.rsp != FRAME_PT_NEED_RSP) || end_ctr_self_stimeout.set)
 			///	return 1;
-
-			rtn = 0;
-			
-			len = buf[3];
-			len = (len<<8)|buf[2];
-			if(len <= update_bat.ub_total)
-			{
-				if(len == update_bat.ub_sq || len == update_bat.ub_sq + 1)
-				{
-					len = buf[5];
-					len = (len<<8)|buf[4];
-					if(len <= sizeof(update_bat.ub_data))
-					{
-						update_bat.ub_step = UPDATE_STEP_DATA;
-						update_bat.ub_sq = buf[3];
-						update_bat.ub_sq = (update_bat.ub_sq<<8)|buf[2];
-						update_bat.ub_len = buf[5];
-						update_bat.ub_len = (update_bat.ub_len<<8)|buf[4];
-						memcpy(update_bat.ub_data,&buf[6],update_bat.ub_len);
-
-						//
-						if(update_bat.ub_bat == UPDATE_BAT_1)
-						{
-							temp = Update_Sub_BMS_1_Software(UPDATE_STEP_DATA);
-						}
-						else
-						{
-							temp = Update_Sub_BMS_2_Software(UPDATE_STEP_DATA);
-						}
-						
-						if(temp)
-						{
-							if(update_bat.ub_sq == update_bat.ub_total)
-							{
-								memset(&update_bat,0x00,sizeof(update_bat));
-							}
-						}
-						else
-							rtn = 4;
-					}
-					else
-						rtn = 3;
-				}
-				else
-					rtn = 2;
-			}
-			else
-				rtn = 1;
-			
 			len = 2;
-			buf[len++] = rtn;
+			buf[len++] = 1;
 			break;
 		case KEY_END_CTR_BAT_UPDATE_EXIT:
 			//if((can_ctr_frame->head.rsp != FRAME_PT_NEED_RSP) || end_ctr_self_stimeout.set)
 			//	return 1;
-
-			memset(&update_bat,0x00,sizeof(update_bat));
-			
 			len = 2;
 			buf[len++] = 0;
 			break;
@@ -819,8 +739,6 @@ void Check_End_Ctr_Status(void)
 void End_Ctr_Initial(void)
 {
 	 E_CTR_Initial();
-
-	 memset(&update_bat,0x00,sizeof(update_bat));
 }
 
 void End_Ctr_Self_Send_Timeout(void)

+ 0 - 66
Source/app_rs485_1.c

@@ -295,17 +295,6 @@ static int8_t Send_Sub_BMS_CMD_1(void)
 					break;
 				case 4:
 					buf[body->size++] = (uint8_t)(temp_bms->sub_bms_cmd.param);
-					
-					buf[body->size++] = (uint8_t)(update_bat.ub_total>>0);
-					buf[body->size++] = (uint8_t)(update_bat.ub_total>>8);
-					buf[body->size++] = 0;
-					buf[body->size++] = 0;
-					buf[body->size++] = (uint8_t)(update_bat.ub_sq>>0);
-					buf[body->size++] = (uint8_t)(update_bat.ub_sq>>8);
-					buf[body->size++] = 0;
-					buf[body->size++] = 0;
-					memcpy(&buf[body->size],update_bat.ub_data,update_bat.ub_len);
-					body->size += update_bat.ub_len;
 					break;
 			}
 			break;
@@ -516,16 +505,6 @@ static shark_battery_exit_t shark_battery_is_normal_raw(SUB_BMS_INFO *info)
 		}
 	}
 
-	if (update_bat.ub_bat != UPDATE_BAT_NO) {
-		if (update_bat.ub_bat == UPDATE_BAT_1 && info == &sub_bms_info_1) {
-			return SHARK_BATT_EXIT_UPGRADE;
-		}
-
-		if (update_bat.ub_bat == UPDATE_BAT_2 && info == &sub_bms_info_2) {
-			return SHARK_BATT_EXIT_UPGRADE;
-		}
-	}
-
 	return SHARK_BATT_EXIT_SUCCESS;
 }
 
@@ -841,51 +820,6 @@ shark_bool shark_battery_ping(u8 times)
 	return shark_false;
 }
 
-int8_t Update_Sub_BMS_1_Software(uint8_t step)
-{
-	uint8_t rtn;
-	uint16_t i,timeout = RS485_COM_UPDATE_TIMEOUT;
-	
-	
-	switch(step)
-	{
-		case UPDATE_STEP_NO:
-			return 0;
-		case UPDATE_STEP_REQ:
-			sub_bms_info_1.sub_bms_cmd.operate = OP_WRITE_SN;
-			sub_bms_info_1.sub_bms_cmd.param = 0x03;
-			break;
-		case UPDATE_STEP_DATA:
-			sub_bms_info_1.sub_bms_cmd.operate = OP_WRITE_SN;
-			sub_bms_info_1.sub_bms_cmd.param = 0x04;
-			break;
-		default:
-			return 0;
-			
-	}
-	
-	g_event &= ~RS485_RECEIVE_END_EVENT;
-	Send_Sub_BMS_CMD_1();
-
-	rtn = 0;
-	for(i = 0; i < timeout/10;i++)
-	{
-		delay_1ms(10);
-		if(g_event & RS485_RECEIVE_END_EVENT)
-		{
-			g_event &= ~RS485_RECEIVE_END_EVENT;
-			rtn = Handle_RS485_1_Data();
-			
-			break;
-		}
-		
-	}
-	
-	return rtn;
-	
-}
-
-
 uint8_t Sub_BMS_1_COM_Finish(void)
 {
 	return sub_bms_info_1.conn_state;

+ 0 - 55
Source/app_rs485_2.c

@@ -292,17 +292,6 @@ int8_t Send_Sub_BMS_CMD_2(void)
 					break;
 				case 4:
 					buf[body->size++] = (uint8_t)(temp_bms->sub_bms_cmd.param);
-
-					buf[body->size++] = (uint8_t)(update_bat.ub_total>>0);
-					buf[body->size++] = (uint8_t)(update_bat.ub_total>>8);
-					buf[body->size++] = 0;
-					buf[body->size++] = 0;
-					buf[body->size++] = (uint8_t)(update_bat.ub_sq>>0);
-					buf[body->size++] = (uint8_t)(update_bat.ub_sq>>8);
-					buf[body->size++] = 0;
-					buf[body->size++] = 0;
-					memcpy(&buf[body->size],update_bat.ub_data,update_bat.ub_len);
-					body->size += update_bat.ub_len;
 					break;
 			}
 			break;
@@ -524,50 +513,6 @@ int8_t Operate_Sub_BMS_2_CD(uint8_t on)
 	
 }
 
-
-
-int8_t Update_Sub_BMS_2_Software(uint8_t step)
-{
-	uint8_t rtn;
-	uint16_t i,timeout = RS485_COM_UPDATE_TIMEOUT;
-	
-	
-	switch(step)
-	{
-		case UPDATE_STEP_NO:
-			return 0;
-		case UPDATE_STEP_REQ:
-			sub_bms_info_2.sub_bms_cmd.operate = OP_UPDATE_SOFTWARE_REQ;
-			break;
-		case UPDATE_STEP_DATA:
-			sub_bms_info_2.sub_bms_cmd.operate = OP_UPDATE_SOFTWARE;			
-			break;
-		default:
-			return 0;
-			
-	}
-	
-	g_event &= ~RS485_2_RECEIVE_END_EVENT;
-	Send_Sub_BMS_CMD_2();
-
-	rtn = 0;
-	for(i = 0; i < timeout/10;i++)
-	{
-		delay_1ms(10);
-		if(g_event & RS485_2_RECEIVE_END_EVENT)
-		{
-			g_event &= ~RS485_2_RECEIVE_END_EVENT;
-			rtn = Handle_RS485_2_Data();
-			
-			break;
-		}
-		
-	}
-	
-	return rtn;
-	
-}
-
 uint8_t Sub_BMS_2_COM_Finish(void)
 {
 	return sub_bms_info_1.conn_state;

+ 2 - 4
Source/delay.c

@@ -186,13 +186,11 @@ if(send_delay.set)
 		if(send_delay.count >= 400)
 		{
 			send_delay.count = 0;
-			if(update_bat.ub_bat != UPDATE_BAT_2)
-				g_event |= SUB_BMS_2_SEND_CMD_EVENT;
+			g_event |= SUB_BMS_2_SEND_CMD_EVENT;
 		}
 		else if(send_delay.count == 200)
 		{
-			if(update_bat.ub_bat != UPDATE_BAT_1)
-				g_event |= SUB_BMS_1_SEND_CMD_EVENT;
+			g_event |= SUB_BMS_1_SEND_CMD_EVENT;
 		}
 	}
 #endif

+ 2 - 6
Source/main.c

@@ -227,17 +227,13 @@ int main(void)
 		
 		if(g_event & SUB_BMS_1_SEND_CMD_EVENT)
 		{
-			if(update_bat.ub_bat != UPDATE_BAT_1)
-				Send_Sub_BMS_1_CMD();
-			
+			Send_Sub_BMS_1_CMD();
 			g_event &= ~SUB_BMS_1_SEND_CMD_EVENT;
 		}
 
 		if(g_event & SUB_BMS_2_SEND_CMD_EVENT)
 		{
-			if(update_bat.ub_bat != UPDATE_BAT_2)
-				Send_Sub_BMS_2_CMD();
-			
+			Send_Sub_BMS_2_CMD();
 			g_event &= ~SUB_BMS_2_SEND_CMD_EVENT;
 		}
 

+ 1 - 1
Source/sw_build_info.h

@@ -1,3 +1,3 @@
 #pragma once
 
-#define CONFIG_VERSION "PS100XX_V10_11111559"
+#define CONFIG_VERSION "PS100XX_V10_11111730"