|
@@ -361,7 +361,7 @@ void ass_voAssistCoefCal(void)
|
|
|
/** Motor Max Speed calculate according to bike speed limit */
|
|
|
tmp_slAssistSpdLimit = ((SLONG)ass_stCadAssCoef.swKmhToMSpdPu*((SLONG) ass_stCadAssCoef.uwThrottleMaxBikeSpeed + ASS_SPD_LIMIT_ERR) >> 4) / 10;
|
|
|
ass_stCadAssCoef.swThrottleMaxspd= (SWORD)tmp_slAssistSpdLimit;
|
|
|
- tmp_slAssistSpdLimit = ((SWORD)((SLONG)ass_stCadAssCoef.swKmhToMSpdPu*((SLONG)ass_stCadAssCoef.uwAssistMaxBikeSpeed + ASS_SPD_LIMIT_ERR) >> 4)) / 10;
|
|
|
+ tmp_slAssistSpdLimit = ((SLONG)((SLONG)ass_stCadAssCoef.swKmhToMSpdPu*((SLONG)ass_stCadAssCoef.uwAssistMaxBikeSpeed + ASS_SPD_LIMIT_ERR) >> 4)) / 10;
|
|
|
ass_stCadAssCoef.swAssistMaxSpd=(SWORD)tmp_slAssistSpdLimit;
|
|
|
|
|
|
#if(THROTTLEGEAR !=0)
|
|
@@ -402,6 +402,7 @@ void ass_voAssistCoefCal(void)
|
|
|
void ass_voParameterInput(void)
|
|
|
{
|
|
|
/** Motor Max Speed calculate according to bike speed limit */
|
|
|
+#if 0
|
|
|
if(MC_WorkMode == 1) //配置模式不限制电机最高转速
|
|
|
{
|
|
|
ass_stCadAssCoef.swMSpdpuLimit = (SLONG)(cp_stMotorPara.swRSpeedRpm << 15) / cof_uwVbRpm;
|
|
@@ -417,6 +418,9 @@ void ass_voParameterInput(void)
|
|
|
ass_stCadAssCoef.swMSpdpuLimit =ass_stCadAssCoef.swAssistMaxSpd;
|
|
|
}
|
|
|
}
|
|
|
+#else //不限速
|
|
|
+ ass_stCadAssCoef.swMSpdpuLimit = (SLONG)(cp_stMotorPara.swRSpeedRpm << 15) / cof_uwVbRpm;
|
|
|
+#endif
|
|
|
|
|
|
/** Flux current limit input */
|
|
|
ass_stCadAssParaIn.swFlxIqLimitPu = abs(flx_stCtrlOut.swIqLimPu);
|
|
@@ -880,7 +884,7 @@ void ass_voAssistCmdDeal(void)
|
|
|
#endif
|
|
|
/** Record Last assist mode */
|
|
|
ass_stCadAssParaPro.uwAssitModeLast = ass_stCadAssParaPro.uwAssitMode;
|
|
|
-
|
|
|
+#if 0
|
|
|
/** Cart Comand */
|
|
|
if(ass_stCadAssParaIn.uwGearSt == 0x22)
|
|
|
{
|
|
@@ -1098,7 +1102,35 @@ void ass_voAssistCmdDeal(void)
|
|
|
ass_stCadAssParaPro.uwAssitMode = 0;
|
|
|
tmp_slAssistSpdCmd = 0; /**< Q15 */
|
|
|
}
|
|
|
+#else //仪表挡位控制转速
|
|
|
+ if((ass_stCadAssParaIn.uwGearSt >= 0x01) && (ass_stCadAssParaIn.uwGearSt <= 0x05) )
|
|
|
+ {
|
|
|
+ ass_stCadAssParaPro.uwAssitMode = 6;
|
|
|
+ if(ass_stCadAssParaIn.uwGearSt == 0x01)
|
|
|
+ MC_MotorSPD_rpm_Percent = 20;
|
|
|
+ else if(ass_stCadAssParaIn.uwGearSt == 0x02)
|
|
|
+ MC_MotorSPD_rpm_Percent = 40;
|
|
|
+ else if(ass_stCadAssParaIn.uwGearSt == 0x03)
|
|
|
+ MC_MotorSPD_rpm_Percent = 60;
|
|
|
+ else if(ass_stCadAssParaIn.uwGearSt == 0x04)
|
|
|
+ MC_MotorSPD_rpm_Percent = 80;
|
|
|
+ else
|
|
|
+ MC_MotorSPD_rpm_Percent = 100;
|
|
|
+ tmp_slAssistSpdCmd = (SLONG)(cp_stMotorPara.swRSpeedRpm << 15) / cof_uwVbRpm;
|
|
|
+ tmp_slAssistSpdCmd= ((SLONG)MC_MotorSPD_rpm_Percent * tmp_slAssistSpdCmd) / 100;
|
|
|
|
|
|
+ if(MC_MotorSPD_rpm_Percent <= 2)
|
|
|
+ {
|
|
|
+ tmp_slAssistSpdCmd = 0;
|
|
|
+ ass_stCadAssParaPro.uwAssitMode = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ass_stCadAssParaPro.uwAssitMode = 0;
|
|
|
+ tmp_slAssistSpdCmd = 0; /**< Q15 */
|
|
|
+ }
|
|
|
+#endif
|
|
|
/** Stop Assist when Bike Brake */
|
|
|
if((BikeBrake_blGetstate() == TRUE) ||(BMS_RunInfo.Status.Status_Bit.Charge!=0))
|
|
|
{
|