[6.1.0] 兼容map版本刹车回调
This commit is contained in:
@@ -379,6 +379,11 @@ public class OrderModel {
|
||||
};
|
||||
|
||||
private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() {
|
||||
@Override
|
||||
public void brakeStatusChanged(boolean isBrakeAvailable) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) {
|
||||
BusAnalyticsManager.INSTANCE.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage);
|
||||
|
||||
@@ -333,6 +333,9 @@ class DriverM1Model {
|
||||
mControllerStatusCallback?.onStartAdasFailure()
|
||||
}
|
||||
}
|
||||
|
||||
override fun brakeStatusChanged(isBrakeAvailable: Boolean) {
|
||||
}
|
||||
}
|
||||
|
||||
//监听网络变化,避免启动机器时无网导致无法更新订单信息
|
||||
|
||||
@@ -6,4 +6,7 @@ package com.mogo.och.common.module.callback
|
||||
*/
|
||||
interface OchAdasStartFailureCallback {
|
||||
fun onStartAutopilotFailure(startFailedCode : String, startFailedMessage : String)
|
||||
|
||||
fun brakeStatusChanged(isBrakeAvailable: Boolean)
|
||||
|
||||
}
|
||||
@@ -6,9 +6,13 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener;
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatisticsListener;
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingActionsListener;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotStatisticsListenerManager;
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingActionsListenerManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.util.ParseVersionUtils;
|
||||
import com.mogo.och.common.module.callback.OchAdasStartFailureCallback;
|
||||
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics;
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||
@@ -20,7 +24,7 @@ import java.util.ArrayList;
|
||||
* 工控机状态信息回调(判断是否能否启动自动驾驶的回调)
|
||||
* 目前定的是3秒回调一次
|
||||
*/
|
||||
public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMoGoAutopilotStatisticsListener {
|
||||
public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMoGoAutopilotStatisticsListener, IMoGoParallelDrivingActionsListener {
|
||||
|
||||
private static final String TAG = OCHAdasAbilityManager.class.getSimpleName();
|
||||
|
||||
@@ -85,11 +89,14 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo
|
||||
//2022.10.9 工控机状态信息回调(判断是否能否启动自动驾驶的回调), 目前定的是3秒回调一次
|
||||
CallerAutopilotActionsListenerManager.INSTANCE.addListener(TAG, this);
|
||||
CallerAutopilotStatisticsListenerManager.INSTANCE.addListener(TAG,this);
|
||||
//map3.6.0且是东风或者红旗的时候返回
|
||||
CallerParallelDrivingActionsListenerManager.INSTANCE.addListener(TAG,this);
|
||||
}
|
||||
|
||||
private void releaseListeners() {
|
||||
CallerAutopilotActionsListenerManager.INSTANCE.removeListener(this);
|
||||
CallerAutopilotStatisticsListenerManager.INSTANCE.removeListener(this);
|
||||
CallerParallelDrivingActionsListenerManager.INSTANCE.removeListener(TAG);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -97,6 +104,16 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo
|
||||
this.isAutopilotAbility = isAutopilotAbility;
|
||||
this.unableAutopilotReasons = unableAutopilotReasons;
|
||||
Logger.d(TAG, "是否可以启动自动驾驶=" + isAutopilotAbility + " 原因=" + (unableAutopilotReasons == null ? null : unableAutopilotReasons.toString()));
|
||||
if (unableAutopilotReasons != null && getMapVersion() < 30600) {
|
||||
//刹车变化回调
|
||||
Logger.d(TAG,"onAutopilotAbility = " + isAutopilotAbility +
|
||||
" onAutopilotAbility =" + unableAutopilotReasons.toString());
|
||||
if (unableAutopilotReasons.toString().contains(UnableLaunchReason.SourceType.CHASSIS.name())
|
||||
&& unableAutopilotReasons.toString().contains(UnableLaunchReason.UnableType.BRAKE.name())) {
|
||||
failureCallback.brakeStatusChanged(isAutopilotAbility);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -112,6 +129,23 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onParallelDrivingAbility(boolean isParallelDrivingAbility, @Nullable ArrayList<UnableLaunchReason> unableParallelDrivingReasons) {
|
||||
if (unableParallelDrivingReasons != null && getMapVersion() >= 30600) {
|
||||
//刹车变化回调
|
||||
Logger.d(TAG,"onParallelDrivingAbility = " + isParallelDrivingAbility +
|
||||
" unableParallelDrivingReasons =" + unableParallelDrivingReasons.toString());
|
||||
if (unableParallelDrivingReasons.toString().contains(UnableLaunchReason.SourceType.CHASSIS.name())
|
||||
&& unableParallelDrivingReasons.toString().contains(UnableLaunchReason.UnableType.BRAKE.name())) {
|
||||
failureCallback.brakeStatusChanged(isParallelDrivingAbility);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private int getMapVersion(){
|
||||
return ParseVersionUtils.parseVersion(true, CallerAutoPilotStatusListenerManager.INSTANCE.getDockerVersion());
|
||||
}
|
||||
public void release() {
|
||||
releaseListeners();
|
||||
}
|
||||
|
||||
@@ -382,6 +382,11 @@ public class OrderModel {
|
||||
};
|
||||
|
||||
private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() {
|
||||
@Override
|
||||
public void brakeStatusChanged(boolean isBrakeAvailable) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) {
|
||||
BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage);
|
||||
|
||||
@@ -287,6 +287,11 @@ public class SweeperTaskModel {
|
||||
};
|
||||
|
||||
private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() {
|
||||
@Override
|
||||
public void brakeStatusChanged(boolean isBrakeAvailable) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) {
|
||||
SweeperAnalyticsManager.getInstance().triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage);
|
||||
|
||||
@@ -1064,6 +1064,11 @@ public class TaxiModel {
|
||||
};
|
||||
|
||||
private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() {
|
||||
@Override
|
||||
public void brakeStatusChanged(boolean isBrakeAvailable) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) {
|
||||
TaxiAnalyticsManager.INSTANCE.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage);
|
||||
|
||||
@@ -235,7 +235,10 @@ object TaxiPassengerModel {
|
||||
override fun onStartAutopilotFailure(startFailedCode: String, startFailedMessage: String) {
|
||||
TaxiPassengerAnalyticsManager.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage)
|
||||
}
|
||||
|
||||
override fun brakeStatusChanged(isBrakeAvailable: Boolean) {
|
||||
}
|
||||
}
|
||||
private val iMsgBoxEventListener: IMsgBoxEventListener = object : IMsgBoxEventListener {
|
||||
override fun onSummaryClickEvent() {
|
||||
if (currentOCHOrder == null) {
|
||||
|
||||
@@ -20,14 +20,12 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingActionsListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingActionsListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager
|
||||
import com.mogo.eagle.core.network.utils.GsonUtil
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
@@ -78,7 +76,6 @@ import com.mogo.och.taxi.ui.debug.DebugView
|
||||
import com.mogo.och.taxi.utils.RxJavaUtils
|
||||
import com.mogo.och.taxi.utils.TaxiAnalyticsManager
|
||||
import com.mogo.och.taxi.utils.TaxiTrajectoryManager
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
@@ -230,8 +227,6 @@ object TaxiTaskModel {
|
||||
AbnormalFactorsLoopManager.startLoopAbnormalFactors(mContext)
|
||||
TrajectoryAndDistanceManager.addDistanceListener(TAG, localCalculateDistanceListener)
|
||||
TrajectoryAndDistanceManager.addTrajectoryListener(TAG, localCalculateTrajectoryListener)
|
||||
//3.6.0后平行驾驶.刹车 且只用于东风和红旗. 3.6.0前没有
|
||||
CallerParallelDrivingActionsListenerManager.addListener(TAG,mParallelDrivingActionsListener)
|
||||
}
|
||||
|
||||
private fun releaseListeners() {
|
||||
@@ -248,28 +243,8 @@ object TaxiTaskModel {
|
||||
CallerPlanningRottingListenerManager.removeListener(mMogoAutopilotPlanningListener)
|
||||
OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null)
|
||||
AbnormalFactorsLoopManager.stopLoopAbnormalFactors()
|
||||
CallerParallelDrivingActionsListenerManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
// 监听平行驾驶、刹车, 试用于MAP3.6.0以上 且只用于东风和红旗
|
||||
private val mParallelDrivingActionsListener: IMoGoParallelDrivingActionsListener =
|
||||
object : IMoGoParallelDrivingActionsListener {
|
||||
override fun onParallelDrivingAbility(
|
||||
isParallelDrivingAbility: Boolean,
|
||||
unableParallelDrivingReasons: ArrayList<UnableLaunchReason>?
|
||||
) {
|
||||
if (unableParallelDrivingReasons != null) {
|
||||
if (unableParallelDrivingReasons.toString().contains(UnableLaunchReason.SourceType.CHASSIS.name)
|
||||
&& unableParallelDrivingReasons.toString().contains(UnableLaunchReason.UnableType.BRAKE.name)) {
|
||||
//刹车变化回调
|
||||
d(TAG,"onParallelDrivingAbility = $isParallelDrivingAbility," +
|
||||
" unableParallelDrivingReasons = ${unableParallelDrivingReasons.toString()}" )
|
||||
handleBrakeStatusChange(isParallelDrivingAbility)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* brakeStatus: true: 恢复启动自驾
|
||||
* false: 暂停启动自驾
|
||||
@@ -465,6 +440,11 @@ object TaxiTaskModel {
|
||||
mADASStatusCallback?.onStartAdasFailure()
|
||||
}
|
||||
}
|
||||
|
||||
override fun brakeStatusChanged(isBrakeAvailable: Boolean) {
|
||||
//刹车: true 松开, false 踩下
|
||||
handleBrakeStatusChange(isBrakeAvailable)
|
||||
}
|
||||
}
|
||||
|
||||
private val mMogoOnSocketMessageListener =
|
||||
|
||||
@@ -346,6 +346,9 @@ object TaxiPassengerModel {
|
||||
startFailedMessage
|
||||
)
|
||||
}
|
||||
|
||||
override fun brakeStatusChanged(isBrakeAvailable: Boolean) {
|
||||
}
|
||||
}
|
||||
|
||||
private val iMsgBoxEventListener: IMsgBoxEventListener = object : IMsgBoxEventListener {
|
||||
|
||||
Reference in New Issue
Block a user