|
@@ -881,7 +881,7 @@ void ass_voAssistCmdDeal(void)
|
|
|
/** Q15 * Q4 / Q4 = Q15 */
|
|
|
if(MC_WorkMode == 1)
|
|
|
{
|
|
|
- tmp_slAssistSpdCmd = (SLONG)ass_stCadAssCoef.swKmhToMSpdPu*(SLONG)ass_stCadAssCoef.uwThrottleMaxBikeSpeed >> 4;
|
|
|
+ tmp_slAssistSpdCmd = ((SLONG)ass_stCadAssCoef.swKmhToMSpdPu * (SLONG)ass_stCadAssCoef.uwThrottleMaxBikeSpeed) >> 4;
|
|
|
tmp_slAssistSpdCmd= ((SLONG)MC_MotorSPD_rpm_Percent * tmp_slAssistSpdCmd) / 100;
|
|
|
|
|
|
if(MC_MotorSPD_rpm_Percent<=2)
|
|
@@ -902,35 +902,36 @@ void ass_voAssistCmdDeal(void)
|
|
|
{
|
|
|
ass_stCadAssParaPro.uwAssitMode = 7;
|
|
|
#if(THROTTLEGEAR != 0)
|
|
|
- if(ass_stCadAssParaIn.uwGearSt == 1)
|
|
|
- {
|
|
|
- ass_MaxSpeed.MaxBikeSpeed = ass_MaxSpeed.uwGearOne;
|
|
|
- }
|
|
|
- else if(ass_stCadAssParaIn.uwGearSt == 2)
|
|
|
- {
|
|
|
- ass_MaxSpeed.MaxBikeSpeed = ass_MaxSpeed.uwGearTwo;
|
|
|
- }
|
|
|
- else if(ass_stCadAssParaIn.uwGearSt == 3)
|
|
|
- {
|
|
|
- ass_MaxSpeed.MaxBikeSpeed = ass_MaxSpeed.uwGearThree;
|
|
|
- }
|
|
|
- else if(ass_stCadAssParaIn.uwGearSt == 4)
|
|
|
- {
|
|
|
- ass_MaxSpeed.MaxBikeSpeed = ass_MaxSpeed.uwGearFour;
|
|
|
- }
|
|
|
- else if(ass_stCadAssParaIn.uwGearSt == 5)
|
|
|
- {
|
|
|
- ass_MaxSpeed.MaxBikeSpeed = ass_stCadAssCoef.uwThrottleMaxBikeSpeed ;
|
|
|
- }
|
|
|
- if(ass_stCadAssParaIn.uwThrottlePercent < 650)
|
|
|
- {
|
|
|
- /** Q15 * Q4 / Q4 = Q15 */
|
|
|
- tmp_slAssistSpdCmd = ((SLONG)ass_stCadAssCoef.swKmhToMSpdPu*((((SLONG)(ass_stCadAssParaIn.uwThrottlePercent - 250)*(SLONG)(ass_MaxSpeed.MaxBikeSpeed - ASS_THROT_SPEED_MIN))/400)+ASS_THROT_SPEED_MIN)) >> 4;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- tmp_slAssistSpdCmd = (SLONG)ass_stCadAssCoef.swKmhToMSpdPu*(SLONG)ass_MaxSpeed.MaxBikeSpeed>> 4;
|
|
|
- }
|
|
|
+ if(ass_stCadAssParaIn.uwGearSt == 1)
|
|
|
+ {
|
|
|
+ ass_MaxSpeed.MaxBikeSpeed = ass_MaxSpeed.uwGearOne;
|
|
|
+ }
|
|
|
+ else if(ass_stCadAssParaIn.uwGearSt == 2)
|
|
|
+ {
|
|
|
+ ass_MaxSpeed.MaxBikeSpeed = ass_MaxSpeed.uwGearTwo;
|
|
|
+ }
|
|
|
+ else if(ass_stCadAssParaIn.uwGearSt == 3)
|
|
|
+ {
|
|
|
+ ass_MaxSpeed.MaxBikeSpeed = ass_MaxSpeed.uwGearThree;
|
|
|
+ }
|
|
|
+ else if(ass_stCadAssParaIn.uwGearSt == 4)
|
|
|
+ {
|
|
|
+ ass_MaxSpeed.MaxBikeSpeed = ass_MaxSpeed.uwGearFour;
|
|
|
+ }
|
|
|
+ else if(ass_stCadAssParaIn.uwGearSt == 5)
|
|
|
+ {
|
|
|
+ ass_MaxSpeed.MaxBikeSpeed = ass_stCadAssCoef.uwThrottleMaxBikeSpeed ;
|
|
|
+ }
|
|
|
+ if(ass_stCadAssParaIn.uwThrottlePercent < 650)
|
|
|
+ {
|
|
|
+ /** Q15 * Q4 / Q4 = Q15 */
|
|
|
+ tmp_slAssistSpdCmd = ((SLONG)ass_stCadAssCoef.swKmhToMSpdPu*((((SLONG)(ass_stCadAssParaIn.uwThrottlePercent - 250)*(SLONG)(ass_MaxSpeed.MaxBikeSpeed - ASS_THROT_SPEED_MIN))/400)+ASS_THROT_SPEED_MIN)) >> 4;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ tmp_slAssistSpdCmd = (SLONG)ass_stCadAssCoef.swKmhToMSpdPu*(SLONG)ass_MaxSpeed.MaxBikeSpeed>> 4;
|
|
|
+ }
|
|
|
+ tmp_slAssistSpdCmd = (tmp_slAssistSpdCmd << 10) / Bike_RatioCalParam.RatioResult; //前后飞轮传动比
|
|
|
#else
|
|
|
if(ass_stCadAssParaIn.uwThrottlePercent < 650) //850
|
|
|
{
|
|
@@ -941,6 +942,7 @@ void ass_voAssistCmdDeal(void)
|
|
|
{
|
|
|
tmp_slAssistSpdCmd = (SLONG)ass_stCadAssCoef.swKmhToMSpdPu*(SLONG)ass_stCadAssCoef.uwThrottleMaxBikeSpeed >> 4;
|
|
|
}
|
|
|
+ tmp_slAssistSpdCmd = (tmp_slAssistSpdCmd << 10) / Bike_RatioCalParam.RatioResult; //前后飞轮传动比
|
|
|
#endif
|
|
|
}
|
|
|
else
|