Przeglądaj źródła

1、用户参数2增加限速微调;
2、用户参数2增加骑行参数,包括最大电流和最大力矩的微调值;
3、电机参数初始化时,完成助力参数的微调。

Dail 1 rok temu
rodzic
commit
46f0b07f2e

Plik diff jest za duży
+ 2506 - 2506
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 45 - 32
User/Inc/var.h

@@ -137,7 +137,13 @@ typedef struct
 {
   uint8_t Assist_K_GAIN;  //0.01 50-150
 	uint8_t StarModel_GAIN; //0.01 50-150
-}UserAdjParam_Struct_t;
+}UserAdjParam1_Struct_t;
+
+typedef struct
+{
+  uint8_t MaxCurrent_K_GAIN;  //0.01 50-150
+	uint8_t MaxTorque_K_GAIN;   //0.01 50-150
+}UserAdjParam2_Struct_t;
 
 typedef enum MC_SUPPORTFLAG
 {
@@ -184,30 +190,30 @@ typedef union GAS_MODE
 typedef struct
 {
 	uint8_t GasCtrlMode_Param;       //指拨模式参数,地址偏移0
-	MC_StarMode_Struct_t StarModel; //启动模式,地址偏移1
-	uint16_t StopTime;              //停机时间 ms,地址偏移2
-	uint8_t SpeedLimit;             //限速 km/h,地址偏移4
-	uint8_t Deceleration;           //下降速度,地址偏移5
-	uint8_t TeethNum_F;             //前齿数 T,地址偏移6
-	uint8_t TeethNum_B;             //后齿数 T,地址偏移7
-	uint8_t CurrentLimit;           //限流 A,地址偏移8
-	uint8_t TempTH_Alarm;           //高温预警值 +40℃,地址偏移9
-	uint8_t TempTH_Protect;         //高温保护值 +40℃,地址偏移10
+	MC_StarMode_Struct_t StarModel;  //启动模式,地址偏移1
+	uint16_t StopTime;               //停机时间 ms,地址偏移2
+	uint8_t SpeedLimit;              //限速 km/h,地址偏移4
+	uint8_t Deceleration;            //下降速度,地址偏移5
+	uint8_t TeethNum_F;              //前齿数 T,地址偏移6
+	uint8_t TeethNum_B;              //后齿数 T,地址偏移7
+	uint8_t CurrentLimit;            //限流 A,地址偏移8
+	uint8_t TempTH_Alarm;            //高温预警值 +40℃,地址偏移9
+	uint8_t TempTH_Protect;          //高温保护值 +40℃,地址偏移10
 	MC_SupportFlag_Struct_t NoPBU_Flag; //0x55-不支持,0x-AA支持,地址偏移11
   uint8_t WheelSize;              //轮胎周长 cm,地址偏移12
   uint8_t SerialNum;              //系列号,地址偏移13
-  UserAdjParam_Struct_t UserAdjParam_ECO;      //用户微调助力比增益和加速度增益,地址偏移14
-  UserAdjParam_Struct_t UserAdjParam_NORM;     //用户微调助力比增益和加速度增益,地址偏移16
-	UserAdjParam_Struct_t UserAdjParam_SPORT;    //用户微调助力比增益和加速度增益,地址偏移18
-	UserAdjParam_Struct_t UserAdjParam_TURBO;    //用户微调助力比增益和加速度增益,地址偏移20
-	UserAdjParam_Struct_t UserAdjParam_SMART;    //用户微调助力比增益和加速度增益,地址偏移22
-  uint8_t SpeedSensorPoles;                    //速度传感器极数,地址偏移24
-	uint8_t CadenceStarNum;                      //踏频启动信号个数,地址偏移25
-	MC_SpeedSignal_Struct_t SpeedSignal;         //0x55-车轮触发,0x-AA踏频计算,0xEE-通讯获取车轮旋转周期,地址偏移26
-	int8_t WheelSizeAdj;                         //周长微调值,地址偏移27
-	uint16_t UV_Protect_TH;                      //低压保护值,地址偏移28
-	uint8_t WalkMode_SpeedLimit;                 //推行模式限速,地址偏移30
-	uint8_t WalkMode_MotorSpeedSet;              //推行模式电机转速设置,地址偏移31
+  UserAdjParam1_Struct_t UserAdjParam1_ECO;      //用户微调助力比增益和加速度增益,地址偏移14
+  UserAdjParam1_Struct_t UserAdjParam1_NORM;     //用户微调助力比增益和加速度增益,地址偏移16
+	UserAdjParam1_Struct_t UserAdjParam1_SPORT;    //用户微调助力比增益和加速度增益,地址偏移18
+	UserAdjParam1_Struct_t UserAdjParam1_TURBO;    //用户微调助力比增益和加速度增益,地址偏移20
+	UserAdjParam1_Struct_t UserAdjParam1_SMART;    //用户微调助力比增益和加速度增益,地址偏移22
+  uint8_t SpeedSensorPoles;                      //速度传感器极数,地址偏移24
+	uint8_t CadenceStarNum;                        //踏频启动信号个数,地址偏移25
+	MC_SpeedSignal_Struct_t SpeedSignal;           //0x55-车轮触发,0x-AA踏频计算,0xEE-通讯获取车轮旋转周期,地址偏移26
+	int8_t WheelSizeAdj;                           //周长微调值,地址偏移27
+	uint16_t UV_Protect_TH;                        //低压保护值,地址偏移28
+	uint8_t WalkMode_SpeedLimit;                   //推行模式限速,地址偏移30
+	uint8_t WalkMode_MotorSpeedSet;                //推行模式电机转速设置,地址偏移31
 }MC_ConfigParam1_Struct_t;
 
 //用户配置参数2,占用空间32bytes
@@ -215,16 +221,23 @@ typedef struct
 {
   int16_t ZeroAngle_Pitch;         //俯仰角零度偏移,地址偏移0
 	int16_t ZeroAngle_Roll;          //横滚角零度偏移,地址偏移2
-	MC_SupportFlag_Struct_t UseAttitudeAngle_Flag; //支持姿态角度传感器标志,地址偏移4
-	MC_TailLight_Mode_Struct_t MC_TailLight_Mode;  //尾灯功能,地址偏移5
-	MC_LightVoltage_Struct_t HeadLightVol;         //前灯电压
-	MC_LightVoltage_Struct_t TailLightVol;         //后灯电压
-	uint16_t u16OverspeedWarnVal;										//超速告警值
-	uint16_t u16EffectVal;													//尾灯亮起有效值
-	uint16_t u16Prediv;															//尾灯亮起时间的分频系数
-	int8_t   speedLimitStartAdj;
-	int8_t   speedLimitEndAdj;
-	uint8_t RS2[16];
+	MC_SupportFlag_Struct_t UseAttitudeAngle_Flag;  //支持姿态角度传感器标志,地址偏移4
+	MC_TailLight_Mode_Struct_t MC_TailLight_Mode;   //尾灯功能,地址偏移5
+	MC_LightVoltage_Struct_t HeadLightVol;          //前灯电压,地址偏移6
+	MC_LightVoltage_Struct_t TailLightVol;          //后灯电压,地址偏移7
+	uint16_t u16OverspeedWarnVal;										//超速告警值,地址偏移8
+	uint16_t u16EffectVal;													//尾灯亮起有效值,地址偏移10
+	uint16_t u16Prediv;															//尾灯亮起时间的分频系数,地址偏移12
+	int8_t SpeedLimitStartAdj;                      //起始限速微调,默认0,从限速值开始衰减,地址偏移13
+	int8_t SpeedLimitEndAdj;                        //结束限速微调,默认0,从限速值+2.2km/h结束,地址偏移14
+	int8_t SpeedLimitAdj;                           //限速微调,默认0,与限速值相同,地址偏移15
+	uint8_t RS1;                                    //预留,0x00,地址偏移16
+	UserAdjParam2_Struct_t UserAdjParam2_ECO;       //用户微调最大电流增益和最大力矩增益,地址偏移14,地址偏移18
+  UserAdjParam2_Struct_t UserAdjParam2_NORM;      //用户微调最大电流增益和最大力矩增益,地址偏移14,地址偏移20
+	UserAdjParam2_Struct_t UserAdjParam2_SPORT;     //用户微调最大电流增益和最大力矩增益,地址偏移14,地址偏移22
+	UserAdjParam2_Struct_t UserAdjParam2_TURBO;     //用户微调最大电流增益和最大力矩增益,地址偏移14,地址偏移24
+	UserAdjParam2_Struct_t UserAdjParam2_SMART;     //用户微调最大电流增益和最大力矩增益,地址偏移14,地址偏移26
+	uint8_t RS2[4];
 }MC_ConfigParam2_Struct_t;
 
 //姿态传感器数值

+ 50 - 10
User/Src/can_process.c

@@ -179,12 +179,15 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 				}
 				case 0x3300://OBC查询用户参数
 				{
-				  ReadDataFromEEPROM_Flash(EEPROM_FLASH_ADDR_CONFIG_PARAM1, Data, sizeof(MC_ConfigParam1_Struct_t));
-					memcpy((uint8_t*)&MC_ConfigParam1.GasCtrlMode_Param, Data, sizeof(MC_ConfigParam1_Struct_t));
+				  ReadDataFromEEPROM_Flash(EEPROM_FLASH_ADDR_CONFIG_PARAM1, Data, sizeof(MC_ConfigParam1_Struct_t));					
+					memcpy((uint8_t*)&MC_ConfigParam1.GasCtrlMode_Param, Data, sizeof(MC_ConfigParam1_Struct_t));					
 					Data[0] = MC_ConfigParam1.WheelSize;   //轮胎默认周长
 					Data[1] = MC_ConfigParam1.StarModel;   //启动模式
 					Data[2] = MC_ConfigParam1.SpeedLimit;  //限速值
 					Data[3] = MC_ConfigParam1.WheelSizeAdj;//轮胎微调值
+					ReadDataFromEEPROM_Flash(EEPROM_FLASH_ADDR_CONFIG_PARAM2, Data, sizeof(MC_ConfigParam2_Struct_t));
+					memcpy((uint8_t*)&MC_ConfigParam2.ZeroAngle_Pitch, Data, sizeof(MC_ConfigParam2_Struct_t));
+					Data[6] = MC_ConfigParam2.SpeedLimitAdj;//限速微调值
 					SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5408, Data);
 					break;
 				}
@@ -200,6 +203,15 @@ 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];
+					MC_ConfigParam2.SpeedLimitAdj = (int8_t)Data[4];
+					if(MC_ConfigParam2.SpeedLimitAdj > 0)
+					{
+					  MC_ConfigParam2.SpeedLimitAdj = 0;
+					}
+					else if(MC_ConfigParam2.SpeedLimitAdj < -20)
+					{
+					  MC_ConfigParam2.SpeedLimitAdj = -20;
+					}
 					IsFlashSaveDataUpdate = TRUE;
 					SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5303, (uint8_t*)"ACK");
 					break;
@@ -235,7 +247,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 				#else //ECU的指令
 				case 0x3300://ECU查询用户参数
 				{
-				  GetParamFromEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_CONFIG_PARAM1, sizeof(MC_ConfigParam1), (uint8_t*)&MC_ConfigParam1.GasCtrlMode_Flag);
+				  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
@@ -289,8 +301,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5303, (uint8_t*)"ACK");
 					break;
 				}
-				#endif
-				
+				#endif				
 				case 0x3900://OBC/ECU查询版本信息
 				{
 					if( VersionIdentifyFinishedFlag == TRUE )
@@ -305,7 +316,40 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					}
 					break;
 				}
+				case 0x4008://OBC设置变速器工作模式
+				{
+				
+					break;
+				}
+				case 0x4100://OBC查询变速器工作参数
+				{
+				
+					break;
+				}
+				case 0x4208://OBC设置变速器工作参数
+				{
 				
+					break;
+				}
+				case 0x4300://OBC设置OBC查询骑行参数
+				{
+				  ReadDataFromEEPROM_Flash(EEPROM_FLASH_ADDR_CONFIG_PARAM1, Data, sizeof(MC_ConfigParam1_Struct_t));					
+					memcpy((uint8_t*)&MC_ConfigParam1.GasCtrlMode_Param, Data, sizeof(MC_ConfigParam1_Struct_t));					
+					ReadDataFromEEPROM_Flash(EEPROM_FLASH_ADDR_CONFIG_PARAM2, Data, sizeof(MC_ConfigParam2_Struct_t));
+					memcpy((uint8_t*)&MC_ConfigParam2.ZeroAngle_Pitch, Data, sizeof(MC_ConfigParam2_Struct_t));
+					memcpy(Data, (uint8_t*)&MC_ConfigParam1.UserAdjParam1_ECO.Assist_K_GAIN, 10);
+					memcpy(Data + 10, (uint8_t*)&MC_ConfigParam2.UserAdjParam2_ECO.MaxCurrent_K_GAIN, 10);					
+					SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5620, Data);
+					break;
+				}
+				case 0x4420://OBC设置骑行参数
+				{
+				  memcpy((uint8_t*)&MC_ConfigParam1.UserAdjParam1_ECO.Assist_K_GAIN, Data, 10);
+					memcpy((uint8_t*)&MC_ConfigParam2.UserAdjParam2_ECO.MaxCurrent_K_GAIN, Data + 10, 10);					
+					IsFlashSaveDataUpdate = TRUE;
+					SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5303, (uint8_t*)"ACK");
+					break;
+				}
 				default:break;
 			}
 			break;
@@ -518,9 +562,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 				}
 				case 0x1C00://查询马达参数
 				{
-				  ReadDataFromEEPROM_Flash(EEPROM_FLASH_ADDR_MOTOR_PARAM, Data, sizeof(MC_MotorParam_Struct_t));
-//					MC_MotorParam.Coil_Ld = PID_IMax.hKp_Gain;
-//					MC_MotorParam.Coil_Lq = PID_IMax.hKp_Divisor;				
+				  ReadDataFromEEPROM_Flash(EEPROM_FLASH_ADDR_MOTOR_PARAM, Data, sizeof(MC_MotorParam_Struct_t));			
 					SendData(ID_MC_TO_CDL, MODE_REPORT, 0xA110, Data);
 					break;
 				}
@@ -529,8 +571,6 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 				  memcpy((uint8_t*)&MC_MotorParam.Rate_Power, Data, DataLength);
 					IsFlashSaveDataUpdate = TRUE;
 					SendData(ID_MC_TO_CDL, MODE_REPORT, 0xA903, (uint8_t*)"ACK");
-//					PID_IMax.hKp_Gain    = MC_MotorParam.Coil_Ld;
-//					PID_IMax.hKp_Divisor = MC_MotorParam.Coil_Lq;
 					break;
 				}
 				case 0x1E00://查询电机历史信息

+ 24 - 153
User/Src/motor_control.c

@@ -298,10 +298,10 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasSpeed_Process(MC_GasMode_Struct_t GasMo
 	Tmp = Tmp > 2048 ? 2048 : Tmp; 
 	Tmp = (Tmp*Tmp)/2048;   //指拨值改为抛物线,低速控制行程变大
 	/*电机转速设定,根据指拨大小、车轮限速值和速比,换算*/
-	SpeedSet = (Tmp * ((MC_ConfigParam1.SpeedLimit + MC_GasMode_Param.Mode_bit.SpeedLimit - (0xAA >> 2)) * SpdProportion) / 10  >> 11);			//(Tmp >> 11) * cd_Speedlimit * ( SpdProportion / 10)
+	SpeedSet = (Tmp * ((MC_ConfigParam1.SpeedLimit + (int8_t)MC_ConfigParam2.SpeedLimitAdj + MC_GasMode_Param.Mode_bit.SpeedLimit - (0xAA >> 2)) * SpdProportion) / 10  >> 11);			//(Tmp >> 11) * cd_Speedlimit * ( SpdProportion / 10)
 	
 	//超过限速值,设定电机转速为0
-	if(wheelSpeed > ((MC_ConfigParam1.SpeedLimit + MC_GasMode_Param.Mode_bit.SpeedLimit - (0xAA >> 2)) * 10 + 20))
+	if(wheelSpeed > ((MC_ConfigParam1.SpeedLimit + (int8_t)MC_ConfigParam2.SpeedLimitAdj + MC_GasMode_Param.Mode_bit.SpeedLimit - (0xAA >> 2)) * 10 + 20))
 	{
 		SpeedSet = 0;
 	}
@@ -478,19 +478,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
 			case MC_GearSt_Torque_ECO:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_ECO.StarModel_GAIN <= 90)
-				{
-					TorqueAccStep = MC_AssisParam.Gear_ECO.AccCnt - 1;
-				}
-				else if(MC_ConfigParam1.UserAdjParam_ECO.StarModel_GAIN >= 110)
-				{
-					TorqueAccStep = MC_AssisParam.Gear_ECO.AccCnt + 1;
-				}
-				else
-				{
-					TorqueAccStep = MC_AssisParam.Gear_ECO.AccCnt;
-				}
-				TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+				TorqueAccStep = (MC_AssisParam.Gear_ECO.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_ECO.AccCnt;
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_ECO.DecCnt;	
 				//根据输入调节力矩环给定
@@ -509,19 +497,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
 			case MC_GearSt_Torque_NORM:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_NORM.StarModel_GAIN <= 90)
-				{
-					TorqueAccStep = MC_AssisParam.Gear_NORM.AccCnt - 1;
-				}
-				else if(MC_ConfigParam1.UserAdjParam_NORM.StarModel_GAIN >= 110)
-				{
-					TorqueAccStep = MC_AssisParam.Gear_NORM.AccCnt + 1;
-				}
-				else
-				{
-					TorqueAccStep = MC_AssisParam.Gear_NORM.AccCnt;
-				}
-				TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+				TorqueAccStep = (MC_AssisParam.Gear_NORM.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_NORM.AccCnt;
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_NORM.DecCnt;	
 				//根据输入调节力矩环给定
@@ -540,19 +516,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
 			case MC_GearSt_Torque_SPORT:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_SPORT.StarModel_GAIN <= 90)
-				{
-					TorqueAccStep = MC_AssisParam.Gear_SPORT.AccCnt - 1;
-				}
-				else if(MC_ConfigParam1.UserAdjParam_SPORT.StarModel_GAIN >= 110)
-				{
-					TorqueAccStep = MC_AssisParam.Gear_SPORT.AccCnt + 1;
-				}
-				else
-				{
-					TorqueAccStep = MC_AssisParam.Gear_SPORT.AccCnt;
-				}
-				TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+				TorqueAccStep = (MC_AssisParam.Gear_SPORT.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_SPORT.AccCnt;
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_SPORT.DecCnt;	
 				//根据输入调节力矩环给定
@@ -571,19 +535,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
 			case MC_GearSt_Torque_TURBO: case MC_GearSt_SMART:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN <= 90)
-				{
-					TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt - 1;
-				}
-				else if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN >= 110)
-				{
-					TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt + 1;
-				}
-				else
-				{
-					TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt;
-				}
-				TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+				TorqueAccStep = (MC_AssisParam.Gear_TURBO.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_TURBO.AccCnt;
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_TURBO.DecCnt;	
 				//根据输入调节力矩环给定
@@ -611,19 +563,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
 	else if(GasMode_Param.Mode_bit.PowerLimitFlag == 0) //不根据挡位限制功率,按照Turbo参数
 	{
 	  //控制输入给定加速斜率
-		if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN <= 90)
-		{
-			TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt - 1;
-		}
-		else if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN >= 110)
-		{
-			TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt + 1;
-		}
-		else
-		{
-			TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt;
-		}
-		TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+		TorqueAccStep = (MC_AssisParam.Gear_SMART.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_SMART.AccCnt;
 		//控制输入给定减速斜率
 		TorqueDecStep = MC_AssisParam.Gear_TURBO.DecCnt;	
 		//根据输入调节力矩环给定
@@ -641,11 +581,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
 	
 	//限速值设定
 	static uint16_t speedLimitStart = 250, speedLimitEnd = 272, slewRate = 52;
-	if((MC_ConfigParam2.speedLimitStartAdj > 50) || (MC_ConfigParam2.speedLimitStartAdj < -50)) MC_ConfigParam2.speedLimitStartAdj=0;
-	if((MC_ConfigParam2.speedLimitEndAdj > 50) || (MC_ConfigParam2.speedLimitEndAdj < -50)) MC_ConfigParam2.speedLimitEndAdj=0;
+	if((MC_ConfigParam2.SpeedLimitStartAdj > 50) || (MC_ConfigParam2.SpeedLimitStartAdj < -50)) MC_ConfigParam2.SpeedLimitStartAdj=0;
+	if((MC_ConfigParam2.SpeedLimitEndAdj > 50) || (MC_ConfigParam2.SpeedLimitEndAdj < -50)) MC_ConfigParam2.SpeedLimitEndAdj=0;
 		
-	speedLimitStart = (MC_ConfigParam1.SpeedLimit + GasMode_Param.Mode_bit.SpeedLimit - (0xAA >> 2)) * 10 + MC_ConfigParam2.speedLimitStartAdj;
-	speedLimitEnd = (MC_ConfigParam1.SpeedLimit + GasMode_Param.Mode_bit.SpeedLimit - (0xAA >> 2)) * 10 + MC_ConfigParam2.speedLimitEndAdj + 22;
+	speedLimitStart = (MC_ConfigParam1.SpeedLimit + (int8_t)MC_ConfigParam2.SpeedLimitAdj + GasMode_Param.Mode_bit.SpeedLimit - (0xAA >> 2)) * 10 + MC_ConfigParam2.SpeedLimitStartAdj;
+	speedLimitEnd = (MC_ConfigParam1.SpeedLimit + (int8_t)MC_ConfigParam2.SpeedLimitAdj + GasMode_Param.Mode_bit.SpeedLimit - (0xAA >> 2)) * 10 + MC_ConfigParam2.SpeedLimitEndAdj + 22;
 	slewRate = 1024 / (speedLimitEnd - speedLimitStart - 3);		
 	
 	//随车速调节助力比
@@ -1090,25 +1030,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_Torque_ECO:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_ECO.StarModel_GAIN <= 80)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_ECO.AccCnt - 1;
-				}
-				else if(MC_ConfigParam1.UserAdjParam_ECO.StarModel_GAIN >= 120)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_ECO.AccCnt + 1;
-				}
-				else
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_ECO.AccCnt;
-				}
-				TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+				TorqueAccStep = (MC_AssisParam.Gear_ECO.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_ECO.AccCnt;
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_ECO.DecCnt;
 				//随力矩输入调节助力比
 				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(MC_AssisParam.Gear_ECO.Gain_K >> 1, MC_AssisParam.Gear_ECO.Gain_K, MC_AssisParam.Gear_ECO.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
-				//根据助力增益调节助力比
-				Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_ECO.Assist_K_GAIN / 100;
 				//给定下限
 				Torque_Temp = (Torque_Temp < MC_AssisParam.Gear_ECO.Lower_Iq) ? MC_AssisParam.Gear_ECO.Lower_Iq : Torque_Temp;
 				//给定上限
@@ -1125,25 +1051,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_Torque_NORM:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_NORM.StarModel_GAIN <= 80)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_NORM.AccCnt - 1;
-				}
-				else if(MC_ConfigParam1.UserAdjParam_NORM.StarModel_GAIN >= 120)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_NORM.AccCnt + 1;
-				}
-				else
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_NORM.AccCnt;
-				}
-				TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+				TorqueAccStep = (MC_AssisParam.Gear_NORM.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_NORM.AccCnt;
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_NORM.DecCnt;
 				//随力矩输入调节助力比
 				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(MC_AssisParam.Gear_NORM.Gain_K >> 1, MC_AssisParam.Gear_NORM.Gain_K, MC_AssisParam.Gear_NORM.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
-				//根据助力增益调节助力比
-				Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_NORM.Assist_K_GAIN / 100;
 				//给定下限
 				Torque_Temp = (Torque_Temp < MC_AssisParam.Gear_NORM.Lower_Iq) ? MC_AssisParam.Gear_NORM.Lower_Iq : Torque_Temp;
 				//给定上限
@@ -1161,25 +1073,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_Torque_SPORT:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_SPORT.StarModel_GAIN <= 80)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_SPORT.AccCnt - 1;
-				}
-				else if(MC_ConfigParam1.UserAdjParam_SPORT.StarModel_GAIN >= 120)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_SPORT.AccCnt + 1;
-				}
-				else
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_SPORT.AccCnt;
-				}
-				TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+				TorqueAccStep = (MC_AssisParam.Gear_SPORT.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_SPORT.AccCnt;
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_SPORT.DecCnt;
 				//随力矩输入调节助力比
 				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(MC_AssisParam.Gear_SPORT.Gain_K >> 1, MC_AssisParam.Gear_SPORT.Gain_K, MC_AssisParam.Gear_SPORT.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
-				//根据助力增益调节助力比
-				Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_SPORT.Assist_K_GAIN / 100;
 				//给定下限
 				Torque_Temp = (Torque_Temp < MC_AssisParam.Gear_SPORT.Lower_Iq) ? MC_AssisParam.Gear_SPORT.Lower_Iq : Torque_Temp;
 				//给定上限
@@ -1196,25 +1094,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_Torque_TURBO:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN <= 80)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt - 1;
-				}
-				else if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN >= 120)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt + 1;
-				}
-				else
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt;
-				}
-				TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+				TorqueAccStep = (MC_AssisParam.Gear_TURBO.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_TURBO.AccCnt;
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_TURBO.DecCnt;
 				//随力矩输入调节助力比
 				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(MC_AssisParam.Gear_TURBO.Gain_K >> 1, MC_AssisParam.Gear_TURBO.Gain_K, MC_AssisParam.Gear_TURBO.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
-				//根据助力增益调节助力比
-				Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_TURBO.Assist_K_GAIN / 100;
 				//给定下限
 				Torque_Temp = (Torque_Temp < MC_AssisParam.Gear_TURBO.Lower_Iq) ? MC_AssisParam.Gear_TURBO.Lower_Iq : Torque_Temp;
 				//给定上限
@@ -1231,19 +1115,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_SMART:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_SMART.StarModel_GAIN <= 80)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_SMART.AccCnt - 1;
-				}
-				else if(MC_ConfigParam1.UserAdjParam_SMART.StarModel_GAIN >= 120)
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_SMART.AccCnt + 1;
-				}
-				else
-				{
-				  TorqueAccStep = MC_AssisParam.Gear_SMART.AccCnt;
-				}
-				TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
+				TorqueAccStep = (MC_AssisParam.Gear_SMART.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_SMART.AccCnt;
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_SMART.DecCnt;
 				//助力比控制系数
@@ -1255,9 +1127,6 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 				{
 					Torque_Temp = (uint32_t)(MC_TorqueProcess_Param.TorqueApp * MC_TorqueProcess_Param.TorqueApp) / (MC_AssisParam.Gear_SMART.TorqueApp_TH);
 				}				
-				
-				//根据助力增益调节助力比
-				Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_SMART.Assist_K_GAIN / 100;
 				//给定下限
 				Torque_Temp = (Torque_Temp < MC_AssisParam.Gear_SMART.Lower_Iq) ? MC_AssisParam.Gear_SMART.Lower_Iq : Torque_Temp;
 				//给定上限
@@ -1279,13 +1148,15 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 				break;
 			}
 		}
-		static uint16_t speedLimitStart=250, speedLimitEnd=272, slewRate=52;
-		if((MC_ConfigParam2.speedLimitStartAdj>50) || (MC_ConfigParam2.speedLimitStartAdj<-50)) MC_ConfigParam2.speedLimitStartAdj=0;
-		if((MC_ConfigParam2.speedLimitEndAdj>50) || (MC_ConfigParam2.speedLimitEndAdj<-50)) MC_ConfigParam2.speedLimitEndAdj=0;
 		
-		speedLimitStart = MC_ConfigParam1.SpeedLimit*10 + MC_ConfigParam2.speedLimitStartAdj;
-		speedLimitEnd   = MC_ConfigParam1.SpeedLimit*10 + MC_ConfigParam2.speedLimitEndAdj + 22;
-		slewRate        = 1024/(speedLimitEnd-speedLimitStart-3);		
+		//限速参数调整
+		static uint16_t speedLimitStart = 250, speedLimitEnd = 272, slewRate = 52;
+		if((MC_ConfigParam2.SpeedLimitStartAdj > 50) || (MC_ConfigParam2.SpeedLimitStartAdj < -50)) MC_ConfigParam2.SpeedLimitStartAdj = 0;
+		if((MC_ConfigParam2.SpeedLimitEndAdj > 50) || (MC_ConfigParam2.SpeedLimitEndAdj < -50)) MC_ConfigParam2.SpeedLimitEndAdj = 0;
+		
+		speedLimitStart = (MC_ConfigParam1.SpeedLimit + (int8_t)MC_ConfigParam2.SpeedLimitAdj) * 10 + MC_ConfigParam2.SpeedLimitStartAdj;
+		speedLimitEnd   = (MC_ConfigParam1.SpeedLimit + (int8_t)MC_ConfigParam2.SpeedLimitAdj) * 10 + MC_ConfigParam2.SpeedLimitEndAdj + 22;
+		slewRate        = 1024 / (speedLimitEnd - speedLimitStart - 3);		
 		//随车速调节助力比
 		Torque_Temp = (uint16_t)((uint32_t)(Torque_Temp * Function_Linear_3Stage(speedLimitStart, 0, speedLimitStart, slewRate, MC_SpeedSensorData.Speed_Data)) >> 10);
 			

+ 76 - 11
User/Src/var.c

@@ -95,17 +95,24 @@ const MC_ConfigParam1_Struct_t MC_ConfigParam1_Default =
 //MC配置参数2,占用32bytes
 const MC_ConfigParam2_Struct_t MC_ConfigParam2_Default = 
 {
-  (int16_t)0,
-	(int16_t)0,
+  (int16_t)0,                                      //俯仰角零偏
+	(int16_t)0,                                      //横滚角零偏
 	(MC_SupportFlag_Struct_t)MC_SUPPORT_DISABLE,     //0x55-不支持,0x-AA支持
-	(MC_TailLight_Mode_Struct_t)MC_TAIL_LIGHT_MODE2, 
-	(uint8_t)12,
-	(uint8_t)12,
-	(uint16_t)150,
-	(uint16_t)75,
-	(uint16_t)150,
-	(int8_t)0,
-	(int8_t)0
+	(MC_TailLight_Mode_Struct_t)MC_TAIL_LIGHT_MODE2, //尾灯模式
+	(uint8_t)12,                                     //前灯电压
+	(uint8_t)12,                                     //后灯电压
+	(uint16_t)150,                                   //超速报警
+	(uint16_t)75,                                    //尾灯控制高电平系数
+	(uint16_t)150,                                   //尾灯控制周期系数
+	(int8_t)0,                                       //限速起始偏移
+	(int8_t)0,                                       //限速结束偏移
+	(int8_t)0,                                       //限速偏移
+	(uint8_t)0,                                      //预留
+	{100,100},                                       //ECO
+  {100,100},                                       //NORM
+  {100,100},                                       //SPORT
+  {100,100},                                       //TURBO
+  {100,100},                                       //SMART
 };
 
 //MC默认马达参数,占用16bytes
@@ -554,7 +561,8 @@ void Var_Init(void)
 //根据电机型号系列号调用不同的助力参数
 void UpdateGearParam(uint8_t SerialNum)
 {
-  switch(SerialNum)
+	//根据电机系列号初始化
+	switch(SerialNum)
 	{
 	  case 1://Volans
 		{
@@ -603,4 +611,61 @@ void UpdateGearParam(uint8_t SerialNum)
 			break;
 		}
 	}
+	
+	//根据配置参数调整各挡位助力比
+	if((MC_ConfigParam1.UserAdjParam1_ECO.Assist_K_GAIN <= 120) && (MC_ConfigParam1.UserAdjParam1_ECO.Assist_K_GAIN >= 80))
+	  MC_AssisParam.Gear_ECO.Gain_K = (MC_AssisParam.Gear_ECO.Gain_K * MC_ConfigParam1.UserAdjParam1_ECO.Assist_K_GAIN) / 100;
+	if((MC_ConfigParam1.UserAdjParam1_NORM.Assist_K_GAIN <= 120) && (MC_ConfigParam1.UserAdjParam1_NORM.Assist_K_GAIN >= 80))	
+		MC_AssisParam.Gear_NORM.Gain_K = (MC_AssisParam.Gear_NORM.Gain_K * MC_ConfigParam1.UserAdjParam1_NORM.Assist_K_GAIN) / 100;
+	if((MC_ConfigParam1.UserAdjParam1_SPORT.Assist_K_GAIN <= 120) && (MC_ConfigParam1.UserAdjParam1_SPORT.Assist_K_GAIN >= 80))		
+		MC_AssisParam.Gear_SPORT.Gain_K = (MC_AssisParam.Gear_SPORT.Gain_K * MC_ConfigParam1.UserAdjParam1_SPORT.Assist_K_GAIN) / 100;
+	if((MC_ConfigParam1.UserAdjParam1_TURBO.Assist_K_GAIN <= 120) && (MC_ConfigParam1.UserAdjParam1_TURBO.Assist_K_GAIN >= 80))		
+		MC_AssisParam.Gear_TURBO.Gain_K = (MC_AssisParam.Gear_TURBO.Gain_K * MC_ConfigParam1.UserAdjParam1_TURBO.Assist_K_GAIN) / 100;
+	if((MC_ConfigParam1.UserAdjParam1_SMART.Assist_K_GAIN <= 120) && (MC_ConfigParam1.UserAdjParam1_SMART.Assist_K_GAIN >= 80))		
+		MC_AssisParam.Gear_SMART.TorqueApp_TH = (MC_AssisParam.Gear_SMART.TorqueApp_TH * MC_ConfigParam1.UserAdjParam1_SMART.Assist_K_GAIN) / 100;
+	
+	//根据配置参数调整各挡位加速度
+	if(MC_ConfigParam1.UserAdjParam1_ECO.StarModel_GAIN <= 90) 
+		MC_AssisParam.Gear_ECO.AccCnt -= 1;
+	else if(MC_ConfigParam1.UserAdjParam1_ECO.StarModel_GAIN >= 110) 
+		MC_AssisParam.Gear_ECO.AccCnt += 1;
+  if(MC_ConfigParam1.UserAdjParam1_NORM.StarModel_GAIN <= 90) 
+		MC_AssisParam.Gear_NORM.AccCnt -= 1;
+	else if(MC_ConfigParam1.UserAdjParam1_NORM.StarModel_GAIN >= 110) 
+		MC_AssisParam.Gear_NORM.AccCnt += 1;
+  if(MC_ConfigParam1.UserAdjParam1_SPORT.StarModel_GAIN <= 90) 
+		MC_AssisParam.Gear_SPORT.AccCnt -= 1;
+	else if(MC_ConfigParam1.UserAdjParam1_SPORT.StarModel_GAIN >= 110) 
+		MC_AssisParam.Gear_SPORT.AccCnt += 1;
+  if(MC_ConfigParam1.UserAdjParam1_TURBO.StarModel_GAIN <= 90) 
+		MC_AssisParam.Gear_TURBO.AccCnt -= 1;
+	else if(MC_ConfigParam1.UserAdjParam1_TURBO.StarModel_GAIN >= 110) 
+		MC_AssisParam.Gear_TURBO.AccCnt += 1;
+  if(MC_ConfigParam1.UserAdjParam1_SMART.StarModel_GAIN <= 90) MC_AssisParam.Gear_SMART.AccCnt -= 1;
+	else if(MC_ConfigParam1.UserAdjParam1_SMART.StarModel_GAIN >= 110) 
+		MC_AssisParam.Gear_SMART.AccCnt += 1;	
+	
+	//根据配置参数调整各挡位最大力矩
+	if((MC_ConfigParam2.UserAdjParam2_ECO.MaxTorque_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_ECO.MaxTorque_K_GAIN >= 80))
+	  MC_AssisParam.Gear_ECO.Upper_Iq = (MC_AssisParam.Gear_ECO.Upper_Iq * MC_ConfigParam2.UserAdjParam2_ECO.MaxTorque_K_GAIN) / 100;
+	if((MC_ConfigParam2.UserAdjParam2_NORM.MaxTorque_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_NORM.MaxTorque_K_GAIN >= 80))
+	  MC_AssisParam.Gear_NORM.Upper_Iq = (MC_AssisParam.Gear_NORM.Upper_Iq * MC_ConfigParam2.UserAdjParam2_NORM.MaxTorque_K_GAIN) / 100;
+	if((MC_ConfigParam2.UserAdjParam2_SPORT.MaxTorque_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_SPORT.MaxTorque_K_GAIN >= 80))
+		MC_AssisParam.Gear_SPORT.Upper_Iq = (MC_AssisParam.Gear_SPORT.Upper_Iq * MC_ConfigParam2.UserAdjParam2_SPORT.MaxTorque_K_GAIN) / 100;
+	if((MC_ConfigParam2.UserAdjParam2_TURBO.MaxTorque_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_TURBO.MaxTorque_K_GAIN >= 80))
+		MC_AssisParam.Gear_TURBO.Upper_Iq = (MC_AssisParam.Gear_TURBO.Upper_Iq * MC_ConfigParam2.UserAdjParam2_TURBO.MaxTorque_K_GAIN) / 100;
+	if((MC_ConfigParam2.UserAdjParam2_SMART.MaxTorque_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_SMART.MaxTorque_K_GAIN >= 80))
+	  MC_AssisParam.Gear_SMART.Upper_Iq = (MC_AssisParam.Gear_SMART.Upper_Iq * MC_ConfigParam2.UserAdjParam2_SMART.MaxTorque_K_GAIN) / 100;
+	
+	//根据配置参数调整各挡位最大电流
+	if((MC_ConfigParam2.UserAdjParam2_ECO.MaxCurrent_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_ECO.MaxCurrent_K_GAIN >= 80))
+	  MC_AssisParam.Gear_ECO.CurrentMax_K = (MC_AssisParam.Gear_ECO.CurrentMax_K * MC_ConfigParam2.UserAdjParam2_ECO.MaxCurrent_K_GAIN) / 100;
+	if((MC_ConfigParam2.UserAdjParam2_NORM.MaxCurrent_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_NORM.MaxCurrent_K_GAIN >= 80))
+		MC_AssisParam.Gear_NORM.CurrentMax_K = (MC_AssisParam.Gear_NORM.CurrentMax_K * MC_ConfigParam2.UserAdjParam2_NORM.MaxCurrent_K_GAIN) / 100;
+	if((MC_ConfigParam2.UserAdjParam2_SPORT.MaxCurrent_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_SPORT.MaxCurrent_K_GAIN >= 80))	
+		MC_AssisParam.Gear_SPORT.CurrentMax_K = (MC_AssisParam.Gear_SPORT.CurrentMax_K * MC_ConfigParam2.UserAdjParam2_SPORT.MaxCurrent_K_GAIN) / 100;
+	if((MC_ConfigParam2.UserAdjParam2_TURBO.MaxCurrent_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_TURBO.MaxCurrent_K_GAIN >= 80))	
+		MC_AssisParam.Gear_TURBO.CurrentMax_K = (MC_AssisParam.Gear_TURBO.CurrentMax_K * MC_ConfigParam2.UserAdjParam2_TURBO.MaxCurrent_K_GAIN) / 100;
+	if((MC_ConfigParam2.UserAdjParam2_SMART.MaxCurrent_K_GAIN <= 120) && (MC_ConfigParam2.UserAdjParam2_SMART.MaxCurrent_K_GAIN >= 80))	
+		MC_AssisParam.Gear_SMART.CurrentMax_K = (MC_AssisParam.Gear_SMART.CurrentMax_K * MC_ConfigParam2.UserAdjParam2_SMART.MaxCurrent_K_GAIN) / 100;
 }

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików