|
@@ -740,31 +740,34 @@ void giant_DataProcess(void)
|
|
|
|
|
|
ass_stParaCong.uwStartMode = stGiantControlParams.StartMode;
|
|
|
|
|
|
- if((stGiantControlParams.AdjustingMode >= AD_CHECKMODE) && (stGiantControlParams.AdjustingMode <= AD_OFFMODE))
|
|
|
+ if(MC_WorkMode != 1)
|
|
|
{
|
|
|
- MC_ControlCode.GearSt = MC_GearSt_OFF;
|
|
|
- }
|
|
|
- else if(stGiantControlParams.WalkEn == 1)
|
|
|
- {
|
|
|
- MC_ControlCode.GearSt = MC_GearSt_WALK;
|
|
|
- }
|
|
|
- else if((stGiantControlParams.AdjustingMode >= AD_SERVICEMODE_S) && (stGiantControlParams.AdjustingMode <= AD_SERVICEMODE_E))
|
|
|
- {
|
|
|
- MC_ControlCode.GearSt = MC_GearSt_OFF;
|
|
|
- }
|
|
|
- else if(stGiantControlParams.RidingModeEn == 0)
|
|
|
- {
|
|
|
- MC_ControlCode.GearSt = MC_GearSt_OFF;
|
|
|
- }
|
|
|
- else if(stGiantControlParams.AssistRatio == 0)
|
|
|
- {
|
|
|
- MC_ControlCode.GearSt = MC_GearSt_OFF;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- MC_ControlCode.GearSt = MC_GearSt_Torque_ECO;
|
|
|
+ if((stGiantControlParams.AdjustingMode >= AD_CHECKMODE) && (stGiantControlParams.AdjustingMode <= AD_OFFMODE))
|
|
|
+ {
|
|
|
+ MC_ControlCode.GearSt = MC_GearSt_OFF;
|
|
|
+ }
|
|
|
+ else if(stGiantControlParams.WalkEn == 1)
|
|
|
+ {
|
|
|
+ MC_ControlCode.GearSt = MC_GearSt_WALK;
|
|
|
+ }
|
|
|
+ else if((stGiantControlParams.AdjustingMode >= AD_SERVICEMODE_S) && (stGiantControlParams.AdjustingMode <= AD_SERVICEMODE_E))
|
|
|
+ {
|
|
|
+ MC_ControlCode.GearSt = MC_GearSt_OFF;
|
|
|
+ }
|
|
|
+ else if(stGiantControlParams.RidingModeEn == 0)
|
|
|
+ {
|
|
|
+ MC_ControlCode.GearSt = MC_GearSt_OFF;
|
|
|
+ }
|
|
|
+ else if(stGiantControlParams.AssistRatio == 0)
|
|
|
+ {
|
|
|
+ MC_ControlCode.GearSt = MC_GearSt_OFF;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ MC_ControlCode.GearSt = MC_GearSt_Torque_ECO;
|
|
|
+ }
|
|
|
+ MC_RunInfo.GearSt = (UBYTE)MC_ControlCode.GearSt;
|
|
|
}
|
|
|
- MC_RunInfo.GearSt = (UBYTE)MC_ControlCode.GearSt;
|
|
|
|
|
|
if(stGiantControlParams.AdjustingMode == AD_CHECKMODE)
|
|
|
{
|
|
@@ -814,22 +817,27 @@ void giant_DataProcess(void)
|
|
|
SLONG giant_slPolynomial(const SWORD *value)
|
|
|
{
|
|
|
SLONG out;
|
|
|
- UWORD gian;
|
|
|
+ UWORD gain;
|
|
|
|
|
|
if(stGiantControlParams.StartMode == 1)
|
|
|
{
|
|
|
- gian = 82;
|
|
|
+ gain = 82;
|
|
|
}
|
|
|
else if(stGiantControlParams.StartMode == 3)
|
|
|
{
|
|
|
- gian = 123;
|
|
|
+ gain = 123;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- gian = 102;
|
|
|
+ gain = 102;
|
|
|
+ }
|
|
|
+ if(MC_WorkMode == 1)
|
|
|
+ {
|
|
|
+ gain = 102;
|
|
|
+ stGiantControlParams.AssistRatio = 35;
|
|
|
}
|
|
|
|
|
|
- out = stGiantControlParams.AssistRatio * *value * gian >> 10;
|
|
|
+ out = stGiantControlParams.AssistRatio * *value * gain >> 10;
|
|
|
|
|
|
return out;
|
|
|
}
|