소스 검색

1.增加在MC从RUN模式切换为CONFIG模式时将SPS故障清零,请清零enviolo的通信计时。
2.enviolo通信机制修改为只有在检测到有正向踏频以及在RUN模式下才做通信计时检测

leechard.li 3 년 전
부모
커밋
cc82972b17
5개의 변경된 파일2477개의 추가작업 그리고 2476개의 파일을 삭제
  1. 2472 2472
      MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex
  2. BIN
      MDK-ARM/bin/QD007A_CTL_APP.bin
  3. 2 0
      User/Src/can_process.c
  4. 2 3
      User/Src/tasks.c
  5. 1 1
      User/Src/var.c

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 2472 - 2472
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 2 - 0
User/Src/can_process.c

@@ -503,6 +503,8 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					  MC_ErrorCode.ERROR_Bit.Fault_BMS_Check = 0;
 						MC_ErrorCode.ERROR_Bit.Fault_PBU_Check = 0;
 						MC_ErrorCode.ERROR_Bit.Fault_HMI_Check = 0;
+						CanEnvioloData.u16Timeout_Communication = 0;//envioloͨÐų¬Ê±¹éÁã
+						MC_ErrorCode.ERROR_Bit.Fault_SpeedSensor = 0;//
 					}
 					break;
 				}

+ 2 - 3
User/Src/tasks.c

@@ -116,13 +116,12 @@ void HAL_SYSTICK_Callback(void)
 	{
 		TimeCnt_200ms = 0;
 		//发送打开自动变速器的指令
-		if(MC_ConfigParam1.SpeedSignal == MC_SPEED_COMMUNICATION)//当配置速度信号来源于自动变速器
+		if((MC_ConfigParam1.SpeedSignal == MC_SPEED_COMMUNICATION)&&(MC_WorkMode == MC_WorkMode_Run))//当配置速度信号来源于自动变速器
 		{
 			sendDataToEnviolo(&EnvioloSetData, &Enviolo_Calibration);
 			sendDataToOBC(Enviolo_Calibration.u8CalibrationCmdToOBC);
-			if(CanEnvioloData.u16Timeout_Communication < COMMUNICATION_TIMEOUT)//10S超时
+			if((CanEnvioloData.u16Timeout_Communication < COMMUNICATION_TIMEOUT) && (MC_CadenceResult.Cadence_Data >= 5) && (MC_CadenceResult.Cadence_Dir == MC_Cadence_Forward))//10S超时
 			{
-				//if(MC_ControlCode.GearSt != MC_GearSt_OFF) //在0档不做校验
 				CanEnvioloData.u16Timeout_Communication++;
 			}
 		}

+ 1 - 1
User/Src/var.c

@@ -490,7 +490,7 @@ void Var_Init(void)
 	memcpy((uint8_t*)&PBU_ConfigParam.GearsNum, (uint8_t*)&PBU_ConfigParam_Default.GearsNum, sizeof(PBU_ConfigParam_Struct_t));
 		
 	//MC版本信息初始化,Mode和SN从EEPROM读取
-  strncpy(MC_VerInfo.HW_Version, (char*)"QD007E/F/G/H.   ", 16);
+  strncpy(MC_VerInfo.HW_Version, (char*)"QD007E/F/G/H.   ", 16); 
 	strncpy(MC_VerInfo.FW_Version, (char*)"V6r0r2_20220302.", 16);
 	strncpy(Firmware_Special, (char*)"TC043023-AB2103-V0r2.           ", 32);//客户编号+车架号
 		

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.