瀏覽代碼

V2.0.2_20200417 Dail
1、增加对ECU的指令处理,不过暂时未打开;
4、版本号:V2r0r2_20200417

dail.zhou 5 年之前
父節點
當前提交
318b634ed0
共有 5 個文件被更改,包括 55 次插入3 次删除
  1. 二進制
      MDK-ARM/bin/MC_VOLANS_V2r0r2_20200417.bin
  2. 二進制
      MDK-ARM/bin/QD007A_CTL_APP.bin
  3. 51 1
      User/Src/can_process.c
  4. 1 1
      User/Src/var.c
  5. 3 1
      修改说明.txt

二進制
MDK-ARM/bin/MC_VOLANS_V2r0r2_20200417.bin


二進制
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 51 - 1
User/Src/can_process.c

@@ -144,6 +144,8 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					memcpy(PBU_CheckInfo.CheckCode, Data, DataLength);
 					break;
 				}
+				
+				#if 1 
 				//PBU/OBC发送给MC的指令
 				case 0x3002://控制电机指令
 				{
@@ -159,7 +161,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 			    IsComOK_PBU.IsOK_Flag = TRUE;
 			    IsComOK_PBU.OK_TrigTime = HAL_GetTick();
 					break;
-				}
+				}	
 				case 0x3105://PBU在线检测反馈
 				{
 				  if(strncmp("READY", (char*)Data, DataLength) == 0)
@@ -210,6 +212,52 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					}
 					break;
 				}
+				
+				#else //针对ECU的指令
+				case 0x3300://ECU查询用户参数
+				{
+				  GetParamFromEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_CONFIG_PARAM1, sizeof(MC_ConfigParam1), (uint8_t*)&MC_ConfigParam1.GasCtrlMode_Flag);
+					Data[0] = MC_ConfigParam1.WheelSize;   //轮胎默认周长
+					Data[1] = MC_ConfigParam1.SpeedLimit;  //限速值
+					Data[2] = 0x18;                        //低压保护阈值 31000mV
+					Data[3] = 0x79;
+					SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5410, Data);
+					break;
+				}
+				case 0x3708://ECU控制指令
+				{
+				if(MC_WorkMode == MC_WorkMode_Run)
+					{
+					  memcpy(&MC_ControlCode.GearSt, Data, 2);
+					  Update_MC_ControlCode_Back();
+					}			
+		      MC_RunInfo.GearSt = MC_ControlCode.GearSt;//当前助力档位更新
+					MC_RunInfo.LightSwitch = MC_ControlCode.LightSwitch;
+					SendData(ID_MC_BC, MODE_REPORT, 0x1020, (uint8_t*)&MC_RunInfo.BikeSpeed);
+					//PBU通信正常标志置位
+			    IsComOK_PBU.IsOK_Flag = TRUE;
+			    IsComOK_PBU.OK_TrigTime = HAL_GetTick();
+					break;
+				}
+				case 0x3810://ECU设置用户参数
+				{
+			  	MC_ConfigParam1.WheelSize = Data[0];
+					MC_ConfigParam1.SpeedLimit = Data[1];
+					//Data[2]和Data[3]低压保护值暂不处理
+					SaveParamToEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_CONFIG_PARAM1, sizeof(MC_ConfigParam1), (uint8_t*)&MC_ConfigParam1.GasCtrlMode_Flag);
+					SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5303, (uint8_t*)"ACK");
+					break;
+				}
+        #endif
+
+				case 0x3900://ECU查询版本信息
+				{
+				  ReadDataFromEEPROM_Flash(EEPROM_FLASH_ADDR_MODE, (uint8_t*)MC_VerInfo.Mode, 16);
+					ReadDataFromEEPROM_Flash(EEPROM_FLASH_ADDR_SN, (uint8_t*)MC_VerInfo.SN_Num, 16);
+					SendData(ID_MC_BC, MODE_REPORT, 0x1240, (uint8_t*)MC_VerInfo.Mode);
+					break;
+				}
+				
 				default:break;
 			}
 			break;
@@ -288,6 +336,8 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 						MC_RunInfo.Ride_Time = 0;
 					}
 				}
+				
+				
 				default:break;
 			}
 			break;

+ 1 - 1
User/Src/var.c

@@ -485,7 +485,7 @@ void Var_Init(void)
 		
 	//MC版本信息初始化,Mode和SN从EEPROM读取
   strncpy(MC_VerInfo.HW_Version, (char*)"QD007E.         ", 16);
-	strncpy(MC_VerInfo.FW_Version, (char*)"V2r0r2_20200413.", 16);
+	strncpy(MC_VerInfo.FW_Version, (char*)"V2r0r2_20200417.", 16);
 		
 	//电机型号
 	strncpy(MC_VerInfo.Mode, (char*)"MOTINOVA VOLANS.", 16);

+ 3 - 1
修改说明.txt

@@ -251,7 +251,9 @@ V2.0.2_20200413 Dail
 3、过流检测修复BUG,增加ocTimeCnt = HAL_GetTick();
 4、版本号:V2r0r2_20200413
 
-
+V2.0.2_20200417 Dail
+1、增加对ECU的指令处理,不过暂时未打开;
+4、版本号:V2r0r2_20200417