Kaynağa Gözat

V2.1.6_20201230 TC011052-MCK201001-V0r2
1、提高推行模式电机转速;
2、ODO里程在100km以内,第一次清除Trip时,同时清除ODO里程,利用UserString1作为存储标志;
3、版本号:V2.1.6_20201231 客户特性说明:TC011052-MCK201001-V0r2

dail.zhou 4 yıl önce
ebeveyn
işleme
c9cc9774de

+ 1 - 1
Core/Src/main.c

@@ -212,7 +212,7 @@ int main(void)
 	MC_ConfigParam1.UV_Protect_TH = 3000;     		       //30V欠压
 	MC_ConfigParam1.SpeedLimit = 24;      		           //限速24km/h,要求超过24km/h断电
 	MC_ConfigParam1.WalkMode_SpeedLimit = 40; 		       //推行限速4.0km/h
-	MC_ConfigParam1.WalkMode_MotorSpeedSet = 100;	       //推行电机转速
+	MC_ConfigParam1.WalkMode_MotorSpeedSet = 135;	       //推行电机转速
 
   /* USER CODE END 2 */
 

BIN
MDK-ARM/bin/MC_VS7500-TC011052-MCK201001-V2.1.6.0.2_20201231.bin


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 1 - 1
User/Inc/var.h

@@ -236,7 +236,7 @@ typedef struct
 	uint8_t RS2[4];
 }MC_RunLog1_Struct_t;
 
-//MC运行历史,占用空间24bytes
+//MC运行历史,占用空间16bytes
 typedef struct
 {
   uint16_t MCU_FaultCnt;

+ 22 - 2
User/Src/can_process.c

@@ -206,7 +206,17 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					{
 					  MC_RideLog.TRIP_Km = 0;
 						MC_RideLog.TRIP_Time = 0;
-						SaveParamToEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_RIDE_LOG, sizeof(MC_RideLog_Struct_t), (uint8_t*)&MC_RideLog.ODO_Km);
+						if(strncmp("CLEAR_ODO", (char*)UserString1, 9) != 0)//利用UserString1作为是否允许清除ODO的标志
+						{
+						  if(MC_RideLog.ODO_Km < 1000) //前100km允许清除
+							{
+						  	MC_RideLog.ODO_Km = 0;
+					  		MC_RideLog.ODO_Time = 0;
+							}
+							strncpy((char*)UserString1, (char*)"CLEAR_ODO", 9);
+							IsFlashSaveDataUpdate = TRUE;
+						}	
+						SaveParamToEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_RIDE_LOG, sizeof(MC_RideLog_Struct_t), (uint8_t*)&MC_RideLog.ODO_Km);				
 						SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5303, (uint8_t*)"ACK");
 						MC_RunInfo.Ride_Km = 0;
 						MC_RunInfo.Ride_Time = 0;
@@ -337,8 +347,18 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 				{
 				  if(strncmp("CLEAR", (char*)Data, DataLength) == 0)
 					{
-					  MC_RideLog.TRIP_Km = 0;
+						MC_RideLog.TRIP_Km = 0;
 						MC_RideLog.TRIP_Time = 0;
+						if(strncmp("CLEAR_ODO", (char*)UserString1, 9) != 0)//利用UserString1作为是否允许清除ODO的标志
+						{
+						  if(MC_RideLog.ODO_Km < 1000) //前100km允许清除
+							{
+						  	MC_RideLog.ODO_Km = 0;
+					  		MC_RideLog.ODO_Time = 0;
+							}
+							strncpy((char*)UserString1, (char*)"CLEAR_ODO", 9);
+							IsFlashSaveDataUpdate = TRUE;
+						}	
 						SaveParamToEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_RIDE_LOG, sizeof(MC_RideLog_Struct_t), (uint8_t*)&MC_RideLog.ODO_Km);
 						SendData(ID_MC_TO_HMI, MODE_REPORT, 0x7403, (uint8_t*)"ACK");
 						MC_RunInfo.Ride_Km = 0;

+ 2 - 2
User/Src/var.c

@@ -489,8 +489,8 @@ void Var_Init(void)
 		
 	//MC版本信息初始化,Mode和SN从EEPROM读取
   strncpy(MC_VerInfo.HW_Version, (char*)"QD007H.         ", 16);
-	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r6_20201211.", 16);
-	strncpy(Firmware_Special, (char*)"TC011052-MCK201001-V0r1.        ", 32);
+	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r6_20201231.", 16);
+	strncpy(Firmware_Special, (char*)"TC011052-MCK201001-V0r2.        ", 32);
 		
 	//电机型号
 	strncpy(MC_VerInfo.Mode, (char*)"VS7500.         ", 16);

+ 5 - 0
修改说明.txt

@@ -365,3 +365,8 @@ V2.1.6_20201211 TC011052-MCK201001-V0r1
 3、转把模式除OFF档外,其它档位限流相同;
 4、版本号:V2.1.6_20201211 客户特性说明:TC011052-MCK201001-V0r1
 
+V2.1.6_20201230 TC011052-MCK201001-V0r2
+1、提高推行模式电机转速;
+2、ODO里程在100km以内,第一次清除Trip时,同时清除ODO里程,利用UserString1作为存储标志;
+3、版本号:V2.1.6_20201231 客户特性说明:TC011052-MCK201001-V0r2
+