[8.2.8][i18n] adas-data ReceiveTimeoutManager.java autopilot\ability中的所有类 中文抽取
This commit is contained in:
@@ -145,7 +145,7 @@ class MoGoAutopilotControlProvider :
|
|||||||
// .setSubscribeInterfaceOptions(subscribeInterfaceOptions)//
|
// .setSubscribeInterfaceOptions(subscribeInterfaceOptions)//
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
AdasManager.getInstance().create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl())
|
AdasManager.getInstance().create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||||
//////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听/////////////////////////////////////////////
|
//////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听/////////////////////////////////////////////
|
||||||
// 监听ADAS-SDK获取到的工控机数据
|
// 监听ADAS-SDK获取到的工控机数据
|
||||||
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
||||||
@@ -241,7 +241,7 @@ class MoGoAutopilotControlProvider :
|
|||||||
// .setLaunchAutopilotGear(FunctionBuildConfig.launchAutopilotGear)
|
// .setLaunchAutopilotGear(FunctionBuildConfig.launchAutopilotGear)
|
||||||
.build()
|
.build()
|
||||||
AdasManager.getInstance()
|
AdasManager.getInstance()
|
||||||
.create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl())
|
.create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||||
// 监听ADAS-SDK获取到的工控机数据
|
// 监听ADAS-SDK获取到的工控机数据
|
||||||
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
||||||
// 接收司机屏发过来的感知、定位等数据
|
// 接收司机屏发过来的感知、定位等数据
|
||||||
@@ -275,7 +275,7 @@ class MoGoAutopilotControlProvider :
|
|||||||
.setDeviceCrt(CallerCloudCertManager.getDeviceCrtFDecode())
|
.setDeviceCrt(CallerCloudCertManager.getDeviceCrtFDecode())
|
||||||
// .setLaunchAutopilotGear(FunctionBuildConfig.launchAutopilotGear)
|
// .setLaunchAutopilotGear(FunctionBuildConfig.launchAutopilotGear)
|
||||||
.build()
|
.build()
|
||||||
AdasManager.getInstance().create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl())
|
AdasManager.getInstance().create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||||
//////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听/////////////////////////////////////////////
|
//////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听/////////////////////////////////////////////
|
||||||
// 监听ADAS-SDK获取到的工控机数据
|
// 监听ADAS-SDK获取到的工控机数据
|
||||||
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
||||||
@@ -337,7 +337,7 @@ class MoGoAutopilotControlProvider :
|
|||||||
.setConnectionMode(AdasOptions.IPC_CONNECTION_MODE.SPECIFIED)
|
.setConnectionMode(AdasOptions.IPC_CONNECTION_MODE.SPECIFIED)
|
||||||
.setSpecifiedAddress(autoPilotIp)
|
.setSpecifiedAddress(autoPilotIp)
|
||||||
.build()
|
.build()
|
||||||
AdasManager.getInstance().create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl())
|
AdasManager.getInstance().create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||||
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
||||||
// AdasManager.getInstance().adasOptions.isClient = false
|
// AdasManager.getInstance().adasOptions.isClient = false
|
||||||
// AdasManager.getInstance().adasOptions.ipcConnectionMode =
|
// AdasManager.getInstance().adasOptions.ipcConnectionMode =
|
||||||
|
|||||||
@@ -126,13 +126,4 @@
|
|||||||
<string name="adas_data_report_action_REBOOT_SYSTEM">系统软重启</string>
|
<string name="adas_data_report_action_REBOOT_SYSTEM">系统软重启</string>
|
||||||
<string name="adas_data_report_action_KEEP_POWERON_AND_WAIT">请安全位置停车,保持上电,等待修复完成</string>
|
<string name="adas_data_report_action_KEEP_POWERON_AND_WAIT">请安全位置停车,保持上电,等待修复完成</string>
|
||||||
|
|
||||||
|
|
||||||
<string name="adas_time_out_period">超时时间:</string>
|
|
||||||
<string name="adas_last_refresh_time_difference">最后刷新时间时间差:</string>
|
|
||||||
<string name="adas_last_receive_heartbeat_time">最后一条Telematics心跳接收时间</string>
|
|
||||||
<string name="adas_last_receive_data_time">最后一条Telematics数据发送时间</string>
|
|
||||||
<!-- <string name="adas_"></string>-->
|
|
||||||
<!-- <string name="adas_"></string>-->
|
|
||||||
<!-- <string name="adas_"></string>-->
|
|
||||||
<!-- <string name="adas_"></string>-->
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_SOURCE_ADAS;
|
|||||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_INIT_STATUS;
|
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_INIT_STATUS;
|
||||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_SOCKET_AUTOPILOT;
|
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_SOCKET_AUTOPILOT;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.app.Application;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -154,7 +154,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
private OnAdasListener mAdasListener;
|
private OnAdasListener mAdasListener;
|
||||||
//连接状态listener
|
//连接状态listener
|
||||||
private final OnAdasConnectStatusListener adasConnectStatusListener;
|
private final OnAdasConnectStatusListener adasConnectStatusListener;
|
||||||
private Context context;
|
private final Application context;
|
||||||
|
|
||||||
private final ReceivedAckManager receivedAckManager = new ReceivedAckManager();//消息回执
|
private final ReceivedAckManager receivedAckManager = new ReceivedAckManager();//消息回执
|
||||||
private final AtomicBoolean isInitConfigure = new AtomicBoolean(false);//是否进行配置初始化
|
private final AtomicBoolean isInitConfigure = new AtomicBoolean(false);//是否进行配置初始化
|
||||||
@@ -199,10 +199,11 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
* @param options
|
* @param options
|
||||||
* @param listener
|
* @param listener
|
||||||
*/
|
*/
|
||||||
AdasChannel(Context context, @Nullable AdasOptions options, @Nullable OnAdasConnectStatusListener listener) {
|
AdasChannel(Application context, @Nullable AdasOptions options, @Nullable OnAdasConnectStatusListener listener) {
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.adasConnectStatusListener = listener;
|
this.adasConnectStatusListener = listener;
|
||||||
setAdasOptions(options);
|
setAdasOptions(options);
|
||||||
|
AutopilotAbilityManager.getInstance().init(context);
|
||||||
initData();
|
initData();
|
||||||
if (!adasOptions.isPassenger() && listener != null && adasOptions.isAutoConnect())
|
if (!adasOptions.isPassenger() && listener != null && adasOptions.isAutoConnect())
|
||||||
connect();
|
connect();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.zhidao.support.adas.high;
|
package com.zhidao.support.adas.high;
|
||||||
|
|
||||||
|
import android.app.Application;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
@@ -127,7 +128,7 @@ public class AdasManager implements IAdasNetCommApi {
|
|||||||
* @param options 连接参数
|
* @param options 连接参数
|
||||||
* @param onAdasConnectStatusListener 连接状态监听
|
* @param onAdasConnectStatusListener 连接状态监听
|
||||||
*/
|
*/
|
||||||
public synchronized void create(Context context, AdasOptions options, OnAdasConnectStatusListener onAdasConnectStatusListener) {
|
public synchronized void create(Application context, AdasOptions options, OnAdasConnectStatusListener onAdasConnectStatusListener) {
|
||||||
if (mChannel != null) {
|
if (mChannel != null) {
|
||||||
mChannel.disconnect();
|
mChannel.disconnect();
|
||||||
carConfig = null;
|
carConfig = null;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import android.content.Context;
|
|||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
|
import com.zhidao.support.adas.high.R;
|
||||||
import com.zhjt.mogo.adas.data.AdasConstants;
|
import com.zhjt.mogo.adas.data.AdasConstants;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
@@ -160,11 +161,11 @@ public class ReceiveTimeoutManager {
|
|||||||
if (context != null) {
|
if (context != null) {
|
||||||
try {
|
try {
|
||||||
type = isTimeout
|
type = isTimeout
|
||||||
? context.getString(com.zhjt.mogo.adas.data.R.string.adas_time_out_period)
|
? context.getString(R.string.adas_time_out_period)
|
||||||
: context.getString(com.zhjt.mogo.adas.data.R.string.adas_last_refresh_time_difference);
|
: context.getString(R.string.adas_last_refresh_time_difference);
|
||||||
type1 = isHaveIpcHeartbeat
|
type1 = isHaveIpcHeartbeat
|
||||||
? context.getString(com.zhjt.mogo.adas.data.R.string.adas_last_receive_heartbeat_time)
|
? context.getString(R.string.adas_last_receive_heartbeat_time)
|
||||||
: context.getString(com.zhjt.mogo.adas.data.R.string.adas_last_receive_data_time);
|
: context.getString(R.string.adas_last_receive_data_time);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
type = null;
|
type = null;
|
||||||
type1 = null;
|
type1 = null;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import com.zhidao.support.adas.high.AdasManager;
|
import com.zhidao.support.adas.high.AdasManager;
|
||||||
|
import com.zhidao.support.adas.high.R;
|
||||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||||
@@ -24,10 +25,13 @@ import system_master.SystemStatusInfo;
|
|||||||
public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
||||||
private volatile Timer timer;
|
private volatile Timer timer;
|
||||||
private int masterVersion = -1;//Master版本
|
private int masterVersion = -1;//Master版本
|
||||||
|
@NonNull
|
||||||
|
private final String[] NODE_INFO_STATE;
|
||||||
|
|
||||||
|
|
||||||
public AutopilotAbility250(@NonNull AutopilotAbilityManager manager) {
|
public AutopilotAbility250(@NonNull AutopilotAbilityManager manager) {
|
||||||
super(manager);
|
super(manager);
|
||||||
|
NODE_INFO_STATE = manager.getStringArray(R.array.adas_node_info_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -58,14 +62,14 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
|||||||
for (SystemStatusInfo.NodeInfo info : list) {
|
for (SystemStatusInfo.NodeInfo info : list) {
|
||||||
String nodeName = info.getNodeName();
|
String nodeName = info.getNodeName();
|
||||||
int state = info.getState();
|
int state = info.getState();
|
||||||
if (state < AutopilotAbilityManager.NODE_INFO_STATE.length) {
|
if (state < NODE_INFO_STATE.length) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE[state]);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE[state]);
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -75,11 +79,11 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
|||||||
boolean isAutopilotAbility = false;
|
boolean isAutopilotAbility = false;
|
||||||
String unableAutopilotReason = null;
|
String unableAutopilotReason = null;
|
||||||
if (systemState == SystemStatusInfo.SystemState.SYS_STARTING) {
|
if (systemState == SystemStatusInfo.SystemState.SYS_STARTING) {
|
||||||
unableAutopilotReason = "系统正在启动";
|
unableAutopilotReason = manager.getString(R.string.adas_system_starting);
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.SYS_EXITING) {
|
} else if (systemState == SystemStatusInfo.SystemState.SYS_EXITING) {
|
||||||
unableAutopilotReason = "系统正在关闭";
|
unableAutopilotReason = manager.getString(R.string.adas_system_shutting_down);
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.SYS_FAULT) {
|
} else if (systemState == SystemStatusInfo.SystemState.SYS_FAULT) {
|
||||||
unableAutopilotReason = "系统异常";
|
unableAutopilotReason = manager.getString(R.string.adas_system_error);
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.AUTO_PILOT_STARTING) {
|
} else if (systemState == SystemStatusInfo.SystemState.AUTO_PILOT_STARTING) {
|
||||||
//TODO 如果第一次下发了启动自动驾驶,没起来或者存在干预 此时systemState是AUTO_PILOT_STARTING 需要二次下发启动自驾命令 所以需要排除此状态
|
//TODO 如果第一次下发了启动自动驾驶,没起来或者存在干预 此时systemState是AUTO_PILOT_STARTING 需要二次下发启动自驾命令 所以需要排除此状态
|
||||||
isAutopilotAbility = true;
|
isAutopilotAbility = true;
|
||||||
@@ -89,11 +93,11 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
|||||||
isAutopilotAbility = true;
|
isAutopilotAbility = true;
|
||||||
// unableAutopilotReason = "自动驾驶运行中";
|
// unableAutopilotReason = "自动驾驶运行中";
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_STARTING) {
|
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_STARTING) {
|
||||||
unableAutopilotReason = "平行驾驶启动中";
|
unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_starting);
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_RUNNING) {
|
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_RUNNING) {
|
||||||
unableAutopilotReason = "平行驾驶运行中";
|
unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_running);
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReason = "未知系统状态";
|
unableAutopilotReason = manager.getString(R.string.adas_unknown_system_state);
|
||||||
}
|
}
|
||||||
if (!isAutopilotAbility) {
|
if (!isAutopilotAbility) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
||||||
@@ -101,7 +105,7 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM查询超时无响应");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_find_timeout));
|
||||||
}
|
}
|
||||||
//检测底盘相关
|
//检测底盘相关
|
||||||
unableAutopilotReasons = onCallbackChassis(unableAutopilotReasons);
|
unableAutopilotReasons = onCallbackChassis(unableAutopilotReasons);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.text.TextUtils;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import com.zhidao.support.adas.high.AdasManager;
|
import com.zhidao.support.adas.high.AdasManager;
|
||||||
|
import com.zhidao.support.adas.high.R;
|
||||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||||
@@ -35,11 +36,13 @@ public class AutopilotAbility330 {
|
|||||||
private int mapVersion = -1;//MAP版本
|
private int mapVersion = -1;//MAP版本
|
||||||
private int masterVersion = -1;//Master版本
|
private int masterVersion = -1;//Master版本
|
||||||
private OnAutopilotAbilityListener listener;
|
private OnAutopilotAbilityListener listener;
|
||||||
|
private final String[] NODE_INFO_STATE;
|
||||||
|
|
||||||
protected AutopilotAbility330(@NonNull AutopilotAbilityManager manager, int mapVersion) {
|
protected AutopilotAbility330(@NonNull AutopilotAbilityManager manager, int mapVersion) {
|
||||||
this.manager = manager;
|
this.manager = manager;
|
||||||
this.mapVersion = mapVersion;
|
this.mapVersion = mapVersion;
|
||||||
this.masterVersion = -1;
|
this.masterVersion = -1;
|
||||||
|
NODE_INFO_STATE = manager.getStringArray(R.array.adas_node_info_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected synchronized void setFsmStatusReasonRespond(FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) {
|
protected synchronized void setFsmStatusReasonRespond(FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) {
|
||||||
@@ -76,14 +79,14 @@ public class AutopilotAbility330 {
|
|||||||
for (SystemStatusInfo.NodeInfo info : list) {
|
for (SystemStatusInfo.NodeInfo info : list) {
|
||||||
String nodeName = info.getNodeName();
|
String nodeName = info.getNodeName();
|
||||||
int state = info.getState();
|
int state = info.getState();
|
||||||
if (state < AutopilotAbilityManager.NODE_INFO_STATE.length) {
|
if (state < NODE_INFO_STATE.length) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE[state]);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE[state]);
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -93,11 +96,11 @@ public class AutopilotAbility330 {
|
|||||||
isAutopilotAbility = false;
|
isAutopilotAbility = false;
|
||||||
String unableAutopilotReason = null;
|
String unableAutopilotReason = null;
|
||||||
if (systemState == SystemStatusInfo.SystemState.SYS_STARTING) {
|
if (systemState == SystemStatusInfo.SystemState.SYS_STARTING) {
|
||||||
unableAutopilotReason = "系统正在启动";
|
unableAutopilotReason = manager.getString(R.string.adas_system_starting);
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.SYS_EXITING) {
|
} else if (systemState == SystemStatusInfo.SystemState.SYS_EXITING) {
|
||||||
unableAutopilotReason = "系统正在关闭";
|
unableAutopilotReason = manager.getString(R.string.adas_system_shutting_down);
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.SYS_FAULT) {
|
} else if (systemState == SystemStatusInfo.SystemState.SYS_FAULT) {
|
||||||
unableAutopilotReason = "系统异常";
|
unableAutopilotReason = manager.getString(R.string.adas_system_error);
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.AUTO_PILOT_STARTING) {
|
} else if (systemState == SystemStatusInfo.SystemState.AUTO_PILOT_STARTING) {
|
||||||
//TODO 如果第一次下发了启动自动驾驶,没起来或者存在干预 此时systemState是AUTO_PILOT_STARTING 需要二次下发启动自驾命令 所以需要排除此状态
|
//TODO 如果第一次下发了启动自动驾驶,没起来或者存在干预 此时systemState是AUTO_PILOT_STARTING 需要二次下发启动自驾命令 所以需要排除此状态
|
||||||
isAutopilotAbility = true;
|
isAutopilotAbility = true;
|
||||||
@@ -107,11 +110,11 @@ public class AutopilotAbility330 {
|
|||||||
isAutopilotAbility = true;
|
isAutopilotAbility = true;
|
||||||
// unableAutopilotReason = "自动驾驶运行中";
|
// unableAutopilotReason = "自动驾驶运行中";
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_STARTING) {
|
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_STARTING) {
|
||||||
unableAutopilotReason = "平行驾驶启动中";
|
unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_starting);
|
||||||
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_RUNNING) {
|
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_RUNNING) {
|
||||||
unableAutopilotReason = "平行驾驶运行中";
|
unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_running);
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReason = "未知系统状态";
|
unableAutopilotReason = manager.getString(R.string.adas_unknown_system_state);
|
||||||
}
|
}
|
||||||
if (!isAutopilotAbility) {
|
if (!isAutopilotAbility) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
||||||
@@ -120,7 +123,7 @@ public class AutopilotAbility330 {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
isAutopilotAbility = false;//是否能启动自动驾驶
|
isAutopilotAbility = false;//是否能启动自动驾驶
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM查询超时无响应");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_find_timeout));
|
||||||
}
|
}
|
||||||
if (fsmStatusReasonRespond != null) {
|
if (fsmStatusReasonRespond != null) {
|
||||||
int count = fsmStatusReasonRespond.getFsmStatusReasonRespondCount();
|
int count = fsmStatusReasonRespond.getFsmStatusReasonRespondCount();
|
||||||
@@ -133,7 +136,7 @@ public class AutopilotAbility330 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (unableAutopilotReasons == null || unableAutopilotReasons.isEmpty()) {
|
if (unableAutopilotReasons == null || unableAutopilotReasons.isEmpty()) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, "FSM数据异常");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, manager.getString(R.string.adas_fsm_data_error));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import com.zhidao.support.adas.high.AdasManager;
|
import com.zhidao.support.adas.high.AdasManager;
|
||||||
|
import com.zhidao.support.adas.high.R;
|
||||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||||
@@ -26,11 +27,6 @@ import system_master.SsmInfo;
|
|||||||
*/
|
*/
|
||||||
public class AutopilotAbility350And360 {
|
public class AutopilotAbility350And360 {
|
||||||
private final String TAG = this.getClass().getSimpleName();
|
private final String TAG = this.getClass().getSimpleName();
|
||||||
private static final String REASON_CHASSIS_BRAKE = "刹车踏板";
|
|
||||||
private static final String REASON_CHASSIS_THROTTLE = "油门踏板";
|
|
||||||
private static final String REASON_CHASSIS_GEAR = "档位";
|
|
||||||
private static final String REASON_CHASSIS_HAZARD_LIGHTS = "危险报警灯";
|
|
||||||
private static final String REASON_CHASSIS_STEERING = "方向盘";
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private final AutopilotAbilityManager manager;
|
private final AutopilotAbilityManager manager;
|
||||||
private volatile SsmInfo.SsmStatusInf statusInfo;
|
private volatile SsmInfo.SsmStatusInf statusInfo;
|
||||||
@@ -54,9 +50,11 @@ public class AutopilotAbility350And360 {
|
|||||||
private int masterVersion = -1;//Master版本
|
private int masterVersion = -1;//Master版本
|
||||||
|
|
||||||
private long seqNum = -1;//消息条数
|
private long seqNum = -1;//消息条数
|
||||||
|
private final String[] NODE_INFO_STATE_FIXED_FREQUENCY;
|
||||||
|
|
||||||
public AutopilotAbility350And360(@NonNull AutopilotAbilityManager manager) {
|
public AutopilotAbility350And360(@NonNull AutopilotAbilityManager manager) {
|
||||||
this.manager = manager;
|
this.manager = manager;
|
||||||
|
NODE_INFO_STATE_FIXED_FREQUENCY = manager.getStringArray(R.array.adas_node_info_state_fixed_frequency);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCarConfig(@NonNull MessagePad.CarConfigResp carConfig) {
|
public void setCarConfig(@NonNull MessagePad.CarConfigResp carConfig) {
|
||||||
@@ -151,14 +149,14 @@ public class AutopilotAbility350And360 {
|
|||||||
SsmInfo.NodeInf info = statusInfo.getAutoPilotUnreadyList(i);
|
SsmInfo.NodeInf info = statusInfo.getAutoPilotUnreadyList(i);
|
||||||
String nodeName = info.getNodeName();
|
String nodeName = info.getNodeName();
|
||||||
int state = info.getState().getNumber();
|
int state = info.getState().getNumber();
|
||||||
if (state < AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY.length) {
|
if (state < NODE_INFO_STATE_FIXED_FREQUENCY.length) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY[state]);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE_FIXED_FREQUENCY[state]);
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -166,21 +164,21 @@ public class AutopilotAbility350And360 {
|
|||||||
if (modeState != SsmInfo.ModeState.MODE_RUN_UNREADY && modeState != SsmInfo.ModeState.MODE_RUN_READY) {
|
if (modeState != SsmInfo.ModeState.MODE_RUN_UNREADY && modeState != SsmInfo.ModeState.MODE_RUN_READY) {
|
||||||
String unableAutopilotReason = null;
|
String unableAutopilotReason = null;
|
||||||
if (modeState == SsmInfo.ModeState.MODE_STOP_UNREADY) {
|
if (modeState == SsmInfo.ModeState.MODE_STOP_UNREADY) {
|
||||||
unableAutopilotReason = "系统处于停止模式(未就绪)";
|
unableAutopilotReason = manager.getString(R.string.adas_mode_stop_unready);
|
||||||
} else if (modeState == SsmInfo.ModeState.MODE_STOP_READY) {
|
} else if (modeState == SsmInfo.ModeState.MODE_STOP_READY) {
|
||||||
unableAutopilotReason = "系统处于停止模式";
|
unableAutopilotReason = manager.getString(R.string.adas_mode_stop_ready);
|
||||||
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_UNREADY) {
|
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_UNREADY) {
|
||||||
unableAutopilotReason = "系统处于空闲模式(未就绪)";
|
unableAutopilotReason = manager.getString(R.string.adas_mode_idle_unready);
|
||||||
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_READY) {
|
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_READY) {
|
||||||
unableAutopilotReason = "系统处于空闲模式";
|
unableAutopilotReason = manager.getString(R.string.adas_mode_idle_ready);
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReason = "未知系统模式";
|
unableAutopilotReason = manager.getString(R.string.adas_unknown_system_mode);
|
||||||
}
|
}
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM超时无响应");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_timeout));
|
||||||
}
|
}
|
||||||
return unableAutopilotReasons;
|
return unableAutopilotReasons;
|
||||||
}
|
}
|
||||||
@@ -240,26 +238,26 @@ public class AutopilotAbility350And360 {
|
|||||||
if (chassisStates.hasBrakeSystemStates()) {
|
if (chassisStates.hasBrakeSystemStates()) {
|
||||||
float brake = chassisStates.getBrakeSystemStates().getBrakePedalResponsePosition();
|
float brake = chassisStates.getBrakeSystemStates().getBrakePedalResponsePosition();
|
||||||
if (brake > 0) {
|
if (brake > 0) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, REASON_CHASSIS_BRAKE);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, manager.getString(R.string.adas_reason_chassis_brake));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//油门踏板
|
//油门踏板
|
||||||
if (chassisStates.hasDrivingSystemStates()) {
|
if (chassisStates.hasDrivingSystemStates()) {
|
||||||
float throttle = chassisStates.getDrivingSystemStates().getThrottleResponsePosition();
|
float throttle = chassisStates.getDrivingSystemStates().getThrottleResponsePosition();
|
||||||
if (throttle > 0) {
|
if (throttle > 0) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, REASON_CHASSIS_THROTTLE);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, manager.getString(R.string.adas_reason_chassis_throttle));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//档位
|
//档位
|
||||||
if (chassisStates.hasGearSystemStates()) {
|
if (chassisStates.hasGearSystemStates()) {
|
||||||
Chassis.GearPosition gear = chassisStates.getGearSystemStates().getGearPosition();
|
Chassis.GearPosition gear = chassisStates.getGearSystemStates().getGearPosition();
|
||||||
if (!isLaunchAutopilotGear(gear)) {
|
if (!isLaunchAutopilotGear(gear)) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, REASON_CHASSIS_GEAR);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, manager.getString(R.string.adas_reason_chassis_gear));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//危险报警灯
|
//危险报警灯
|
||||||
if (!isLaunchAutopilotLight(currentLight)) {
|
if (!isLaunchAutopilotLight(currentLight)) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, REASON_CHASSIS_HAZARD_LIGHTS);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, manager.getString(R.string.adas_reason_chassis_hazard_lights));
|
||||||
}
|
}
|
||||||
//延迟太高改用timer
|
//延迟太高改用timer
|
||||||
// //方向盘
|
// //方向盘
|
||||||
@@ -288,7 +286,7 @@ public class AutopilotAbility350And360 {
|
|||||||
// }
|
// }
|
||||||
// Log.i(TAG, "方向盘是否在转动=" + isTurning.get());
|
// Log.i(TAG, "方向盘是否在转动=" + isTurning.get());
|
||||||
if (isTurning.get()) {
|
if (isTurning.get()) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, REASON_CHASSIS_STEERING);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, manager.getString(R.string.adas_reason_chassis_steering));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (listener != null) {
|
if (listener != null) {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.text.TextUtils;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import com.zhidao.support.adas.high.AdasManager;
|
import com.zhidao.support.adas.high.AdasManager;
|
||||||
|
import com.zhidao.support.adas.high.R;
|
||||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||||
@@ -28,10 +29,12 @@ public class AutopilotAbility360 {
|
|||||||
private volatile FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond;//自动驾驶状态为OFF的原因
|
private volatile FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond;//自动驾驶状态为OFF的原因
|
||||||
private int masterVersion = -1;//Master版本
|
private int masterVersion = -1;//Master版本
|
||||||
private OnAutopilotAbilityListener listener;
|
private OnAutopilotAbilityListener listener;
|
||||||
|
private final String[] NODE_INFO_STATE_FIXED_FREQUENCY;
|
||||||
|
|
||||||
protected AutopilotAbility360(@NonNull AutopilotAbilityManager manager) {
|
protected AutopilotAbility360(@NonNull AutopilotAbilityManager manager) {
|
||||||
this.manager = manager;
|
this.manager = manager;
|
||||||
this.masterVersion = -1;
|
this.masterVersion = -1;
|
||||||
|
NODE_INFO_STATE_FIXED_FREQUENCY = manager.getStringArray(R.array.adas_node_info_state_fixed_frequency);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected synchronized void setFsmStatusReasonRespond(FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) {
|
protected synchronized void setFsmStatusReasonRespond(FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) {
|
||||||
@@ -68,14 +71,14 @@ public class AutopilotAbility360 {
|
|||||||
SsmInfo.NodeInf info = statusInfo.getAutoPilotUnreadyList(i);
|
SsmInfo.NodeInf info = statusInfo.getAutoPilotUnreadyList(i);
|
||||||
String nodeName = info.getNodeName();
|
String nodeName = info.getNodeName();
|
||||||
int state = info.getState().getNumber();
|
int state = info.getState().getNumber();
|
||||||
if (state < AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY.length) {
|
if (state < NODE_INFO_STATE_FIXED_FREQUENCY.length) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY[state]);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE_FIXED_FREQUENCY[state]);
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -84,22 +87,22 @@ public class AutopilotAbility360 {
|
|||||||
isAutopilotAbility = false;
|
isAutopilotAbility = false;
|
||||||
String unableAutopilotReason = null;
|
String unableAutopilotReason = null;
|
||||||
if (modeState == SsmInfo.ModeState.MODE_STOP_UNREADY) {
|
if (modeState == SsmInfo.ModeState.MODE_STOP_UNREADY) {
|
||||||
unableAutopilotReason = "系统处于停止模式(未就绪)";
|
unableAutopilotReason = manager.getString(R.string.adas_mode_stop_unready);
|
||||||
} else if (modeState == SsmInfo.ModeState.MODE_STOP_READY) {
|
} else if (modeState == SsmInfo.ModeState.MODE_STOP_READY) {
|
||||||
unableAutopilotReason = "系统处于停止模式";
|
unableAutopilotReason = manager.getString(R.string.adas_mode_stop_ready);
|
||||||
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_UNREADY) {
|
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_UNREADY) {
|
||||||
unableAutopilotReason = "系统处于空闲模式(未就绪)";
|
unableAutopilotReason = manager.getString(R.string.adas_mode_idle_unready);
|
||||||
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_READY) {
|
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_READY) {
|
||||||
unableAutopilotReason = "系统处于空闲模式";
|
unableAutopilotReason = manager.getString(R.string.adas_mode_idle_ready);
|
||||||
} else {
|
} else {
|
||||||
unableAutopilotReason = "未知系统模式";
|
unableAutopilotReason = manager.getString(R.string.adas_unknown_system_mode);
|
||||||
}
|
}
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
isAutopilotAbility = false;//是否能启动自动驾驶
|
isAutopilotAbility = false;//是否能启动自动驾驶
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM超时无响应");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_timeout));
|
||||||
}
|
}
|
||||||
if (fsmStatusReasonRespond != null) {
|
if (fsmStatusReasonRespond != null) {
|
||||||
int count = fsmStatusReasonRespond.getFsmStatusReasonRespondCount();
|
int count = fsmStatusReasonRespond.getFsmStatusReasonRespondCount();
|
||||||
@@ -112,7 +115,7 @@ public class AutopilotAbility360 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (unableAutopilotReasons == null || unableAutopilotReasons.isEmpty()) {
|
if (unableAutopilotReasons == null || unableAutopilotReasons.isEmpty()) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, "FSM数据异常");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, manager.getString(R.string.adas_fsm_data_error));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.zhidao.support.adas.high.R;
|
||||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||||
|
|
||||||
@@ -38,7 +39,7 @@ public class AutopilotAbilityFSM {
|
|||||||
protected void onCallbackFsm(Fsm2024.FSMStateMsg fsmState) {
|
protected void onCallbackFsm(Fsm2024.FSMStateMsg fsmState) {
|
||||||
ArrayList<UnableLaunchReason> unableAutopilotReasons = null;//不能启动自动驾驶原因
|
ArrayList<UnableLaunchReason> unableAutopilotReasons = null;//不能启动自动驾驶原因
|
||||||
if (fsmState == null) {
|
if (fsmState == null) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM2024_TIMEOUT, "FSM超时无响应");
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM2024_TIMEOUT, manager.getString(R.string.adas_fsm_timeout));
|
||||||
} else {
|
} else {
|
||||||
if (!fsmState.getPilotStandbyFlag()) {
|
if (!fsmState.getPilotStandbyFlag()) {
|
||||||
List<String> list = null;
|
List<String> list = null;
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
package com.zhidao.support.adas.high.common.autopilot.ability;
|
package com.zhidao.support.adas.high.common.autopilot.ability;
|
||||||
|
|
||||||
|
|
||||||
|
import android.app.Application;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
|
import androidx.annotation.ArrayRes;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.annotation.StringRes;
|
||||||
|
|
||||||
import com.zhidao.support.adas.high.AdasManager;
|
import com.zhidao.support.adas.high.AdasManager;
|
||||||
import com.zhidao.support.adas.high.AdasOptions;
|
import com.zhidao.support.adas.high.AdasOptions;
|
||||||
import com.zhidao.support.adas.high.BuildConfig;
|
import com.zhidao.support.adas.high.BuildConfig;
|
||||||
import com.zhidao.support.adas.high.OnAdasListener;
|
import com.zhidao.support.adas.high.OnAdasListener;
|
||||||
|
import com.zhidao.support.adas.high.R;
|
||||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||||
import com.zhjt.mogo.adas.data.AdasConstants;
|
import com.zhjt.mogo.adas.data.AdasConstants;
|
||||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||||
@@ -45,8 +49,6 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
|||||||
private static final String TAG = AutopilotAbilityManager.class.getSimpleName();
|
private static final String TAG = AutopilotAbilityManager.class.getSimpleName();
|
||||||
protected static final long DEFAULT_TIMEOUT = 5000L;//SSM和FSM超时时间
|
protected static final long DEFAULT_TIMEOUT = 5000L;//SSM和FSM超时时间
|
||||||
protected static final long DEFAULT_DETECTION_TIME = 3 * 1000L;//默认检测周期
|
protected static final long DEFAULT_DETECTION_TIME = 3 * 1000L;//默认检测周期
|
||||||
protected static final String[] NODE_INFO_STATE = {"未知状态", "依赖未就绪", "启动中", "运行", "停止", "无法启动状态", "人为启动状态", "人为关闭状态"};
|
|
||||||
protected static final String[] NODE_INFO_STATE_FIXED_FREQUENCY = {"未知状态", "依赖未就绪", "启动中", "运行", "停止", "无法启动状态", "非自动启动状态", "非自动关闭状态"};
|
|
||||||
|
|
||||||
private static volatile AutopilotAbilityManager INSTANCE;
|
private static volatile AutopilotAbilityManager INSTANCE;
|
||||||
private OnAdasListener listener;
|
private OnAdasListener listener;
|
||||||
@@ -75,6 +77,7 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
|||||||
private final AtomicInteger isSupportFSM2024 = new AtomicInteger(-1);//-1:未初始化 0:不支持 1:通过SSM V2判断支持 2:通过FSM数据源判断支持
|
private final AtomicInteger isSupportFSM2024 = new AtomicInteger(-1);//-1:未初始化 0:不支持 1:通过SSM V2判断支持 2:通过FSM数据源判断支持
|
||||||
private final Map<AdasConstants.NodeName, NodeStateInfo> nodeStateInfos = new ConcurrentHashMap<>();
|
private final Map<AdasConstants.NodeName, NodeStateInfo> nodeStateInfos = new ConcurrentHashMap<>();
|
||||||
private int fsm2024Version = -1;//FSM2024版本 -1:未初始化 0:SSM判断存在FSM2024但是并不知道具体版本或根据FMS中Version解析失败 其他数值:根据FSM数据中的version 判断得出
|
private int fsm2024Version = -1;//FSM2024版本 -1:未初始化 0:SSM判断存在FSM2024但是并不知道具体版本或根据FMS中Version解析失败 其他数值:根据FSM数据中的version 判断得出
|
||||||
|
private Application context;
|
||||||
|
|
||||||
private AutopilotAbilityManager() {
|
private AutopilotAbilityManager() {
|
||||||
}
|
}
|
||||||
@@ -90,6 +93,10 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
|||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void init(@NonNull Application context) {
|
||||||
|
this.context = context;
|
||||||
|
}
|
||||||
|
|
||||||
private void initStartData() {
|
private void initStartData() {
|
||||||
nodeStateInfos.clear();
|
nodeStateInfos.clear();
|
||||||
NodeStateInfo ssmInfo = new NodeStateInfo(AdasConstants.NodeName.SSM, AdasConstants.NodeState.NODE_EXIST);
|
NodeStateInfo ssmInfo = new NodeStateInfo(AdasConstants.NodeName.SSM, AdasConstants.NodeState.NODE_EXIST);
|
||||||
@@ -129,7 +136,7 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
|||||||
*/
|
*/
|
||||||
protected ArrayList<UnableLaunchReason> addUnableAutopilotReason(ArrayList<UnableLaunchReason> unableAutopilotReasons, UnableLaunchReason.SourceType source, UnableLaunchReason.UnableType unableType, String unableAutopilotReason) {
|
protected ArrayList<UnableLaunchReason> addUnableAutopilotReason(ArrayList<UnableLaunchReason> unableAutopilotReasons, UnableLaunchReason.SourceType source, UnableLaunchReason.UnableType unableType, String unableAutopilotReason) {
|
||||||
if (TextUtils.isEmpty(unableAutopilotReason)) {
|
if (TextUtils.isEmpty(unableAutopilotReason)) {
|
||||||
unableAutopilotReason = "未知";
|
unableAutopilotReason = getString(R.string.adas_unknown);
|
||||||
}
|
}
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
list.add(unableAutopilotReason);
|
list.add(unableAutopilotReason);
|
||||||
@@ -587,4 +594,22 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
|||||||
isJLB2 = false;
|
isJLB2 = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getString(@StringRes int resId) {
|
||||||
|
if (context == null) return "";
|
||||||
|
try {
|
||||||
|
return context.getString(resId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] getStringArray(@ArrayRes int resId) {
|
||||||
|
if (context == null) return new String[0];
|
||||||
|
try {
|
||||||
|
return context.getResources().getStringArray(resId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return new String[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.zhidao.support.adas.high.R;
|
||||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -17,11 +18,6 @@ import mogo.telematics.pad.MessagePad;
|
|||||||
*/
|
*/
|
||||||
public abstract class BaseAutopilotAbilityChassis {
|
public abstract class BaseAutopilotAbilityChassis {
|
||||||
protected final String TAG = this.getClass().getSimpleName();
|
protected final String TAG = this.getClass().getSimpleName();
|
||||||
private static final String REASON_CHASSIS_BRAKE = "刹车踏板";
|
|
||||||
private static final String REASON_CHASSIS_THROTTLE = "油门踏板";
|
|
||||||
private static final String REASON_CHASSIS_GEAR = "档位";
|
|
||||||
private static final String REASON_CHASSIS_HAZARD_LIGHTS = "危险报警灯";
|
|
||||||
private static final String REASON_CHASSIS_STEERING = "方向盘";
|
|
||||||
@NonNull
|
@NonNull
|
||||||
protected final AutopilotAbilityManager manager;
|
protected final AutopilotAbilityManager manager;
|
||||||
protected ChassisStatesOuterClass.ChassisStates chassisStates;
|
protected ChassisStatesOuterClass.ChassisStates chassisStates;
|
||||||
@@ -116,26 +112,26 @@ public abstract class BaseAutopilotAbilityChassis {
|
|||||||
if (chassisStates.hasBrakeSystemStates()) {
|
if (chassisStates.hasBrakeSystemStates()) {
|
||||||
float brake = chassisStates.getBrakeSystemStates().getBrakePedalResponsePosition();
|
float brake = chassisStates.getBrakeSystemStates().getBrakePedalResponsePosition();
|
||||||
if (brake > 0) {
|
if (brake > 0) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, REASON_CHASSIS_BRAKE);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, manager.getString(R.string.adas_reason_chassis_brake));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//油门踏板
|
//油门踏板
|
||||||
if (chassisStates.hasDrivingSystemStates()) {
|
if (chassisStates.hasDrivingSystemStates()) {
|
||||||
float throttle = chassisStates.getDrivingSystemStates().getThrottleResponsePosition();
|
float throttle = chassisStates.getDrivingSystemStates().getThrottleResponsePosition();
|
||||||
if (throttle > 0) {
|
if (throttle > 0) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, REASON_CHASSIS_THROTTLE);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, manager.getString(R.string.adas_reason_chassis_throttle));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//档位
|
//档位
|
||||||
if (chassisStates.hasGearSystemStates()) {
|
if (chassisStates.hasGearSystemStates()) {
|
||||||
Chassis.GearPosition gear = chassisStates.getGearSystemStates().getGearPosition();
|
Chassis.GearPosition gear = chassisStates.getGearSystemStates().getGearPosition();
|
||||||
if (!isLaunchAutopilotGear(gear)) {
|
if (!isLaunchAutopilotGear(gear)) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, REASON_CHASSIS_GEAR);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, manager.getString(R.string.adas_reason_chassis_gear));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//危险报警灯
|
//危险报警灯
|
||||||
if (!isLaunchAutopilotLight()) {
|
if (!isLaunchAutopilotLight()) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, REASON_CHASSIS_HAZARD_LIGHTS);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, manager.getString(R.string.adas_reason_chassis_hazard_lights));
|
||||||
}
|
}
|
||||||
//方向盘
|
//方向盘
|
||||||
if (chassisStates.hasSteerSystemStates()) {
|
if (chassisStates.hasSteerSystemStates()) {
|
||||||
@@ -150,7 +146,7 @@ public abstract class BaseAutopilotAbilityChassis {
|
|||||||
oldSteering = steering;
|
oldSteering = steering;
|
||||||
// CupidLogUtils.log(TAG, "方向盘是否转动=" + isTurning);
|
// CupidLogUtils.log(TAG, "方向盘是否转动=" + isTurning);
|
||||||
if (isTurning) {
|
if (isTurning) {
|
||||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, REASON_CHASSIS_STEERING);
|
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, manager.getString(R.string.adas_reason_chassis_steering));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
60
libraries/mogo-adas/src/main/res/values/strings.xml
Normal file
60
libraries/mogo-adas/src/main/res/values/strings.xml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
<resources>
|
||||||
|
|
||||||
|
<string name="adas_time_out_period">超时时间:</string>
|
||||||
|
<string name="adas_last_refresh_time_difference">最后刷新时间时间差:</string>
|
||||||
|
<string name="adas_last_receive_heartbeat_time">最后一条Telematics心跳接收时间</string>
|
||||||
|
<string name="adas_last_receive_data_time">最后一条Telematics数据发送时间</string>
|
||||||
|
|
||||||
|
|
||||||
|
<string-array name="adas_node_info_state">
|
||||||
|
<item>未知状态</item>
|
||||||
|
<item>依赖未就绪</item>
|
||||||
|
<item>启动中</item>
|
||||||
|
<item>运行</item>
|
||||||
|
<item>停止</item>
|
||||||
|
<item>无法启动状态</item>
|
||||||
|
<item>人为启动状态</item>
|
||||||
|
<item>人为关闭状态</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
|
||||||
|
<string-array name="adas_node_info_state_fixed_frequency">
|
||||||
|
<item>未知状态</item>
|
||||||
|
<item>依赖未就绪</item>
|
||||||
|
<item>启动中</item>
|
||||||
|
<item>运行</item>
|
||||||
|
<item>停止</item>
|
||||||
|
<item>无法启动状态</item>
|
||||||
|
<item>非自动启动状态</item>
|
||||||
|
<item>非自动关闭状态</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<string name="adas_unknown">未知</string>
|
||||||
|
<string name="adas_unknown_error">未知异常</string>
|
||||||
|
<string name="adas_unknown_error_node">未知异常节点</string>
|
||||||
|
<string name="adas_system_starting">系统正在启动</string>
|
||||||
|
<string name="adas_system_shutting_down">系统正在关闭</string>
|
||||||
|
<string name="adas_system_error">系统异常</string>
|
||||||
|
<string name="adas_parallel_drive_starting">平行驾驶启动中</string>
|
||||||
|
<string name="adas_parallel_drive_running">平行驾驶运行中</string>
|
||||||
|
<string name="adas_unknown_system_state">未知系统状态</string>
|
||||||
|
<string name="adas_ssm_find_timeout">SSM查询超时无响应</string>
|
||||||
|
<string name="adas_fsm_data_error">FSM数据异常</string>
|
||||||
|
<string name="adas_reason_chassis_brake">刹车踏板</string>
|
||||||
|
<string name="adas_reason_chassis_throttle">油门踏板</string>
|
||||||
|
<string name="adas_reason_chassis_gear">档位</string>
|
||||||
|
<string name="adas_reason_chassis_hazard_lights">危险报警灯</string>
|
||||||
|
<string name="adas_reason_chassis_steering">方向盘</string>
|
||||||
|
<string name="adas_mode_stop_unready">系统处于停止模式(未就绪)</string>
|
||||||
|
<string name="adas_mode_stop_ready">系统处于停止模式</string>
|
||||||
|
<string name="adas_mode_idle_unready">系统处于空闲模式(未就绪)</string>
|
||||||
|
<string name="adas_mode_idle_ready">系统处于空闲模式</string>
|
||||||
|
<string name="adas_unknown_system_mode">未知系统模式</string>
|
||||||
|
<string name="adas_ssm_timeout">SSM超时无响应</string>
|
||||||
|
<string name="adas_fsm_timeout">FSM超时无响应</string>
|
||||||
|
<!-- <string name="adas_"></string>-->
|
||||||
|
<!-- <string name="adas_"></string>-->
|
||||||
|
<!-- <string name="adas_"></string>-->
|
||||||
|
<!-- <string name="adas_"></string>-->
|
||||||
|
<!-- <string name="adas_"></string>-->
|
||||||
|
</resources>
|
||||||
Reference in New Issue
Block a user