Selaa lähdekoodia

基于MS2003针对欧版进行调整:
1、转把功能仅支持6km/h推行;
2、删除仪表设置限速的代码;
3、取消第一次清除TRIP时清除ODO,保留独立指令,通过仪表清除。

Dail 2 vuotta sitten
vanhempi
sitoutus
b644532730

+ 42 - 14
MDK-ARM/QD007A_CTL_APP.uvprojx

@@ -10,13 +10,10 @@
       <TargetName>QD007A_CTL_APP</TargetName>
       <ToolsetNumber>0x4</ToolsetNumber>
       <ToolsetName>ARM-ADS</ToolsetName>
-      <pCCUsed>5060422::V5.06 update 4 (build 422)::ARMCC</pCCUsed>
       <TargetOption>
         <TargetCommonOption>
           <Device>STM32F103RB</Device>
           <Vendor>STMicroelectronics</Vendor>
-          <PackID>Keil.STM32F1xx_DFP.2.3.0</PackID>
-          <PackURL>http://www.keil.com/pack/</PackURL>
           <Cpu>IROM(0x08000000,0x20000) IRAM(0x20000000,0x5000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
           <FlashUtilSpec></FlashUtilSpec>
           <StartupFile></StartupFile>
@@ -85,8 +82,6 @@
             <UserProg2Name>.\crc_gen_keil.bat</UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
-            <nStopA1X>0</nStopA1X>
-            <nStopA2X>0</nStopA2X>
           </AfterMake>
           <SelectedForBatchBuild>0</SelectedForBatchBuild>
           <SVCSIdString></SVCSIdString>
@@ -125,6 +120,48 @@
             <HexOffset>0</HexOffset>
             <Oh166RecLen>16</Oh166RecLen>
           </OPTHX>
+          <Simulator>
+            <UseSimulator>0</UseSimulator>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+            <RestoreSysVw>1</RestoreSysVw>
+          </Simulator>
+          <Target>
+            <UseTarget>1</UseTarget>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <RestoreTracepoints>1</RestoreTracepoints>
+            <RestoreSysVw>1</RestoreSysVw>
+            <UsePdscDebugDescription>1</UsePdscDebugDescription>
+          </Target>
+          <RunDebugAfterBuild>0</RunDebugAfterBuild>
+          <TargetSelection>12</TargetSelection>
+          <SimDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+          </SimDlls>
+          <TargetDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+            <Driver>BIN\CMSIS_AGDI.dll</Driver>
+          </TargetDlls>
         </DebugOption>
         <Utilities>
           <Flash1>
@@ -189,7 +226,6 @@
             <useUlib>1</useUlib>
             <EndSel>0</EndSel>
             <uLtcg>0</uLtcg>
-            <nSecure>0</nSecure>
             <RoSelD>3</RoSelD>
             <RwSelD>3</RwSelD>
             <CodeSel>0</CodeSel>
@@ -324,13 +360,6 @@
             <uSurpInc>0</uSurpInc>
             <uC99>1</uC99>
             <useXO>0</useXO>
-            <v6Lang>0</v6Lang>
-            <v6LangP>0</v6LangP>
-            <vShortEn>1</vShortEn>
-            <vShortWch>1</vShortWch>
-            <v6Lto>0</v6Lto>
-            <v6WtE>0</v6WtE>
-            <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls></MiscControls>
               <Define>USE_HAL_DRIVER,STM32F103xB</Define>
@@ -348,7 +377,6 @@
             <NoWarn>0</NoWarn>
             <uSurpInc>0</uSurpInc>
             <useXO>0</useXO>
-            <uClangAs>0</uClangAs>
             <VariousControls>
               <MiscControls></MiscControls>
               <Define></Define>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 2601 - 2601
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


BIN
MDK-ARM/bin/MC_VS75XX(125K)-TC033001-MS2303-V2.1.6.0.1_20230821.bin


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 6 - 14
MDK-ARM/stm32f1xx_stucpuregsaddressing.lst

@@ -121,19 +121,11 @@ ARM Macro Assembler    Page 2
                                                             ler
    98 00000096                 ENDP
    99 00000096                 END
-Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
-ork --depend=.\qd007a_ctl_app\stm32f1xx_stucpuregsaddressing.d -o.\qd007a_ctl_a
-pp\stm32f1xx_stucpuregsaddressing.o -ID:\MOTINOVA\Motor\Volans\TC033001-MS2003Î
-°Í¾¶û³µ¿î¶¨ÖƳÌÐò(³öÐÂÎ÷À¼)\QD007E_CTRL_APP\MDK-ARM\RTE\_QD007A_CTL_APP -IC:\Ke
-il_v5\ARM\PACK\ARM\CMSIS\5.0.0\CMSIS\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F1
-xx_DFP\2.3.0\Device\Include --predefine="__MICROLIB SETA 1" --predefine="__UVIS
-ION_VERSION SETA 522" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA
-
-
-
-ARM Macro Assembler    Page 3 
-
-
+Command Line: --debug --xref --cpu=Cortex-M3 --apcs=interwork --depend=.\qd007a
+_ctl_app\stm32f1xx_stucpuregsaddressing.d -o.\qd007a_ctl_app\stm32f1xx_stucpure
+gsaddressing.o -ID:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_
+APP\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.1.0\CMSIS\Include -IC:\Keil_v
+5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.4\Device\Include --predefine="__MICROLIB SETA
  1" --list=stm32f1xx_stucpuregsaddressing.lst ..\SelfTestUser\src_specific\stm3
 2f1xx_STUCpuRegsAddressing.s
 
@@ -247,4 +239,4 @@ ssing.s
 ssing.s
 Comment: FailSafePOR used once
 3 symbols
-341 symbols in table
+338 symbols in table

+ 6 - 8
MDK-ARM/stm32f1xx_stucpuwalkpatkeil.lst

@@ -1591,13 +1591,11 @@ ARM Macro Assembler    Page 25
  1170 000006D0         
  1171 000006D0         
  1172 000006D0                 END
-Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
-ork --depend=.\qd007a_ctl_app\stm32f1xx_stucpuwalkpatkeil.d -o.\qd007a_ctl_app\
-stm32f1xx_stucpuwalkpatkeil.o -ID:\MOTINOVA\Motor\Volans\TC033001-MS2003ΰ;¶û³
-µ¿î¶¨ÖƳÌÐò(³öÐÂÎ÷À¼)\QD007E_CTRL_APP\MDK-ARM\RTE\_QD007A_CTL_APP -IC:\Keil_v5\
-ARM\PACK\ARM\CMSIS\5.0.0\CMSIS\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP
-\2.3.0\Device\Include --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VE
-RSION SETA 522" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --
+Command Line: --debug --xref --cpu=Cortex-M3 --apcs=interwork --depend=.\qd007a
+_ctl_app\stm32f1xx_stucpuwalkpatkeil.d -o.\qd007a_ctl_app\stm32f1xx_stucpuwalkp
+atkeil.o -ID:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_APP\MD
+K-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.1.0\CMSIS\Include -IC:\Keil_v5\ARM\
+PACK\Keil\STM32F1xx_DFP\1.0.4\Device\Include --predefine="__MICROLIB SETA 1" --
 list=stm32f1xx_stucpuwalkpatkeil.lst ..\SelfTestUser\src_specific\stm32f1xx_STU
 CpuWalkpatKEIL.s
 
@@ -2667,4 +2665,4 @@ KEIL.s
 KEIL.s
 
 1 symbol
-401 symbols in table
+398 symbols in table

+ 6 - 8
MDK-ARM/stm32f1xx_sturamwalkpatkeil.lst

@@ -428,13 +428,11 @@ ARM Macro Assembler    Page 7
   329 000001F2                 ENDP
   330 000001F2         
   331 000001F2                 END
-Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
-ork --depend=.\qd007a_ctl_app\stm32f1xx_sturamwalkpatkeil.d -o.\qd007a_ctl_app\
-stm32f1xx_sturamwalkpatkeil.o -ID:\MOTINOVA\Motor\Volans\TC033001-MS2003ΰ;¶û³
-µ¿î¶¨ÖƳÌÐò(³öÐÂÎ÷À¼)\QD007E_CTRL_APP\MDK-ARM\RTE\_QD007A_CTL_APP -IC:\Keil_v5\
-ARM\PACK\ARM\CMSIS\5.0.0\CMSIS\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP
-\2.3.0\Device\Include --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VE
-RSION SETA 522" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --
+Command Line: --debug --xref --cpu=Cortex-M3 --apcs=interwork --depend=.\qd007a
+_ctl_app\stm32f1xx_sturamwalkpatkeil.d -o.\qd007a_ctl_app\stm32f1xx_sturamwalkp
+atkeil.o -ID:\SoftDesign\20190311_QD007A_CTL\QD007E_CTRL_APP\QD007E_CTRL_APP\MD
+K-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.1.0\CMSIS\Include -IC:\Keil_v5\ARM\
+PACK\Keil\STM32F1xx_DFP\1.0.4\Device\Include --predefine="__MICROLIB SETA 1" --
 list=stm32f1xx_sturamwalkpatkeil.lst ..\SelfTestUser\src_specific\stm32f1xx_STU
 RamWalkpatKEIL.s
 
@@ -813,4 +811,4 @@ IL.s
       None
 Comment: FailSafePOR unused
 1 symbol
-363 symbols in table
+360 symbols in table

+ 7 - 1
User/Src/can_process.c

@@ -200,10 +200,12 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 						MC_ConfigParam1.WheelSizeAdj = -10;
 					}
 					MC_ConfigParam1.StarModel = (MC_StarMode_Struct_t)Data[1];
-          if((Data[2] > 10) && (Data[2] < 99))
+          #if 0 //欧版不允许设置限速
+					if((Data[2] > 10) && (Data[2] < 99))
           {
             MC_ConfigParam1.SpeedLimit = Data[2];
           }
+					#endif
 					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;
@@ -219,6 +221,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					{
 					  MC_RideLog.TRIP_Km = 0;
 						MC_RideLog.TRIP_Time = 0;
+						#if 0
 						if(strncmp("CLEAR_ODO", (char*)UserString1, 9) != 0)//利用UserString1作为是否允许清除ODO的标志
 						{
 						  if(MC_RideLog.ODO_Km < 1000) //前100km允许清除
@@ -229,6 +232,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 							strncpy((char*)UserString1, (char*)"CLEAR_ODO", 9);
 							IsFlashSaveDataUpdate = TRUE;
 						}
+						#endif
 						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;
@@ -441,6 +445,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					{
 					  MC_RideLog.TRIP_Km = 0;
 						MC_RideLog.TRIP_Time = 0;
+						#if 0
 						if(strncmp("CLEAR_ODO", (char*)UserString1, 9) != 0)//利用UserString1作为是否允许清除ODO的标志
 						{
 						  if(MC_RideLog.ODO_Km < 1000) //前100km允许清除
@@ -451,6 +456,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 							strncpy((char*)UserString1, (char*)"CLEAR_ODO", 9);
 							IsFlashSaveDataUpdate = TRUE;
 						}
+						#endif
 						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/motor_control.c

@@ -1246,7 +1246,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(MC_CadenceResult_Struct_t C
 
   //根据指拨控制
 	if((GasCtrlMode == MC_SUPPORT_ENABLE) && (AdcSenorData.GasSensor > 50) && (MC_RunInfo.BikeSpeed > 100) && \
-		( (MC_RunInfo.BikeSpeed < 250) || ((MC_RunInfo.BikeSpeed < 260)&&(AdcSenorData.TorqueSensor<200)) ) )
+		( (MC_RunInfo.BikeSpeed < 250) || ((MC_RunInfo.BikeSpeed < 260)&&(AdcSenorData.TorqueSensor < 200)) ) )
 	{
 	  MC_TorqueProcess_Param.MotorStopLock_Flag = RESET;
 		//停止判断
@@ -2019,7 +2019,7 @@ void MC_CalParam_Cal(MC_WorkMode_Struct_t p_MC_WorkMode, \
 		case MC_AssistRunMode_TORQUE:
 		{
 			//计算FOC控制输入
-			*p_MC_CalParam = MC_AssistRunMode_Torque_Process(MC_CadenceResult, p_ADC_SensorData, GearSt, MC_ConfigParam1.GasCtrlMode_Flag);
+			*p_MC_CalParam = MC_AssistRunMode_Torque_Process(MC_CadenceResult, p_ADC_SensorData, GearSt, MC_SUPPORT_DISABLE);
 			//助力模式切换标志复位
 			MC_AssistRunMode_ShiftFlag = RESET;
 			break;

+ 2 - 2
User/Src/var.c

@@ -529,8 +529,8 @@ void Var_Init(void)
 		
 	//MC版本信息初始化,Mode和SN从EEPROM读取
   strncpy(MC_VerInfo.HW_Version, (char*)"QD007H.         ", 16);
-	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r6_20230328.", 16);
-	strncpy(Firmware_Special, (char*)"TC033001-MS2003-V1r1.           ", 32);
+	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r6_20230821.", 16);
+	strncpy(Firmware_Special, (char*)"TC033001-MS2303-V0r1.           ", 32);
 	if(MCUManufacturer == NoName) MC_VerInfo.HW_Version[10] = '0';
 	else if(MCUManufacturer == STM32F103RBT6) MC_VerInfo.HW_Version[10] = '1';
 	else if(MCUManufacturer == APM32F103RBT6) MC_VerInfo.HW_Version[10] = '2';

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä