|
|
@@ -220,12 +220,16 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
PeakValleyCheck ru_K = check_peaks_valleys(App.RightUpCS1237_SlopeArray, SLOPE_CNT);
|
|
|
|
PeakValleyCheck ru_K = check_peaks_valleys(App.RightUpCS1237_SlopeArray, SLOPE_CNT);
|
|
|
|
PeakValleyCheck rl_K = check_peaks_valleys(App.RightLowCS1237_SlopeArray, SLOPE_CNT);
|
|
|
|
PeakValleyCheck rl_K = check_peaks_valleys(App.RightLowCS1237_SlopeArray, SLOPE_CNT);
|
|
|
|
|
|
|
|
|
|
|
|
int32_t LeftSlopeSum = abs(App.LeftUpCS1237_SlopeArray[0]) + abs(App.LeftLowCS1237_SlopeArray[0]);
|
|
|
|
int32_t LeftSlopeSum = abs(App.LeftUpCS1237_SlopeArray[0]) + abs(App.LeftLowCS1237_SlopeArray[0]) + abs(App.LeftUpCS1237_SlopeArray[1]) + abs(App.LeftLowCS1237_SlopeArray[1]) + abs(App.LeftUpCS1237_SlopeArray[2]) + abs(App.LeftLowCS1237_SlopeArray[2]);
|
|
|
|
int32_t RightSlopeSum = abs(App.RightUpCS1237_SlopeArray[0]) + abs(App.RightLowCS1237_SlopeArray[0]);
|
|
|
|
int32_t RightSlopeSum = abs(App.RightUpCS1237_SlopeArray[0]) + abs(App.RightLowCS1237_SlopeArray[0]) + abs(App.RightUpCS1237_SlopeArray[1]) + abs(App.RightLowCS1237_SlopeArray[1]) + abs(App.RightUpCS1237_SlopeArray[2]) + abs(App.RightLowCS1237_SlopeArray[2]);
|
|
|
|
int32_t LeftDiff = abs(Oll_diff1) + abs(Olu_diff1);
|
|
|
|
int32_t LeftDiffSum = abs(lu_diff[0]) + abs(lu_diff[1]) + abs(lu_diff[2]);
|
|
|
|
int32_t RightDiff = abs(Orl_diff1) + abs(Oru_diff1);
|
|
|
|
int32_t RightDiffSum = abs(ru_diff[0]) + abs(ru_diff[1]) + abs(ru_diff[2]);
|
|
|
|
int32_t LeftDiffSum = abs(lu_diff[0]) + abs(ll_diff[0]);
|
|
|
|
int32_t LeftDiff = abs(Oll_diff1) + abs(Olu_diff1) + abs(Oll_diff2) + abs(Olu_diff2) + abs(Oll_diff3) + abs(Olu_diff3);
|
|
|
|
int32_t RightDiffSum = abs(ru_diff[0]) + abs(rl_diff[0]);
|
|
|
|
int32_t RightDiff = abs(Orl_diff1) + abs(Oru_diff1) + abs(Orl_diff2) + abs(Oru_diff2) + abs(Orl_diff3) + abs(Oru_diff3);
|
|
|
|
|
|
|
|
int32_t LuSideDiff = lu_ad[0] - lu_ad[5];
|
|
|
|
|
|
|
|
int32_t LlSideDiff = ll_ad[0] - ll_ad[5];
|
|
|
|
|
|
|
|
int32_t RuSideDiff = ru_ad[0] - ru_ad[5];
|
|
|
|
|
|
|
|
int32_t RlSideDiff = rl_ad[0] - rl_ad[5];
|
|
|
|
|
|
|
|
|
|
|
|
if(App.EmeFlag == true)
|
|
|
|
if(App.EmeFlag == true)
|
|
|
|
{
|
|
|
|
{
|
|
|
@@ -282,18 +286,24 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
if(LeftDiff > RightDiff)
|
|
|
|
if(LeftDiff > RightDiff)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
App.LeftRunFalg = true;
|
|
|
|
App.LeftRunFalg = true;
|
|
|
|
if((Oll_diff1+Orl_diff1) < -(App.ADTrack.Stop_VPT))
|
|
|
|
if((Olu_diff1+Oru_diff1) < -(App.ADTrack.Stop_VPT)
|
|
|
|
|
|
|
|
&& ((Olu_diff2+Oru_diff2) < -(App.ADTrack.Stop_VPT))
|
|
|
|
|
|
|
|
&& ((Olu_diff3+Oru_diff3) < -(App.ADTrack.Stop_VPT)))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_UP();
|
|
|
|
BDC_UP();
|
|
|
|
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
App.UpFlag = true;
|
|
|
|
App.UpFlag = true;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if((Oll_diff1+Orl_diff1) > (App.ADTrack.Stop_VPT))
|
|
|
|
if((Olu_diff1+Oru_diff1) > (App.ADTrack.Stop_VPT)
|
|
|
|
|
|
|
|
&& (Olu_diff2+Oru_diff2) > (App.ADTrack.Stop_VPT)
|
|
|
|
|
|
|
|
&& (Olu_diff3+Oru_diff3) > (App.ADTrack.Stop_VPT))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_DOWN();
|
|
|
|
BDC_DOWN();
|
|
|
|
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
App.UpFlag = false;
|
|
|
|
App.UpFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.DownFlag = true;
|
|
|
|
App.DownFlag = true;
|
|
|
@@ -304,18 +314,24 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
else if(RightDiff > LeftDiff)
|
|
|
|
else if(RightDiff > LeftDiff)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
App.RightRunFalg = true;
|
|
|
|
App.RightRunFalg = true;
|
|
|
|
if((Oll_diff1+Orl_diff1) < -(App.ADTrack.Stop_VPT))
|
|
|
|
if((Olu_diff1+Oru_diff1) < -(App.ADTrack.Stop_VPT)
|
|
|
|
|
|
|
|
&& (Olu_diff2+Oru_diff2) < -(App.ADTrack.Stop_VPT)
|
|
|
|
|
|
|
|
&& (Olu_diff3+Oru_diff3) < -(App.ADTrack.Stop_VPT))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_UP();
|
|
|
|
BDC_UP();
|
|
|
|
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
App.UpFlag = true;
|
|
|
|
App.UpFlag = true;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if((Oll_diff1+Orl_diff1) > (App.ADTrack.Stop_VPT))
|
|
|
|
if((Olu_diff1+Oru_diff1) > (App.ADTrack.Stop_VPT)
|
|
|
|
|
|
|
|
&& (Olu_diff2+Oru_diff2) > (App.ADTrack.Stop_VPT)
|
|
|
|
|
|
|
|
&& (Olu_diff3+Oru_diff3) > (App.ADTrack.Stop_VPT))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_DOWN();
|
|
|
|
BDC_DOWN();
|
|
|
|
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
App.UpFlag = false;
|
|
|
|
App.UpFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.DownFlag = true;
|
|
|
|
App.DownFlag = true;
|
|
|
@@ -324,90 +340,182 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if((LeftSlopeSum > RightSlopeSum && LeftDiffSum > RightDiffSum))////判断左边操作
|
|
|
|
else if((LeftSlopeSum > RightSlopeSum && LeftDiffSum > RightDiffSum))//判断左边操作
|
|
|
|
{
|
|
|
|
{
|
|
|
|
App.LeftRunFalg = true;
|
|
|
|
App.LeftRunFalg = true;
|
|
|
|
if(((App.SlopeCollDelay1mSCnt <= 0)
|
|
|
|
if((
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[0] <= -App.ADTrack.Slope_VPT) //判断正面按压
|
|
|
|
// (App.SlopeCollDelay1mSCnt <= 0)
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[1] <= -App.ADTrack.Slope_VPT)
|
|
|
|
// && (App.LeftUpCS1237_SlopeArray[0] <= -App.ADTrack.Slope_VPT) //通过斜率判断上下拉方向
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[2] <= -App.ADTrack.Slope_VPT)
|
|
|
|
// && (App.LeftUpCS1237_SlopeArray[1] <= -App.ADTrack.Slope_VPT)
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[0] >= App.ADTrack.Slope_VPT)
|
|
|
|
// && (App.LeftUpCS1237_SlopeArray[2] <= -App.ADTrack.Slope_VPT)
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[1] >= App.ADTrack.Slope_VPT)
|
|
|
|
// && (App.LeftLowCS1237_SlopeArray[0] >= App.ADTrack.Slope_VPT)
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[2] >= App.ADTrack.Slope_VPT))
|
|
|
|
// && (App.LeftLowCS1237_SlopeArray[1] >= App.ADTrack.Slope_VPT)
|
|
|
|
|| ((Oll_diff1 <= -(App.ADTrack.LeftLowVPT*5/6))
|
|
|
|
// && (App.LeftLowCS1237_SlopeArray[2] >= App.ADTrack.Slope_VPT)) || (
|
|
|
|
&& (Oll_diff2 <= -(App.ADTrack.LeftLowVPT*5/6))
|
|
|
|
(Olu_diff1 >= (App.ADTrack.LeftUpVPT*5/6)) //通过差值判断上下拉方向
|
|
|
|
&& (Oll_diff3 <= -(App.ADTrack.LeftLowVPT*5/6))
|
|
|
|
|
|
|
|
&& (Olu_diff1 >= (App.ADTrack.LeftUpVPT*5/6))
|
|
|
|
|
|
|
|
&& (Olu_diff2 >= (App.ADTrack.LeftUpVPT*5/6))
|
|
|
|
&& (Olu_diff2 >= (App.ADTrack.LeftUpVPT*5/6))
|
|
|
|
&& (Olu_diff3 >= (App.ADTrack.LeftUpVPT*5/6))))
|
|
|
|
&& (Olu_diff3 >= (App.ADTrack.LeftUpVPT*5/6))))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if((abs(Oll_diff1) > abs(Orl_diff1) + App.ADTrack.LeftLowShieldVPT)//判断侧面推拉
|
|
|
|
if((App.LeftUpCS1237_SlopeArray[0] <= -PRESS_VPT) //判断是否不是正面压
|
|
|
|
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[1] <= -PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[2] <= -PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[0] >= PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[1] >= PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[2] >= PRESS_VPT))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(App.CaliZeroFlag == true)//判断是否校零
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if((abs(Oll_diff1) > abs(Orl_diff1) + App.ADTrack.LeftLowShieldVPT)//判断是否不是侧面推拉
|
|
|
|
&& (abs(Olu_diff1) > abs(Orl_diff1) + App.ADTrack.LeftUpShieldVPT)
|
|
|
|
&& (abs(Olu_diff1) > abs(Orl_diff1) + App.ADTrack.LeftUpShieldVPT)
|
|
|
|
&& (abs(Oll_diff1) > abs(Oru_diff1) + App.ADTrack.LeftLowShieldVPT)
|
|
|
|
&& (abs(Oll_diff1) > abs(Oru_diff1) + App.ADTrack.LeftLowShieldVPT)
|
|
|
|
&& (abs(Olu_diff1) > abs(Oru_diff1) + App.ADTrack.LeftUpShieldVPT)
|
|
|
|
&& (abs(Olu_diff1) > abs(Oru_diff1) + App.ADTrack.LeftUpShieldVPT))
|
|
|
|
)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_UP();
|
|
|
|
BDC_DOWN();
|
|
|
|
App.UpFlag = true;
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
|
|
|
|
App.UpFlag = false;
|
|
|
|
|
|
|
|
App.DownFlag = true;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
|
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(((App.SlopeCollDelay1mSCnt <= 0)
|
|
|
|
else
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[0] >= App.ADTrack.Slope_VPT) //判断上下拉方向
|
|
|
|
{
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[1] >= App.ADTrack.Slope_VPT)
|
|
|
|
BDC_DOWN();
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[2] >= App.ADTrack.Slope_VPT)
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[0] <= -App.ADTrack.Slope_VPT)
|
|
|
|
App.UpFlag = false;
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[1] <= -App.ADTrack.Slope_VPT)
|
|
|
|
App.DownFlag = true;
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[2] <= -App.ADTrack.Slope_VPT))
|
|
|
|
App.StopFlag = false;
|
|
|
|
|| ((Oll_diff1 >= (App.ADTrack.LeftLowVPT*5/6))
|
|
|
|
App.EmeFlag = false;
|
|
|
|
&& (Oll_diff2 >= (App.ADTrack.LeftLowVPT*5/6))
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
&& (Oll_diff3 >= (App.ADTrack.LeftLowVPT*5/6))
|
|
|
|
}
|
|
|
|
&& (Olu_diff1 <= -(App.ADTrack.LeftUpVPT*5/6))
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if((
|
|
|
|
|
|
|
|
// (App.SlopeCollDelay1mSCnt <= 0)
|
|
|
|
|
|
|
|
// && (App.LeftUpCS1237_SlopeArray[0] >= App.ADTrack.Slope_VPT) //通过斜率判断上下拉方向
|
|
|
|
|
|
|
|
// && (App.LeftUpCS1237_SlopeArray[1] >= App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
// && (App.LeftUpCS1237_SlopeArray[2] >= App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
// && (App.LeftLowCS1237_SlopeArray[0] <= -App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
// && (App.LeftLowCS1237_SlopeArray[1] <= -App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
// && (App.LeftLowCS1237_SlopeArray[2] <= -App.ADTrack.Slope_VPT)) || (
|
|
|
|
|
|
|
|
(Olu_diff1 <= -(App.ADTrack.LeftUpVPT*5/6))//通过差值判断上下拉方向
|
|
|
|
&& (Olu_diff2 <= -(App.ADTrack.LeftUpVPT*5/6))
|
|
|
|
&& (Olu_diff2 <= -(App.ADTrack.LeftUpVPT*5/6))
|
|
|
|
&& (Olu_diff3 <= -(App.ADTrack.LeftUpVPT*5/6))))
|
|
|
|
&& (Olu_diff3 <= -(App.ADTrack.LeftUpVPT*5/6))))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if((abs(Oll_diff1) > abs(Orl_diff1) + App.ADTrack.LeftLowShieldVPT)//判断侧面推拉
|
|
|
|
if((App.LeftUpCS1237_SlopeArray[0] >= PRESS_VPT) //判断是否不是正面压
|
|
|
|
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[1] >= PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.LeftUpCS1237_SlopeArray[2] >= PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[0] <= -PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[1] <= -PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.LeftLowCS1237_SlopeArray[2] <= -PRESS_VPT))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(App.CaliZeroFlag == true)//判断是否校零
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if((abs(Oll_diff1) > abs(Orl_diff1) + App.ADTrack.LeftLowShieldVPT)//判断是否不是侧面推拉
|
|
|
|
&& (abs(Olu_diff1) > abs(Orl_diff1) + App.ADTrack.LeftUpShieldVPT)
|
|
|
|
&& (abs(Olu_diff1) > abs(Orl_diff1) + App.ADTrack.LeftUpShieldVPT)
|
|
|
|
&& (abs(Oll_diff1) > abs(Oru_diff1) + App.ADTrack.LeftLowShieldVPT)
|
|
|
|
&& (abs(Oll_diff1) > abs(Oru_diff1) + App.ADTrack.LeftLowShieldVPT)
|
|
|
|
&& (abs(Olu_diff1) > abs(Oru_diff1) + App.ADTrack.LeftUpShieldVPT)
|
|
|
|
&& (abs(Olu_diff1) > abs(Oru_diff1) + App.ADTrack.LeftUpShieldVPT))
|
|
|
|
)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_DOWN();
|
|
|
|
BDC_UP();
|
|
|
|
App.UpFlag = false;
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
App.DownFlag = true;
|
|
|
|
App.UpFlag = true;
|
|
|
|
|
|
|
|
App.DownFlag = false;
|
|
|
|
|
|
|
|
App.StopFlag = false;
|
|
|
|
|
|
|
|
App.EmeFlag = false;
|
|
|
|
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
BDC_UP();
|
|
|
|
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
|
|
|
|
App.UpFlag = true;
|
|
|
|
|
|
|
|
App.DownFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(LeftSlopeSum < RightSlopeSum && LeftDiffSum < RightDiffSum)//上下拉屏幕右边
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(LeftSlopeSum < RightSlopeSum && LeftDiffSum < RightDiffSum)//判断右边操作
|
|
|
|
{
|
|
|
|
{
|
|
|
|
App.RightRunFalg = true;
|
|
|
|
App.RightRunFalg = true;
|
|
|
|
if(((App.SlopeCollDelay1mSCnt <= 0)
|
|
|
|
if((
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[0] <= -App.ADTrack.Slope_VPT) //判断上下拉方向
|
|
|
|
// (App.SlopeCollDelay1mSCnt <= 0)
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[1] <= -App.ADTrack.Slope_VPT)
|
|
|
|
// && (App.RightUpCS1237_SlopeArray[0] <= -App.ADTrack.Slope_VPT) //通过斜率判断上下拉方向
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[2] <= -App.ADTrack.Slope_VPT)
|
|
|
|
// && (App.RightUpCS1237_SlopeArray[1] <= -App.ADTrack.Slope_VPT)
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[0] >= App.ADTrack.Slope_VPT)
|
|
|
|
// && (App.RightUpCS1237_SlopeArray[2] <= -App.ADTrack.Slope_VPT)
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[1] >= App.ADTrack.Slope_VPT)
|
|
|
|
// && (App.RightLowCS1237_SlopeArray[0] >= App.ADTrack.Slope_VPT)
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[2] >= App.ADTrack.Slope_VPT))
|
|
|
|
// && (App.RightLowCS1237_SlopeArray[1] >= App.ADTrack.Slope_VPT)
|
|
|
|
|| ((Orl_diff1 <= -(App.ADTrack.RightLowVPT*5/6))
|
|
|
|
// && (App.RightLowCS1237_SlopeArray[2] >= App.ADTrack.Slope_VPT)) || (
|
|
|
|
&& (Orl_diff2 <= -(App.ADTrack.RightLowVPT*5/6))
|
|
|
|
(Oru_diff1 >= (App.ADTrack.RightUpVPT*5/6)) //通过差值判断上下拉方向
|
|
|
|
&& (Orl_diff3 <= -(App.ADTrack.RightLowVPT*5/6))
|
|
|
|
|
|
|
|
&& (Oru_diff1 >= (App.ADTrack.RightUpVPT*5/6))
|
|
|
|
|
|
|
|
&& (Oru_diff2 >= (App.ADTrack.RightUpVPT*5/6))
|
|
|
|
&& (Oru_diff2 >= (App.ADTrack.RightUpVPT*5/6))
|
|
|
|
&& (Oru_diff3 >= (App.ADTrack.RightUpVPT*5/6))))
|
|
|
|
&& (Oru_diff3 >= (App.ADTrack.RightUpVPT*5/6))))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if((abs(Orl_diff1) > abs(Oll_diff1) + App.ADTrack.RightLowShieldVPT)//判断侧面推拉
|
|
|
|
if((App.RightUpCS1237_SlopeArray[0] <= -PRESS_VPT) //判断是否不是正面压
|
|
|
|
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[1] <= -PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[2] <= -PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[0] >= PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[1] >= PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[2] >= PRESS_VPT))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(App.CaliZeroFlag == true)//判断是否校零
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if((abs(Orl_diff1) > abs(Oll_diff1) + App.ADTrack.RightLowShieldVPT)//判断是否不是侧面推拉
|
|
|
|
&& (abs(Oru_diff1) > abs(Oll_diff1) + App.ADTrack.RightUpShieldVPT)
|
|
|
|
&& (abs(Oru_diff1) > abs(Oll_diff1) + App.ADTrack.RightUpShieldVPT)
|
|
|
|
&& (abs(Orl_diff1) > abs(Olu_diff1) + App.ADTrack.RightLowShieldVPT)
|
|
|
|
&& (abs(Orl_diff1) > abs(Olu_diff1) + App.ADTrack.RightLowShieldVPT)
|
|
|
|
&& (abs(Oru_diff1) > abs(Olu_diff1) + App.ADTrack.RightUpShieldVPT)
|
|
|
|
&& (abs(Oru_diff1) > abs(Olu_diff1) + App.ADTrack.RightUpShieldVPT))
|
|
|
|
)
|
|
|
|
{
|
|
|
|
|
|
|
|
BDC_DOWN();
|
|
|
|
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
|
|
|
|
App.DownFlag = true;
|
|
|
|
|
|
|
|
App.StopFlag = false;
|
|
|
|
|
|
|
|
App.UpFlag = false;
|
|
|
|
|
|
|
|
App.EmeFlag = false;
|
|
|
|
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
BDC_DOWN();
|
|
|
|
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
|
|
|
|
App.DownFlag = true;
|
|
|
|
|
|
|
|
App.StopFlag = false;
|
|
|
|
|
|
|
|
App.UpFlag = false;
|
|
|
|
|
|
|
|
App.EmeFlag = false;
|
|
|
|
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if((
|
|
|
|
|
|
|
|
// (App.SlopeCollDelay1mSCnt <= 0)
|
|
|
|
|
|
|
|
// && (App.RightUpCS1237_SlopeArray[0] >= App.ADTrack.Slope_VPT) //通过斜率判断上下拉方向
|
|
|
|
|
|
|
|
// && (App.RightUpCS1237_SlopeArray[1] >= App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
// && (App.RightUpCS1237_SlopeArray[2] >= App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
// && (App.RightLowCS1237_SlopeArray[0] <= -App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
// && (App.RightLowCS1237_SlopeArray[1] <= -App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
// && (App.RightLowCS1237_SlopeArray[2] <= -App.ADTrack.Slope_VPT))|| (
|
|
|
|
|
|
|
|
(Oru_diff1 <= -(App.ADTrack.RightUpVPT*5/6)) //通过差值判断上下拉方向
|
|
|
|
|
|
|
|
&& (Oru_diff2 <= -(App.ADTrack.RightUpVPT*5/6))
|
|
|
|
|
|
|
|
&& (Oru_diff3 <= -(App.ADTrack.RightUpVPT*5/6))))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if((App.RightUpCS1237_SlopeArray[0] >= PRESS_VPT) //判断是否不是正面压
|
|
|
|
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[1] >= PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[2] >= PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[0] <= -PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[1] <= -PRESS_VPT)
|
|
|
|
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[2] <= -PRESS_VPT))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(App.CaliZeroFlag == true)//判断是否校零
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if((abs(Oru_diff1) > abs(Olu_diff1) + App.ADTrack.RightUpShieldVPT)//判断是否不是侧面推拉
|
|
|
|
|
|
|
|
&& (abs(Oru_diff1) > abs(Oll_diff1) + App.ADTrack.RightUpShieldVPT)
|
|
|
|
|
|
|
|
&& (abs(Orl_diff1) > abs(Olu_diff1) + App.ADTrack.RightLowShieldVPT)
|
|
|
|
|
|
|
|
&& (abs(Oru_diff1) > abs(Olu_diff1) + App.ADTrack.RightUpShieldVPT))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_UP();
|
|
|
|
BDC_UP();
|
|
|
|
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
App.UpFlag = true;
|
|
|
|
App.UpFlag = true;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
@@ -415,41 +523,25 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(((App.SlopeCollDelay1mSCnt <= 0)
|
|
|
|
else
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[0] >= App.ADTrack.Slope_VPT) //判断上下拉方向
|
|
|
|
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[1] >= App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
&& (App.RightUpCS1237_SlopeArray[2] >= App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[0] <= -App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[1] <= -App.ADTrack.Slope_VPT)
|
|
|
|
|
|
|
|
&& (App.RightLowCS1237_SlopeArray[2] <= -App.ADTrack.Slope_VPT))
|
|
|
|
|
|
|
|
|| ((Orl_diff1 >= (App.ADTrack.RightLowVPT*5/6))
|
|
|
|
|
|
|
|
&& (Orl_diff2 >= (App.ADTrack.RightLowVPT*5/6))
|
|
|
|
|
|
|
|
&& (Orl_diff3 >= (App.ADTrack.RightLowVPT*5/6))
|
|
|
|
|
|
|
|
&& (Oru_diff1 <= -(App.ADTrack.RightUpVPT*5/6))
|
|
|
|
|
|
|
|
&& (Oru_diff2 <= -(App.ADTrack.RightUpVPT*5/6))
|
|
|
|
|
|
|
|
&& (Oru_diff3 <= -(App.ADTrack.RightUpVPT*5/6))))
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if((abs(Oru_diff1) > abs(Olu_diff1) + App.ADTrack.RightUpShieldVPT)//判断侧面推拉
|
|
|
|
BDC_UP();
|
|
|
|
&& (abs(Oru_diff1) > abs(Oll_diff1) + App.ADTrack.RightUpShieldVPT)
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
&& (abs(Orl_diff1) > abs(Olu_diff1) + App.ADTrack.RightLowShieldVPT)
|
|
|
|
App.UpFlag = true;
|
|
|
|
&& (abs(Oru_diff1) > abs(Olu_diff1) + App.ADTrack.RightUpShieldVPT)
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
BDC_DOWN();
|
|
|
|
|
|
|
|
App.DownFlag = true;
|
|
|
|
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.StopFlag = false;
|
|
|
|
App.UpFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
App.RunCollDelay1mSCnt = RUN_TIME_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
else if(App.DownFlag == true && App.RunCollDelay1mSCnt <= 0)
|
|
|
|
else if(App.DownFlag == true && App.RunCollDelay1mSCnt <= 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(App.LeftRunFalg == true)
|
|
|
|
if(App.LeftRunFalg == true)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(((App.CentreRunFalg == false ) && (ll_slope > App.ADTrack.Slope_VPT))
|
|
|
|
if(((App.CentreRunFalg == false ) && (lu_slope > App.ADTrack.Slope_VPT))
|
|
|
|
|| ((App.CentreRunFalg == true ) && ((App.LeftUpCS1237_SlopeArray[0] + App.RightUpCS1237_SlopeArray[0]) > App.ADTrack.Slope_VPT) && (App.SlopeCollDelay1mSCnt <= 0)))
|
|
|
|
|| ((App.CentreRunFalg == true ) && ((App.LeftUpCS1237_SlopeArray[0] + App.RightUpCS1237_SlopeArray[0]) > App.ADTrack.Slope_VPT) && (App.SlopeCollDelay1mSCnt <= 0)))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_STOP();
|
|
|
|
BDC_STOP();
|
|
|
@@ -461,11 +553,11 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
App.SlopeCollDelay1mSCnt = SLOPE_START_MS;
|
|
|
|
App.SlopeCollDelay1mSCnt = SLOPE_START_MS;
|
|
|
|
App.EmergencyDelay1mSCnt = EME_START_MS;
|
|
|
|
App.EmergencyDelay1mSCnt = EME_START_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(((App.CentreRunFalg == false ) && (Oll_diff1 < App.ADTrack.Stop_VPT))
|
|
|
|
else if(((App.CentreRunFalg == false ) && (Olu_diff1 < App.ADTrack.Stop_VPT) && (Olu_diff2 < App.ADTrack.Stop_VPT) && (Olu_diff3 < App.ADTrack.Stop_VPT))
|
|
|
|
|| ((App.CentreRunFalg == true)
|
|
|
|
|| ((App.CentreRunFalg == true)
|
|
|
|
&& ((Oll_diff1 + Orl_diff1) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff1 + Oru_diff1) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Oll_diff2 + Orl_diff2) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff2 + Oru_diff2) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Oll_diff3 + Orl_diff3) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff3 + Oru_diff3) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
))
|
|
|
|
))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_STOP();
|
|
|
|
BDC_STOP();
|
|
|
@@ -492,8 +584,8 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(App.RightRunFalg == true)
|
|
|
|
else if(App.RightRunFalg == true)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(((App.CentreRunFalg == false ) && (rl_slope > App.ADTrack.Slope_VPT))
|
|
|
|
if(((App.CentreRunFalg == false ) && (ru_slope > App.ADTrack.Slope_VPT))
|
|
|
|
|| ((App.CentreRunFalg == true ) && ((App.LeftUpCS1237_SlopeArray[0] + App.RightUpCS1237_SlopeArray[0]) < -App.ADTrack.Slope_VPT) && (App.SlopeCollDelay1mSCnt <= 0)))
|
|
|
|
|| ((App.CentreRunFalg == true ) && ((App.LeftUpCS1237_SlopeArray[0] + App.RightUpCS1237_SlopeArray[0]) > App.ADTrack.Slope_VPT) && (App.SlopeCollDelay1mSCnt <= 0)))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_STOP();
|
|
|
|
BDC_STOP();
|
|
|
|
App.StopFlag = true;
|
|
|
|
App.StopFlag = true;
|
|
|
@@ -504,11 +596,11 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
App.SlopeCollDelay1mSCnt = SLOPE_START_MS;
|
|
|
|
App.SlopeCollDelay1mSCnt = SLOPE_START_MS;
|
|
|
|
App.EmergencyDelay1mSCnt = EME_START_MS;
|
|
|
|
App.EmergencyDelay1mSCnt = EME_START_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(((App.CentreRunFalg == false ) && (Orl_diff1 < App.ADTrack.Stop_VPT))
|
|
|
|
else if(((App.CentreRunFalg == false ) && (Oru_diff1 < App.ADTrack.Stop_VPT) && (Oru_diff2 < App.ADTrack.Stop_VPT) && (Oru_diff3 < App.ADTrack.Stop_VPT))
|
|
|
|
|| ((App.CentreRunFalg == true)
|
|
|
|
|| ((App.CentreRunFalg == true)
|
|
|
|
&& ((Oll_diff1 + Orl_diff1) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff1 + Oru_diff1) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Oll_diff2 + Orl_diff2) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff2 + Oru_diff2) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Oll_diff3 + Orl_diff3) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff3 + Oru_diff3) < (App.ADTrack.Stop_VPT*2/3))
|
|
|
|
))
|
|
|
|
))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_STOP();
|
|
|
|
BDC_STOP();
|
|
|
@@ -538,7 +630,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(App.LeftRunFalg == true)
|
|
|
|
if(App.LeftRunFalg == true)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(((App.CentreRunFalg == false ) && (ll_slope < -App.ADTrack.Slope_VPT))
|
|
|
|
if(((App.CentreRunFalg == false ) && (lu_slope < -App.ADTrack.Slope_VPT))
|
|
|
|
|| ((App.CentreRunFalg == true ) && ((App.LeftUpCS1237_SlopeArray[0] + App.RightUpCS1237_SlopeArray[0]) > App.ADTrack.Slope_VPT) && (App.SlopeCollDelay1mSCnt <= 0)))
|
|
|
|
|| ((App.CentreRunFalg == true ) && ((App.LeftUpCS1237_SlopeArray[0] + App.RightUpCS1237_SlopeArray[0]) > App.ADTrack.Slope_VPT) && (App.SlopeCollDelay1mSCnt <= 0)))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_STOP();
|
|
|
|
BDC_STOP();
|
|
|
@@ -550,11 +642,11 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
App.SlopeCollDelay1mSCnt = SLOPE_START_MS;
|
|
|
|
App.SlopeCollDelay1mSCnt = SLOPE_START_MS;
|
|
|
|
App.EmergencyDelay1mSCnt = EME_START_MS;
|
|
|
|
App.EmergencyDelay1mSCnt = EME_START_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(((App.CentreRunFalg == false ) && (Oll_diff1 > -App.ADTrack.Stop_VPT))
|
|
|
|
else if(((App.CentreRunFalg == false ) && (Olu_diff1 > -App.ADTrack.Stop_VPT) && (Olu_diff2 > -App.ADTrack.Stop_VPT) && (Olu_diff3 > -App.ADTrack.Stop_VPT))
|
|
|
|
|| ((App.CentreRunFalg == true)
|
|
|
|
|| ((App.CentreRunFalg == true)
|
|
|
|
&& ((Oll_diff1 + Orl_diff1) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff1 + Oru_diff1) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Oll_diff2 + Orl_diff2) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff2 + Oru_diff2) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Oll_diff3 + Orl_diff3) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff3 + Oru_diff3) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
))
|
|
|
|
))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_STOP();
|
|
|
|
BDC_STOP();
|
|
|
@@ -581,7 +673,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(App.RightRunFalg == true)
|
|
|
|
else if(App.RightRunFalg == true)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(((App.CentreRunFalg == false ) && (rl_slope < -App.ADTrack.Slope_VPT))
|
|
|
|
if(((App.CentreRunFalg == false ) && (ru_slope < -App.ADTrack.Slope_VPT))
|
|
|
|
|| ((App.CentreRunFalg == true ) && ((App.LeftUpCS1237_SlopeArray[0] + App.RightUpCS1237_SlopeArray[0]) > App.ADTrack.Slope_VPT) && (App.SlopeCollDelay1mSCnt <= 0)))
|
|
|
|
|| ((App.CentreRunFalg == true ) && ((App.LeftUpCS1237_SlopeArray[0] + App.RightUpCS1237_SlopeArray[0]) > App.ADTrack.Slope_VPT) && (App.SlopeCollDelay1mSCnt <= 0)))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_STOP();
|
|
|
|
BDC_STOP();
|
|
|
@@ -593,11 +685,11 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
App.SlopeCollDelay1mSCnt = SLOPE_START_MS;
|
|
|
|
App.SlopeCollDelay1mSCnt = SLOPE_START_MS;
|
|
|
|
App.EmergencyDelay1mSCnt = EME_START_MS;
|
|
|
|
App.EmergencyDelay1mSCnt = EME_START_MS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(((App.CentreRunFalg == false ) && (Orl_diff1 > -App.ADTrack.Stop_VPT))
|
|
|
|
else if(((App.CentreRunFalg == false ) && (Oru_diff1 > -App.ADTrack.Stop_VPT) && (Oru_diff2 > -App.ADTrack.Stop_VPT) && (Oru_diff3 > -App.ADTrack.Stop_VPT))
|
|
|
|
|| ((App.CentreRunFalg == true)
|
|
|
|
|| ((App.CentreRunFalg == true)
|
|
|
|
&& ((Oll_diff1 + Orl_diff1) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff1 + Oru_diff1) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Oll_diff2 + Orl_diff2) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff2 + Oru_diff2) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Oll_diff3 + Orl_diff3) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
&& ((Olu_diff3 + Oru_diff3) > -(App.ADTrack.Stop_VPT*2/3))
|
|
|
|
))
|
|
|
|
))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BDC_STOP();
|
|
|
|
BDC_STOP();
|
|
|
@@ -663,6 +755,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
|
|
|
|
App.ADTrack.LeftLow_Org_AdZero = ll_ad[0];
|
|
|
|
App.ADTrack.LeftLow_Org_AdZero = ll_ad[0];
|
|
|
|
App.ADTrack.RightUp_Org_AdZero = ru_ad[0];
|
|
|
|
App.ADTrack.RightUp_Org_AdZero = ru_ad[0];
|
|
|
|
App.ADTrack.RightLow_Org_AdZero = rl_ad[0];
|
|
|
|
App.ADTrack.RightLow_Org_AdZero = rl_ad[0];
|
|
|
|
|
|
|
|
App.CaliZeroFlag = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@@ -897,6 +990,8 @@ static void AppLoopHandler(void)
|
|
|
|
if(App.TD1mSDelayCnt <= 0)
|
|
|
|
if(App.TD1mSDelayCnt <= 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
App.WaitFlag = true;
|
|
|
|
App.WaitFlag = true;
|
|
|
|
|
|
|
|
App.SideFlag = false;
|
|
|
|
|
|
|
|
App.CaliZeroFlag = false;
|
|
|
|
App.UpFlag = false;
|
|
|
|
App.UpFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
|
App.DownFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|
App.EmeFlag = false;
|
|
|
|