fix bug of push log func and add trace of car status log
This commit is contained in:
@@ -10,11 +10,15 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_C
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAJECTORY
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_VEHICLE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_ADAS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_DATA
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeArriveAtStation
|
||||
@@ -35,7 +39,6 @@ import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.module.common.MogoApisHandler
|
||||
import com.mogo.module.common.datacenter.SnapshotLocationDataCenter
|
||||
import com.mogo.module.service.MarkerServiceHandler
|
||||
import com.zhidao.support.adas.high.AdasManager
|
||||
import com.zhidao.support.adas.high.OnAdasListener
|
||||
import com.zhidao.support.adas.high.bean.IPCUpgradeStateInfo
|
||||
@@ -64,6 +67,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
|
||||
//车前引导线
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAJECTORY,
|
||||
@@ -94,8 +98,8 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
|
||||
//感知物体
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA,
|
||||
paramIndexes = [0, 1],
|
||||
@@ -112,8 +116,8 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
|
||||
//自车定位信息
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE,
|
||||
paramIndexes = [0, 1],
|
||||
@@ -140,6 +144,14 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
}
|
||||
|
||||
//自车状态(底盘),车灯等。
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_VEHICLE,
|
||||
paramIndexes = [0, 1],
|
||||
clientPkFileName = "sn"
|
||||
)
|
||||
override fun onVehicleState(
|
||||
header: MessagePad.Header,
|
||||
vehicleState: VehicleStateOuterClass.VehicleState?
|
||||
@@ -154,8 +166,8 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
|
||||
//自动驾驶状态
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS,
|
||||
paramIndexes = [0, 1],
|
||||
@@ -192,8 +204,8 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
|
||||
//监控
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN,
|
||||
paramIndexes = [0, 1],
|
||||
@@ -225,28 +237,10 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
}
|
||||
}
|
||||
|
||||
//数据采集,badCase
|
||||
@ChainLog(
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD,
|
||||
paramIndexes = [0, 1],
|
||||
clientPkFileName = "sn"
|
||||
)
|
||||
override fun onRecordResult(
|
||||
header: MessagePad.Header,
|
||||
recordPanel: RecordPanelOuterClass.RecordPanel?
|
||||
) {
|
||||
if (recordPanel != null) {
|
||||
invokeAutopilotRecordResult(recordPanel)
|
||||
}
|
||||
}
|
||||
|
||||
//全局路径规划
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ROUTE,
|
||||
paramIndexes = [0, 1],
|
||||
@@ -261,23 +255,41 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
}
|
||||
}
|
||||
|
||||
//预警信息
|
||||
//数据采集,badCase
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD,
|
||||
paramIndexes = [0, 1],
|
||||
clientPkFileName = "sn"
|
||||
)
|
||||
override fun onRecordResult(
|
||||
header: MessagePad.Header,
|
||||
recordPanel: RecordPanelOuterClass.RecordPanel?
|
||||
) {
|
||||
if (recordPanel != null) {
|
||||
invokeAutopilotRecordResult(recordPanel)
|
||||
}
|
||||
}
|
||||
|
||||
//预警信息
|
||||
// @ChainLog(
|
||||
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
|
||||
// linkCode = CHAIN_LINK_ADAS,
|
||||
// endpoint = PAD,
|
||||
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN,
|
||||
// paramIndexes = [0, 1],
|
||||
// clientPkFileName = "sn"
|
||||
// )
|
||||
override fun onWarn(header: MessagePad.Header, warn: MessagePad.Warn?) {
|
||||
invokeAutopilotWarnMessage(warn)
|
||||
}
|
||||
|
||||
//到站回调
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_ARRIVE,
|
||||
paramIndexes = [0, 1],
|
||||
|
||||
@@ -36,7 +36,6 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
ILogListener {
|
||||
|
||||
private const val TAG = "MogoLogCatchManager"
|
||||
private const val MANUAL_CATCH_PKG_NAME = "manual-catch-log"
|
||||
private const val MSG_TRY_CLOSE_LOG = 1001
|
||||
|
||||
private var mContext: Context? = null
|
||||
@@ -81,14 +80,27 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
override fun onMsgReceived(obj: RemoteLogPushContent?) {
|
||||
obj?.let {
|
||||
CallerLogger.d("$M_DEVA$TAG", "收到push消息: $obj")
|
||||
when (obj.type) {
|
||||
START_CATCH_LOG -> if (!catchingList.contains(obj.pkgName)) {
|
||||
startCatchLog(obj)
|
||||
}
|
||||
STOP_CATCH_LOG -> stopCatchLog(obj)
|
||||
LOCAL_CONFIG_OPEN_LOG -> openLoggerLevel()
|
||||
LOCAL_CONFIG_CLOSE_LOG -> closeLoggerLevel()
|
||||
else -> {
|
||||
ThreadUtils.runOnUiThread {
|
||||
obj.pkgName = mContext?.packageName
|
||||
when (obj.type) {
|
||||
START_CATCH_LOG -> if (!catchingList.contains(obj.pkgName)) {
|
||||
TipToast.longTip("云端下发抓取日志,时间:${obj.duration}分钟")
|
||||
startCatchLog(obj.duration)
|
||||
}
|
||||
STOP_CATCH_LOG -> {
|
||||
TipToast.longTip("云端下发停止抓取日志")
|
||||
stopCatchLog(obj)
|
||||
}
|
||||
LOCAL_CONFIG_OPEN_LOG -> {
|
||||
TipToast.longTip("云端下发打开日志开关")
|
||||
openLoggerLevel()
|
||||
}
|
||||
LOCAL_CONFIG_CLOSE_LOG -> {
|
||||
TipToast.longTip("云端下发关闭日志开关")
|
||||
closeLoggerLevel()
|
||||
}
|
||||
else -> {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -104,12 +116,13 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
}
|
||||
|
||||
fun startCatchLog(duration: Int = 10, logPrefixName: String? = null) {
|
||||
if (catchingList.contains(MANUAL_CATCH_PKG_NAME)) {
|
||||
if (catchingList.contains(manualContent.pkgName + logPrefixName)) {
|
||||
TipToast.shortTip("已经在抓取日志了,请稍后再试")
|
||||
} else {
|
||||
CallerLogger.d("$M_DEVA$TAG", "开始抓取日志==== duration : $duration")
|
||||
manualContent.type = START_CATCH_LOG
|
||||
manualContent.duration = duration
|
||||
CallerLogger.d("$M_DEVA$TAG", "manualContent : $manualContent")
|
||||
startCatchLog(manualContent, logPrefixName)
|
||||
}
|
||||
}
|
||||
@@ -121,7 +134,7 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
}
|
||||
|
||||
private fun startCatchLog(content: RemoteLogPushContent, logPrefixName: String? = null) {
|
||||
catchingList.add(content.pkgName)
|
||||
catchingList.add(content.pkgName + logPrefixName)
|
||||
var delay = (content.duration).toLong()
|
||||
handler.removeMessages(MSG_TRY_CLOSE_LOG)
|
||||
if (delay <= 0) {
|
||||
@@ -131,7 +144,10 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
handler.sendEmptyMessageDelayed(MSG_TRY_CLOSE_LOG, delay * 1000L * 60)
|
||||
|
||||
openLoggerLevel()
|
||||
|
||||
CallerLogger.d(
|
||||
"$M_DEVA$TAG",
|
||||
"createPushLogInfoManager pkgName : ${content.pkgName} , duration : ${content.duration}"
|
||||
)
|
||||
logInfoManager = LogInfoManagerFactory.createPushLogInfoManager(
|
||||
mContext,
|
||||
MoGoAiCloudClientConfig.getInstance().sn,
|
||||
@@ -140,7 +156,7 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
content,
|
||||
this
|
||||
)
|
||||
|
||||
CallerLogger.d("$M_DEVA$TAG", "start : ${logInfoManager.toString()}")
|
||||
logInfoManager?.start()
|
||||
logInfoManager?.registerLogOutListener { lineLog ->
|
||||
CallerDevaToolsListenerManager.invokeDevaToolsLogCatchLines(lineLog)
|
||||
|
||||
@@ -4,8 +4,8 @@ import android.content.Context
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainLogParam
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.eagle.core.utilcode.util.DeviceUtils
|
||||
import com.mogo.eagle.core.utilcode.util.Utils
|
||||
import com.zhidao.loglib.fw.FileWriteManager
|
||||
@@ -34,13 +34,26 @@ class TraceManager {
|
||||
// Trace过程中进行日志抓取,对日志进行配置
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS] =
|
||||
FwBuild(true, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_INIT)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA] =
|
||||
FwBuild(false, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_MSG)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT] =
|
||||
FwBuild(true, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_AUTO)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED] =
|
||||
FwBuild(false, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_DATA_TRACK)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY] =
|
||||
FwBuild(false, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_TRAJECTORY)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE] =
|
||||
FwBuild(false, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_VEHICLE)
|
||||
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS] =
|
||||
ChainLogParam(true, "ADAS连接状态")
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA] =
|
||||
ChainLogParam(false, "ADAS长链数据")
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT] =
|
||||
ChainLogParam(true, "ADAS自动驾驶链路(包含: 定位,自动驾驶状态,全局路径,到站提醒,节点状态,异常上报)")
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED] =
|
||||
ChainLogParam(false, "ADAS感知物体")
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY] =
|
||||
ChainLogParam(false, "ADAS车前引导线")
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE] =
|
||||
ChainLogParam(false, "ADAS车辆底盘数据")
|
||||
|
||||
FileWriteManager.getInstance()
|
||||
.init(context, MoGoAiCloudClientConfig.getInstance().sn, pkgName, fwBuildMap)
|
||||
}
|
||||
@@ -51,10 +64,12 @@ class TraceManager {
|
||||
|
||||
fun refreshTraceInfo(map: HashMap<Int, ChainLogParam>) {
|
||||
map.forEach { (type, param) ->
|
||||
val fwBuild = this.fwBuildMap[type]
|
||||
fwBuild?.let {
|
||||
CallerLogger.d("$M_DEVA$TAG", "param : ${param.des} , record : ${param.record}")
|
||||
it.isRecord = param.record
|
||||
if(type != ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS){
|
||||
val fwBuild = this.fwBuildMap[type]
|
||||
fwBuild?.let {
|
||||
CallerLogger.d("$M_DEVA$TAG", "param : ${param.des} , record : ${param.record}")
|
||||
it.isRecord = param.record
|
||||
}
|
||||
}
|
||||
}
|
||||
FileWriteManager.getInstance().operateChainMap(fwBuildMap)
|
||||
|
||||
@@ -96,23 +96,25 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
|
||||
//当前PAD支持的CPU架构
|
||||
private var cpuList = "CPU架构:"
|
||||
|
||||
//日志过滤标签集合
|
||||
private val sceneMap = mutableMapOf< String, SceneModule>()
|
||||
private val sceneMap = mutableMapOf<String, SceneModule>()
|
||||
|
||||
private var dockerRebootDialog: DockerRebootDialog? = null //docker重启对话框
|
||||
private var adUpgradeDialog : AdUpgradeDialog? = null //工控机升级对话框
|
||||
private var upgradeMode: Int=-1 //升级模式
|
||||
private var downloadStatus: Int=-1 //下载状态
|
||||
private var currentProgress: Int=-1 //当前已下载包体大小
|
||||
private var previousProgress: Int=-1 //前一秒的下载进度,用于计算下载剩余时间
|
||||
private var totalProgress: Int=-1 //包体总大小
|
||||
private var downloadVersion: String?=null //工控机docker版本
|
||||
private var upgradeStatus: Int=-1 //升级状态
|
||||
private var adUpgradeDialog: AdUpgradeDialog? = null //工控机升级对话框
|
||||
private var upgradeMode: Int = -1 //升级模式
|
||||
private var downloadStatus: Int = -1 //下载状态
|
||||
private var currentProgress: Int = -1 //当前已下载包体大小
|
||||
private var previousProgress: Int = -1 //前一秒的下载进度,用于计算下载剩余时间
|
||||
private var totalProgress: Int = -1 //包体总大小
|
||||
private var downloadVersion: String? = null //工控机docker版本
|
||||
private var upgradeStatus: Int = -1 //升级状态
|
||||
|
||||
//ADAS连接状态
|
||||
private var adasConnectStatus: Boolean=false
|
||||
private var adasConnectStatus: Boolean = false
|
||||
|
||||
//OBU连接状态
|
||||
private var obuConnectStatus: Boolean=false
|
||||
private var obuConnectStatus: Boolean = false
|
||||
|
||||
private val mapUiController by lazy {
|
||||
CallerMapUIServiceManager.getMapUIController()
|
||||
@@ -185,23 +187,23 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
val iconDown = ContextCompat.getDrawable(context,R.drawable.icon_down)
|
||||
iconDown?.setBounds(0,0,iconDown.minimumWidth,iconDown.minimumHeight)
|
||||
val iconRight = ContextCompat.getDrawable(context,R.drawable.icon_right)
|
||||
iconRight?.setBounds(0,0,iconRight.minimumWidth,iconRight.minimumHeight)
|
||||
val iconDown = ContextCompat.getDrawable(context, R.drawable.icon_down)
|
||||
iconDown?.setBounds(0, 0, iconDown.minimumWidth, iconDown.minimumHeight)
|
||||
val iconRight = ContextCompat.getDrawable(context, R.drawable.icon_right)
|
||||
iconRight?.setBounds(0, 0, iconRight.minimumWidth, iconRight.minimumHeight)
|
||||
|
||||
/**
|
||||
* 设备绑定关系
|
||||
*/
|
||||
tbDeviceBind.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
buttonView.setCompoundDrawables(null,null,iconDown,null)
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示隐藏设备绑定关系视图
|
||||
deviceBindLayout.visibility =View.VISIBLE
|
||||
}else{
|
||||
buttonView.setCompoundDrawables(null,null,iconRight,null)
|
||||
deviceBindLayout.visibility = View.VISIBLE
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//默认隐藏设备绑定关系视图
|
||||
deviceBindLayout.visibility =View.GONE
|
||||
deviceBindLayout.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,12 +211,12 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 版本信息
|
||||
*/
|
||||
tbAppVersionInfo.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
buttonView.setCompoundDrawables(null,null,iconDown,null)
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示版本信息
|
||||
appVersionInfoLayout.visibility = View.VISIBLE
|
||||
}else{
|
||||
buttonView.setCompoundDrawables(null,null,iconRight,null)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//隐藏版本信息
|
||||
appVersionInfoLayout.visibility = View.GONE
|
||||
}
|
||||
@@ -223,33 +225,33 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 状态中心
|
||||
*/
|
||||
tbStatusCenter.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
buttonView.setCompoundDrawables(null,null,iconDown,null)
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示状态中心
|
||||
statusCenterLayout.visibility = View.VISIBLE
|
||||
}else{
|
||||
buttonView.setCompoundDrawables(null,null,iconRight,null)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//隐藏状态中心
|
||||
statusCenterLayout.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for(element in DeviceUtils.getABIs()){
|
||||
for (element in DeviceUtils.getABIs()) {
|
||||
cpuList = "$cpuList$element "
|
||||
}
|
||||
tvCPUFrameworkInfo.text =cpuList
|
||||
tvCPUFrameworkInfo.text = cpuList
|
||||
|
||||
/**
|
||||
* 控制中心
|
||||
*/
|
||||
tbControlCenter.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
buttonView.setCompoundDrawables(null,null,iconDown,null)
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示控制中心
|
||||
controlCenterLayout.visibility = View.VISIBLE
|
||||
}else{
|
||||
buttonView.setCompoundDrawables(null,null,iconRight,null)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//隐藏控制中心
|
||||
controlCenterLayout.visibility = View.GONE
|
||||
}
|
||||
@@ -259,12 +261,12 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 域控制器
|
||||
*/
|
||||
tbDomainController.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
buttonView.setCompoundDrawables(null,null,iconDown,null)
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示域控制器
|
||||
domainControllerLayout.visibility = View.VISIBLE
|
||||
}else{
|
||||
buttonView.setCompoundDrawables(null,null,iconRight,null)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//隐藏域控制器
|
||||
domainControllerLayout.visibility = View.GONE
|
||||
}
|
||||
@@ -274,13 +276,13 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* OBU控制中心
|
||||
*/
|
||||
tbObuController.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
buttonView.setCompoundDrawables(null,null,iconDown,null)
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示OBU控制中心
|
||||
obuControllerLayout.visibility = View.VISIBLE
|
||||
|
||||
}else{
|
||||
buttonView.setCompoundDrawables(null,null,iconRight,null)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//隐藏OBU控制中心
|
||||
obuControllerLayout.visibility = View.GONE
|
||||
}
|
||||
@@ -290,12 +292,12 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* HMI控制中心
|
||||
*/
|
||||
tbHmiController.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
buttonView.setCompoundDrawables(null,null,iconDown,null)
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示HMI控制中心
|
||||
hmiControllerLayout.visibility = View.VISIBLE
|
||||
}else{
|
||||
buttonView.setCompoundDrawables(null,null,iconRight,null)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//隐藏HMI控制中心
|
||||
hmiControllerLayout.visibility = View.GONE
|
||||
}
|
||||
@@ -305,12 +307,12 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 高精地图控制中心
|
||||
*/
|
||||
tbHdMapController.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
buttonView.setCompoundDrawables(null,null,iconDown,null)
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示高精地图控制中心
|
||||
hdMapControllerLayout.visibility = View.VISIBLE
|
||||
}else{
|
||||
buttonView.setCompoundDrawables(null,null,iconRight,null)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//隐藏高精地图控制中心
|
||||
hdMapControllerLayout.visibility = View.GONE
|
||||
}
|
||||
@@ -320,12 +322,12 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 日志中心
|
||||
*/
|
||||
tbLogcatCenter.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
buttonView.setCompoundDrawables(null,null,iconDown,null)
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示日志中心
|
||||
logcatCenterLayout.visibility = View.VISIBLE
|
||||
}else{
|
||||
buttonView.setCompoundDrawables(null,null,iconRight,null)
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//隐藏日志中心
|
||||
logcatCenterLayout.visibility = View.GONE
|
||||
}
|
||||
@@ -373,9 +375,6 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 修改自车按钮(出租车、小巴车)
|
||||
*/
|
||||
@@ -475,7 +474,6 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 初始化 ADAS感知数据是否绘制 选择情况
|
||||
tbIsDrawIdentifyData.isChecked = FunctionBuildConfig.isDrawIdentifyData
|
||||
tbIsDrawIdentifyData.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
@@ -505,7 +503,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
/**
|
||||
* 设置域控制器点击监听
|
||||
*/
|
||||
private fun setDomainControllerCheckedChangeListener(){
|
||||
private fun setDomainControllerCheckedChangeListener() {
|
||||
|
||||
// 初始化工控机 IP信息
|
||||
val autoPilotIpAddress =
|
||||
@@ -534,15 +532,15 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
/**
|
||||
* 设置最大速度
|
||||
*/
|
||||
btnSetAutopilotSpeed.onClick{
|
||||
if(AppConfigInfo.isConnectAutopilot){
|
||||
btnSetAutopilotSpeed.onClick {
|
||||
if (AppConfigInfo.isConnectAutopilot) {
|
||||
val speedStr = etInputSpeed.text?.toString()
|
||||
try {
|
||||
if(speedStr.isNullOrEmpty()){
|
||||
if (speedStr.isNullOrEmpty()) {
|
||||
ToastUtils.showShort("请输入最大车速")
|
||||
}
|
||||
val speed = speedStr?.toInt()
|
||||
if(speed!=null && speed>0 && speed<60){
|
||||
if (speed != null && speed > 0 && speed < 60) {
|
||||
// 设置自动驾驶速度
|
||||
val isSuccess = CallerAutoPilotManager.setAutoPilotSpeed(speed)
|
||||
when {
|
||||
@@ -553,13 +551,13 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
}
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
ToastUtils.showShort("最大车速应大于0且小于60")
|
||||
}
|
||||
}catch (e: Exception){
|
||||
} catch (e: Exception) {
|
||||
ToastUtils.showShort("车速设置失败,请正确设置车速")
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
}
|
||||
}
|
||||
@@ -567,19 +565,19 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
/**
|
||||
* 录制Bag包
|
||||
*/
|
||||
btnRecordPackage.onClick{
|
||||
btnRecordPackage.onClick {
|
||||
val recordTimeStr = etInputRecordTime.text?.toString()
|
||||
try{
|
||||
if(recordTimeStr.isNullOrEmpty()){
|
||||
try {
|
||||
if (recordTimeStr.isNullOrEmpty()) {
|
||||
CallerAutoPilotManager.recordPackage()
|
||||
}
|
||||
val recordTime = recordTimeStr?.toInt()
|
||||
if(recordTime!=null && recordTime>0){
|
||||
if (recordTime != null && recordTime > 0) {
|
||||
CallerAutoPilotManager.recordPackage(recordTime)
|
||||
}else{
|
||||
} else {
|
||||
CallerAutoPilotManager.recordPackage()
|
||||
}
|
||||
}catch (e: Exception){
|
||||
} catch (e: Exception) {
|
||||
CallerAutoPilotManager.recordPackage()
|
||||
}
|
||||
}
|
||||
@@ -587,30 +585,43 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
/**
|
||||
* 工控机升级
|
||||
*/
|
||||
btnSystemUpgrade.onClick{
|
||||
if(AppConfigInfo.isConnectAutopilot){
|
||||
Logger.i(TAG,"upgradeMode="+upgradeMode+" downloadStatus="+downloadStatus+" upgradeStatus="+upgradeStatus)
|
||||
if(AdUpgradeStateHelper.isDownloading(downloadStatus)){
|
||||
btnSystemUpgrade.onClick {
|
||||
if (AppConfigInfo.isConnectAutopilot) {
|
||||
Logger.i(
|
||||
TAG,
|
||||
"upgradeMode=" + upgradeMode + " downloadStatus=" + downloadStatus + " upgradeStatus=" + upgradeStatus
|
||||
)
|
||||
if (AdUpgradeStateHelper.isDownloading(downloadStatus)) {
|
||||
//点击Toast提示:下载剩余时间
|
||||
ToastUtils.showShort("预计"+AdUpgradeStateHelper.getRemainingTime(totalProgress,previousProgress,currentProgress)+"下载完成")
|
||||
}else if(AdUpgradeStateHelper.getUpgradeStatus()){
|
||||
ToastUtils.showShort(
|
||||
"预计" + AdUpgradeStateHelper.getRemainingTime(
|
||||
totalProgress,
|
||||
previousProgress,
|
||||
currentProgress
|
||||
) + "下载完成"
|
||||
)
|
||||
} else if (AdUpgradeStateHelper.getUpgradeStatus()) {
|
||||
//工控机状态为“升级中”
|
||||
ToastUtils.showShort("新版本升级中,预计5分钟升级完成")
|
||||
}else if(AdUpgradeStateHelper.isUpgradeFailed(upgradeStatus)){
|
||||
} else if (AdUpgradeStateHelper.isUpgradeFailed(upgradeStatus)) {
|
||||
//如果升级失败,则Toast提示:升级失败,请联系运维人员
|
||||
ToastUtils.showShort("升级失败,请联系运维人员")
|
||||
}else if(AdUpgradeStateHelper.isHintUpgradeMode(upgradeMode) && AdUpgradeStateHelper.isDownloadFinish(downloadStatus,upgradeStatus)){
|
||||
} else if (AdUpgradeStateHelper.isHintUpgradeMode(upgradeMode) && AdUpgradeStateHelper.isDownloadFinish(
|
||||
downloadStatus,
|
||||
upgradeStatus
|
||||
)
|
||||
) {
|
||||
//如果升级模式为“提示升级”,并且下载状态为已经下载完成,点击弹出升级确认弹窗
|
||||
if(adUpgradeDialog == null){
|
||||
if (adUpgradeDialog == null) {
|
||||
adUpgradeDialog = AdUpgradeDialog(context)
|
||||
adUpgradeDialog?.setClickListener(object : AdUpgradeDialog.ClickListener{
|
||||
adUpgradeDialog?.setClickListener(object : AdUpgradeDialog.ClickListener {
|
||||
override fun confirm() {
|
||||
if(mAutoPilotStatusInfo?.state==2){
|
||||
if (mAutoPilotStatusInfo?.state == 2) {
|
||||
//当前处于自动驾驶状态,不可进行升级,Toast提示
|
||||
ToastUtils.showShort("升级前请先退出自动驾驶模式")
|
||||
}else{
|
||||
} else {
|
||||
//确认升级
|
||||
Logger.i(TAG,"upgrade confirm")
|
||||
Logger.i(TAG, "upgrade confirm")
|
||||
//设置当前状态为“升级中”
|
||||
AdUpgradeStateHelper.setUpgradeStatus(true)
|
||||
CallerAutoPilotManager.setIPCUpgradeAffirm()
|
||||
@@ -619,7 +630,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
|
||||
override fun cancel() {
|
||||
//取消升级
|
||||
Logger.i(TAG,"upgrade cancel")
|
||||
Logger.i(TAG, "upgrade cancel")
|
||||
//取消升级命令不下发
|
||||
// CallerAutoPilotManager.setIPCUpgradeCancel()
|
||||
}
|
||||
@@ -627,10 +638,10 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
})
|
||||
}
|
||||
adUpgradeDialog?.showUpgradeDialog()
|
||||
}else{
|
||||
} else {
|
||||
ToastUtils.showShort("当前工控机处于最新版本状态,不可升级")
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
ToastUtils.showShort("域控制器未连接")
|
||||
}
|
||||
|
||||
@@ -640,34 +651,38 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
/**
|
||||
* 重启系统
|
||||
*/
|
||||
btnSystemRestart.onClick{
|
||||
if(AppConfigInfo.isConnectAutopilot){
|
||||
if(dockerRebootDialog == null){
|
||||
btnSystemRestart.onClick {
|
||||
if (AppConfigInfo.isConnectAutopilot) {
|
||||
if (dockerRebootDialog == null) {
|
||||
dockerRebootDialog = DockerRebootDialog(context)
|
||||
dockerRebootDialog?.setClickListener(object : DockerRebootDialog.ClickListener{
|
||||
dockerRebootDialog?.setClickListener(object : DockerRebootDialog.ClickListener {
|
||||
override fun confirm() {
|
||||
if(mAutoPilotStatusInfo?.state==2){
|
||||
if (mAutoPilotStatusInfo?.state == 2) {
|
||||
//当前处于自动驾驶状态,不可进行重启,Toast提示
|
||||
ToastUtils.showShort("请先退出自动驾驶状态")
|
||||
}else if(AdUpgradeStateHelper.showCannotReboot(downloadStatus, upgradeStatus)){
|
||||
} else if (AdUpgradeStateHelper.showCannotReboot(
|
||||
downloadStatus,
|
||||
upgradeStatus
|
||||
)
|
||||
) {
|
||||
//当工控机处于下载或者升级状态,需要先进行升级
|
||||
ToastUtils.showShort("请先完成新自动驾驶系统的下载/升级")
|
||||
} else{
|
||||
} else {
|
||||
//确认重启
|
||||
Logger.i(TAG,"reboot confirm")
|
||||
Logger.i(TAG, "reboot confirm")
|
||||
CallerAutoPilotManager.setIPCReboot()
|
||||
}
|
||||
}
|
||||
|
||||
override fun cancel() {
|
||||
//取消重启
|
||||
Logger.i(TAG,"reboot cancel")
|
||||
Logger.i(TAG, "reboot cancel")
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
dockerRebootDialog?.showUpgradeDialog()
|
||||
}else{
|
||||
} else {
|
||||
ToastUtils.showShort("域控制器未连接")
|
||||
}
|
||||
|
||||
@@ -701,21 +716,23 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* @param downloadVersion 下载版本
|
||||
* @param upgradeStatus 升级状态
|
||||
*/
|
||||
fun setAdUpgradeInfo(upgradeMode: Int,downloadStatus: Int,currentProgress: Int,totalProgress: Int,
|
||||
downloadVersion: String,upgradeStatus: Int){
|
||||
this.upgradeMode=upgradeMode
|
||||
this.downloadStatus=downloadStatus
|
||||
this.previousProgress=this.currentProgress
|
||||
this.currentProgress=currentProgress
|
||||
this.totalProgress=totalProgress
|
||||
this.downloadVersion=downloadVersion
|
||||
this.upgradeStatus=upgradeStatus
|
||||
fun setAdUpgradeInfo(
|
||||
upgradeMode: Int, downloadStatus: Int, currentProgress: Int, totalProgress: Int,
|
||||
downloadVersion: String, upgradeStatus: Int
|
||||
) {
|
||||
this.upgradeMode = upgradeMode
|
||||
this.downloadStatus = downloadStatus
|
||||
this.previousProgress = this.currentProgress
|
||||
this.currentProgress = currentProgress
|
||||
this.totalProgress = totalProgress
|
||||
this.downloadVersion = downloadVersion
|
||||
this.upgradeStatus = upgradeStatus
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置Hmi点击监听
|
||||
*/
|
||||
private fun setHmiCheckedChangeListener(){
|
||||
private fun setHmiCheckedChangeListener() {
|
||||
/**
|
||||
* 显示、隐藏迈速表
|
||||
*/
|
||||
@@ -798,36 +815,36 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
/**
|
||||
* 设置日志点击监听
|
||||
*/
|
||||
private fun setLogCheckedChangeListener(){
|
||||
private fun setLogCheckedChangeListener() {
|
||||
//初始化标签选中状态
|
||||
val tagMap=CallerDevaToolsManager.getModuleTAG()
|
||||
val tagMap = CallerDevaToolsManager.getModuleTAG()
|
||||
tagMap?.let {
|
||||
it.iterator().forEach {map ->
|
||||
it.iterator().forEach { map ->
|
||||
val name = map.value.name
|
||||
val log = map.value.log
|
||||
when(name){
|
||||
when (name) {
|
||||
////ADAS日志标签
|
||||
SceneConstant.M_ADAS_IMPL-> cbAdasLog.isChecked = log
|
||||
SceneConstant.M_ADAS_IMPL -> cbAdasLog.isChecked = log
|
||||
//OBU日志标签
|
||||
SceneConstant.M_OBU-> cbObuLog.isChecked = log
|
||||
SceneConstant.M_OBU -> cbObuLog.isChecked = log
|
||||
//HMI日志标签
|
||||
SceneConstant.M_HMI-> cbHmiLog.isChecked = log
|
||||
SceneConstant.M_HMI -> cbHmiLog.isChecked = log
|
||||
//V2X日志标签
|
||||
SceneConstant.M_V2X-> cbV2xLog.isChecked = log
|
||||
SceneConstant.M_V2X -> cbV2xLog.isChecked = log
|
||||
//地图日志标签
|
||||
SceneConstant.M_MAP-> cbMapLog.isChecked = log
|
||||
SceneConstant.M_MAP -> cbMapLog.isChecked = log
|
||||
//DEVA日志标签
|
||||
SceneConstant.M_DEVA-> cbDevaLog.isChecked = log
|
||||
SceneConstant.M_DEVA -> cbDevaLog.isChecked = log
|
||||
//网络模块日志标签
|
||||
SceneConstant.M_NETWORK-> cbNetworkLog.isChecked = log
|
||||
SceneConstant.M_NETWORK -> cbNetworkLog.isChecked = log
|
||||
//ROUTE日志标签
|
||||
SceneConstant.M_OLD_ROUTE-> cbOldRouteLog.isChecked = log
|
||||
SceneConstant.M_OLD_ROUTE -> cbOldRouteLog.isChecked = log
|
||||
//BUS日志标签
|
||||
SceneConstant.M_BUS-> cbBusLog.isChecked = log
|
||||
SceneConstant.M_BUS -> cbBusLog.isChecked = log
|
||||
//TAXI日志标签
|
||||
SceneConstant.M_TAXI-> cbTaxiLog.isChecked = log
|
||||
SceneConstant.M_TAXI -> cbTaxiLog.isChecked = log
|
||||
//TAXI_P日志标签
|
||||
SceneConstant.M_TAXI_P-> cbTaxiPLog.isChecked = log
|
||||
SceneConstant.M_TAXI_P -> cbTaxiPLog.isChecked = log
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -859,70 +876,69 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
|
||||
|
||||
//ADAS日志标签
|
||||
cbAdasLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val adasModule = SceneModule(isChecked,SceneConstant.M_ADAS_IMPL)
|
||||
val adasModule = SceneModule(isChecked, SceneConstant.M_ADAS_IMPL)
|
||||
sceneMap[SceneConstant.M_ADAS_IMPL] = adasModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//OBU日志标签
|
||||
cbObuLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val obuModule = SceneModule(isChecked,SceneConstant.M_OBU)
|
||||
val obuModule = SceneModule(isChecked, SceneConstant.M_OBU)
|
||||
sceneMap[SceneConstant.M_OBU] = obuModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//HMI日志标签
|
||||
cbHmiLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val hmiModule = SceneModule(isChecked,SceneConstant.M_HMI)
|
||||
val hmiModule = SceneModule(isChecked, SceneConstant.M_HMI)
|
||||
sceneMap[SceneConstant.M_HMI] = hmiModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//V2X日志标签
|
||||
cbV2xLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val v2xModule = SceneModule(isChecked,SceneConstant.M_V2X)
|
||||
val v2xModule = SceneModule(isChecked, SceneConstant.M_V2X)
|
||||
sceneMap[SceneConstant.M_V2X] = v2xModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//地图日志标签
|
||||
cbMapLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val mapModule = SceneModule(isChecked,SceneConstant.M_MAP)
|
||||
val mapModule = SceneModule(isChecked, SceneConstant.M_MAP)
|
||||
sceneMap[SceneConstant.M_MAP] = mapModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//DEVA日志标签
|
||||
cbDevaLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val devaModule = SceneModule(isChecked,SceneConstant.M_DEVA)
|
||||
val devaModule = SceneModule(isChecked, SceneConstant.M_DEVA)
|
||||
sceneMap[SceneConstant.M_DEVA] = devaModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//网络模块日志标签
|
||||
cbNetworkLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val networkModule = SceneModule(isChecked,SceneConstant.M_NETWORK)
|
||||
val networkModule = SceneModule(isChecked, SceneConstant.M_NETWORK)
|
||||
sceneMap[SceneConstant.M_NETWORK] = networkModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//ROUTE日志标签
|
||||
cbOldRouteLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val oldRouteModule = SceneModule(isChecked,SceneConstant.M_OLD_ROUTE)
|
||||
val oldRouteModule = SceneModule(isChecked, SceneConstant.M_OLD_ROUTE)
|
||||
sceneMap[SceneConstant.M_OLD_ROUTE] = oldRouteModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//BUS日志标签
|
||||
cbBusLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val busModule = SceneModule(isChecked,SceneConstant.M_BUS)
|
||||
val busModule = SceneModule(isChecked, SceneConstant.M_BUS)
|
||||
sceneMap[SceneConstant.M_BUS] = busModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//TAXI日志标签
|
||||
cbTaxiLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val taxiModule = SceneModule(isChecked,SceneConstant.M_TAXI)
|
||||
val taxiModule = SceneModule(isChecked, SceneConstant.M_TAXI)
|
||||
sceneMap[SceneConstant.M_TAXI] = taxiModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
//TAXI_P日志标签
|
||||
cbTaxiPLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val taxiPModule = SceneModule(isChecked,SceneConstant.M_TAXI_P)
|
||||
val taxiPModule = SceneModule(isChecked, SceneConstant.M_TAXI_P)
|
||||
sceneMap[SceneConstant.M_TAXI_P] = taxiPModule
|
||||
CallerDevaToolsManager.updateModuleTAG(sceneMap)
|
||||
}
|
||||
@@ -933,7 +949,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
tbLogCatch.setOnCheckedChangeListener { _, isChecked ->
|
||||
if (isChecked) {
|
||||
var logTimeStr = etLogCatch.text?.toString()
|
||||
if(logTimeStr.isNullOrEmpty()){
|
||||
if (logTimeStr.isNullOrEmpty()) {
|
||||
logTimeStr = "10"
|
||||
}
|
||||
val logCatchTime = logTimeStr.toInt()
|
||||
@@ -994,16 +1010,73 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
val traceInfoMap = CallerDevaToolsManager.getTraceInfo()
|
||||
val autopilot = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT]
|
||||
autopilot?.let{
|
||||
cbAdasAutoPilot.isChecked = it.record
|
||||
}
|
||||
val dataTrack = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED]
|
||||
dataTrack?.let {
|
||||
cbAdasDataTrack.isChecked = it.record
|
||||
}
|
||||
val trajectory = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY]
|
||||
trajectory?.let {
|
||||
cbAdasTrajectory.isChecked = it.record
|
||||
}
|
||||
val vehicle = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE]
|
||||
vehicle?.let {
|
||||
cbAdasVehicle.isChecked = it.record
|
||||
}
|
||||
|
||||
/**
|
||||
* ADAS长链数据
|
||||
* ADAS自动驾驶链路
|
||||
*/
|
||||
cbAdasChainLog.setOnCheckedChangeListener { _, isChecked ->
|
||||
val traceInfoMap = CallerDevaToolsManager.getTraceInfo()
|
||||
val chainLogParam = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA]
|
||||
chainLogParam?.let {
|
||||
cbAdasAutoPilot.setOnCheckedChangeListener { _, isChecked ->
|
||||
val map = CallerDevaToolsManager.getTraceInfo()
|
||||
val param = map[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT]
|
||||
param?.let {
|
||||
it.record = isChecked
|
||||
traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA] = chainLogParam
|
||||
CallerDevaToolsManager.refreshTraceInfo(traceInfoMap)
|
||||
map[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT] = param
|
||||
CallerDevaToolsManager.refreshTraceInfo(map)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ADAS感知物体
|
||||
*/
|
||||
cbAdasDataTrack.setOnCheckedChangeListener { _, isChecked ->
|
||||
val map = CallerDevaToolsManager.getTraceInfo()
|
||||
val param = map[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED]
|
||||
param?.let {
|
||||
it.record = isChecked
|
||||
map[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED] = param
|
||||
CallerDevaToolsManager.refreshTraceInfo(map)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ADAS前车引导线
|
||||
*/
|
||||
cbAdasTrajectory.setOnCheckedChangeListener { _, isChecked ->
|
||||
val map = CallerDevaToolsManager.getTraceInfo()
|
||||
val param = map[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY]
|
||||
param?.let {
|
||||
it.record = isChecked
|
||||
map[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY] = param
|
||||
CallerDevaToolsManager.refreshTraceInfo(map)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ADAS车辆地盘数据
|
||||
*/
|
||||
cbAdasVehicle.setOnCheckedChangeListener { _, isChecked ->
|
||||
val map = CallerDevaToolsManager.getTraceInfo()
|
||||
val param = map[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE]
|
||||
param?.let {
|
||||
it.record = isChecked
|
||||
map[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE] = param
|
||||
CallerDevaToolsManager.refreshTraceInfo(map)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1036,7 +1109,8 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
AppConfigInfo.uniqueDeviceId = DeviceIdUtils.getDeviceId(AbsMogoApplication.getApp())
|
||||
}
|
||||
if (AppConfigInfo.widevineIDMd5.isNullOrEmpty()) {
|
||||
AppConfigInfo.widevineIDMd5 = DeviceIdUtils.getWidevineIDWithMd5(AbsMogoApplication.getApp())
|
||||
AppConfigInfo.widevineIDMd5 =
|
||||
DeviceIdUtils.getWidevineIDWithMd5(AbsMogoApplication.getApp())
|
||||
}
|
||||
AppConfigInfo.mogoSN = MoGoAiCloudClient.getInstance().aiCloudClientConfig.sn
|
||||
AppConfigInfo.mogoToken = MoGoAiCloudClient.getInstance().aiCloudClientConfig.token
|
||||
@@ -1074,7 +1148,8 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
tvObuAppInfo.text = "OBU程序版本:${CallerObuListenerManager.getObuStatusInfo().appInfo}"
|
||||
tvObuHliInfo.text = "OBU协议版本:${CallerObuListenerManager.getObuStatusInfo().hliInfo}"
|
||||
tvObuSdkVersion.text = "OBU-SDK版本:${AppConfigInfo.obuSdkVersion}"
|
||||
tvAutopilotProtocolVersionInfo.text = "Autopilot协议版本:${CallerAutoPilotManager.getProtocolVersion()}"
|
||||
tvAutopilotProtocolVersionInfo.text =
|
||||
"Autopilot协议版本:${CallerAutoPilotManager.getProtocolVersion()}"
|
||||
tvIpcProtocolVersionInfo.text = "工控机协议版本:${AppConfigInfo.protocolVersionNumber}"
|
||||
tvMoGoMapVersion.text = "HD-Map版本:${MogoMap.getInstance().mogoMap.mapVersion}"
|
||||
tvGitBranchInfo.text = "Git分支:${AppConfigInfo.workingBranchName}"
|
||||
@@ -1101,76 +1176,88 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}"
|
||||
|
||||
tvInternetEnvironment.text =Html.fromHtml("当前网络环境:${
|
||||
if(NetworkUtils.isConnected(context)){
|
||||
if(NetworkUtils.isConnectedMobile(context)){
|
||||
//已连接移动数据
|
||||
"移动数据"
|
||||
}else{
|
||||
//WiFi
|
||||
CommonUtils.getWifiName(context)
|
||||
tvInternetEnvironment.text = Html.fromHtml(
|
||||
"当前网络环境:${
|
||||
if (NetworkUtils.isConnected(context)) {
|
||||
if (NetworkUtils.isConnectedMobile(context)) {
|
||||
//已连接移动数据
|
||||
"移动数据"
|
||||
} else {
|
||||
//WiFi
|
||||
CommonUtils.getWifiName(context)
|
||||
}
|
||||
|
||||
} else {
|
||||
//未连接任何网络
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
|
||||
}else{
|
||||
//未连接任何网络
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}")
|
||||
}"
|
||||
)
|
||||
|
||||
|
||||
tvServerSocketStatus.text = Html.fromHtml("服务器Socket状态:${
|
||||
if(DebugConfig.isDownloadSnapshot()){
|
||||
"<font color='blue'>正常"
|
||||
}else{
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}")
|
||||
|
||||
tvAutopilotConnectStatus.text =Html.fromHtml("Autopilot系统连接状态:${
|
||||
if(AppConfigInfo.isConnectAutopilot){
|
||||
"<font color='blue'>正常"
|
||||
}else{
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}")
|
||||
|
||||
tvObuConnectStatus.text =Html.fromHtml("OBU连接状态:${
|
||||
if(AppConfigInfo.isConnectObu){
|
||||
"<font color='blue'>正常"
|
||||
}else{
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}")
|
||||
|
||||
tvDriverServerStartupStatus.text = Html.fromHtml("${
|
||||
when {
|
||||
AppConfigInfo.isDriver -> {
|
||||
"司机端Server启动"
|
||||
tvServerSocketStatus.text = Html.fromHtml(
|
||||
"服务器Socket状态:${
|
||||
if (DebugConfig.isDownloadSnapshot()) {
|
||||
"<font color='blue'>正常"
|
||||
} else {
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
else -> {
|
||||
"乘客端${
|
||||
when {
|
||||
AppConfigInfo.serverIp.isNotEmpty() -> "(目标ip为:${AppConfigInfo.serverIp})"
|
||||
else -> ""
|
||||
}
|
||||
}连接"
|
||||
}
|
||||
}
|
||||
}是否正常:${
|
||||
if (AppConfigInfo.isConnectedNetty) {
|
||||
"<font color='blue'>正常"
|
||||
} else {
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}")
|
||||
}"
|
||||
)
|
||||
|
||||
tvLocationEnabled.text =Html.fromHtml("定位服务开启状态:${
|
||||
if(DeviceUtils.isLocationEnabled()){
|
||||
"<font color='blue'>正常"
|
||||
}else{
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}")
|
||||
tvAutopilotConnectStatus.text = Html.fromHtml(
|
||||
"Autopilot系统连接状态:${
|
||||
if (AppConfigInfo.isConnectAutopilot) {
|
||||
"<font color='blue'>正常"
|
||||
} else {
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}"
|
||||
)
|
||||
|
||||
tvObuConnectStatus.text = Html.fromHtml(
|
||||
"OBU连接状态:${
|
||||
if (AppConfigInfo.isConnectObu) {
|
||||
"<font color='blue'>正常"
|
||||
} else {
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}"
|
||||
)
|
||||
|
||||
tvDriverServerStartupStatus.text = Html.fromHtml(
|
||||
"${
|
||||
when {
|
||||
AppConfigInfo.isDriver -> {
|
||||
"司机端Server启动"
|
||||
}
|
||||
else -> {
|
||||
"乘客端${
|
||||
when {
|
||||
AppConfigInfo.serverIp.isNotEmpty() -> "(目标ip为:${AppConfigInfo.serverIp})"
|
||||
else -> ""
|
||||
}
|
||||
}连接"
|
||||
}
|
||||
}
|
||||
}是否正常:${
|
||||
if (AppConfigInfo.isConnectedNetty) {
|
||||
"<font color='blue'>正常"
|
||||
} else {
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}"
|
||||
)
|
||||
|
||||
tvLocationEnabled.text = Html.fromHtml(
|
||||
"定位服务开启状态:${
|
||||
if (DeviceUtils.isLocationEnabled()) {
|
||||
"<font color='blue'>正常"
|
||||
} else {
|
||||
"<font color='red'>异常"
|
||||
}
|
||||
}"
|
||||
)
|
||||
|
||||
|
||||
tvAutopilotInfo.text = GsonUtils.toJson(mAutoPilotStatusInfo)
|
||||
@@ -1188,7 +1275,6 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
"全局路径规划点个数:${mRouteInfoSize}"
|
||||
|
||||
|
||||
|
||||
// 用完之后重制为0,防止节点回掉突然没数据,导致页面显示还是之前的数据情况
|
||||
mIdentifyDataSize = 0
|
||||
mUnknownIdentifyDataSize = 0
|
||||
@@ -1205,11 +1291,11 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
AppConfigInfo.obuSdkVersion = obuStatusInfo.obuSdkVersion
|
||||
AppConfigInfo.isConnectObu = obuStatusInfo.obuStatus
|
||||
|
||||
if(obuStatusInfo.obuStatus){
|
||||
if (obuStatusInfo.obuStatus) {
|
||||
obuConnectStatus = true
|
||||
}
|
||||
//OBU断开连接,提示异常
|
||||
if(obuConnectStatus && !obuStatusInfo.obuStatus){
|
||||
if (obuConnectStatus && !obuStatusInfo.obuStatus) {
|
||||
obuConnectStatus = false
|
||||
toastMsg("OBU连接状态异常")
|
||||
}
|
||||
@@ -1222,17 +1308,17 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
mAutoPilotStatusInfo = autoPilotStatusInfo
|
||||
AppConfigInfo.isConnectAutopilot = autoPilotStatusInfo.connectStatus
|
||||
|
||||
if(AppConfigInfo.isConnectAutopilot && (AppConfigInfo.plateNumber.isNullOrEmpty() || AppConfigInfo.iPCMacAddress.isNullOrEmpty())){
|
||||
if (AppConfigInfo.isConnectAutopilot && (AppConfigInfo.plateNumber.isNullOrEmpty() || AppConfigInfo.iPCMacAddress.isNullOrEmpty())) {
|
||||
//查询工控机基础配置信息
|
||||
CallerAutoPilotManager.getCarConfig()
|
||||
}
|
||||
|
||||
if(autoPilotStatusInfo.connectStatus){
|
||||
if (autoPilotStatusInfo.connectStatus) {
|
||||
adasConnectStatus = true
|
||||
}
|
||||
//ADAS断开连接,提示异常
|
||||
if(adasConnectStatus && !autoPilotStatusInfo.connectStatus){
|
||||
adasConnectStatus=false
|
||||
if (adasConnectStatus && !autoPilotStatusInfo.connectStatus) {
|
||||
adasConnectStatus = false
|
||||
toastMsg("Autopilot系统连接状态异常")
|
||||
}
|
||||
}
|
||||
@@ -1280,21 +1366,21 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 工控机异常回调
|
||||
*/
|
||||
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) {
|
||||
ThreadUtils.runOnUiThread{
|
||||
ThreadUtils.runOnUiThread {
|
||||
guardianInfo?.let {
|
||||
reportMsgLayout.visibility = View.VISIBLE
|
||||
tvReportSrc.text = "src:${it.src}"
|
||||
tvReportLevel.text = "level:${it.level}"
|
||||
tvReportMsg.text = "msg:${it.msg}"
|
||||
tvReportCode.text = "code:${it.code}"
|
||||
var resultStr="result:"
|
||||
for(result in it.resultList){
|
||||
var resultStr = "result:"
|
||||
for (result in it.resultList) {
|
||||
resultStr = "$resultStr$result "
|
||||
}
|
||||
tvReportResult.text = resultStr
|
||||
|
||||
var actionStr="action:"
|
||||
for(action in it.actionsList){
|
||||
var actionStr = "action:"
|
||||
for (action in it.actionsList) {
|
||||
actionStr = "$actionStr$action "
|
||||
}
|
||||
tvReportActions.text = actionStr
|
||||
@@ -1303,7 +1389,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
tvReportNSec.text = "nsec:${it.timestamp.nsec}"
|
||||
|
||||
|
||||
if("error" == it.level){
|
||||
if ("error" == it.level) {
|
||||
//字体为红色,吐司提示
|
||||
tvReportSrc.setTextColor(Color.RED)
|
||||
tvReportLevel.setTextColor(Color.RED)
|
||||
@@ -1314,7 +1400,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
tvReportSec.setTextColor(Color.RED)
|
||||
tvReportNSec.setTextColor(Color.RED)
|
||||
toastMsg(it.msg)
|
||||
}else{
|
||||
} else {
|
||||
tvReportSrc.setTextColor(Color.BLACK)
|
||||
tvReportLevel.setTextColor(Color.BLACK)
|
||||
tvReportMsg.setTextColor(Color.BLACK)
|
||||
@@ -1342,9 +1428,9 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
/**
|
||||
* 吐司提示
|
||||
*/
|
||||
private fun toastMsg(msg: String){
|
||||
private fun toastMsg(msg: String) {
|
||||
//当处于美化(演示)模式、msg为空时不弹吐司
|
||||
if(!FunctionBuildConfig.isDemoMode && msg.isNotEmpty()){
|
||||
if (!FunctionBuildConfig.isDemoMode && msg.isNotEmpty()) {
|
||||
ToastUtils.showLong(msg)
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,14 +8,16 @@ class ChainConstant {
|
||||
const val CHAIN_LINK_ADAS = 1
|
||||
|
||||
const val CHAIN_LINK_LOG_CONNECT_STATUS = 0
|
||||
const val CHAIN_LINK_LOG_WEB_SOCKET_DATA = 1
|
||||
const val CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT = 1
|
||||
const val CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED = 2
|
||||
const val CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY = 3
|
||||
const val CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT = 4
|
||||
const val CHAIN_LINK_LOG_WEB_SOCKET_BAD_CASE = 5
|
||||
const val CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE = 4
|
||||
|
||||
const val CHAIN_LINK_LOG_ADAS_INIT = "-adasInitStatus"
|
||||
const val CHAIN_LINK_LOG_ADAS_MSG = "-adasWsMsg"
|
||||
const val CHAIN_LINK_LOG_ADAS_AUTO = "-adasWsAutoPilot"
|
||||
const val CHAIN_LINK_LOG_ADAS_DATA_TRACK = "-adasWsDataTrack"
|
||||
const val CHAIN_LINK_LOG_ADAS_TRAJECTORY = "-adasWsTrajectory"
|
||||
const val CHAIN_LINK_LOG_ADAS_VEHICLE = "-adasWsVehicle"
|
||||
|
||||
|
||||
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA = "PAD_ADAS_MESSAGE_AUTOPILOT_RECT_DATA"
|
||||
@@ -26,6 +28,7 @@ class ChainConstant {
|
||||
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAJECTORY = "PAD_ADAS_MESSAGE_AUTOPILOT_TRAJECTORY"
|
||||
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_GUARDIAN = "PAD_ADAS_MESSAGE_AUTOPILOT_GUARDIAN"
|
||||
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_RECORD = "PAD_ADAS_MESSAGE_AUTOPILOT_RECORD"
|
||||
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_VEHICLE = "PAD_ADAS_MESSAGE_AUTOPILOT_VEHICLE"
|
||||
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN = "PAD_ADAS_MESSAGE_AUTOPILOT_WARN"
|
||||
}
|
||||
}
|
||||
@@ -171,8 +171,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
ipcFixationIPHelper.start(ips);
|
||||
}
|
||||
|
||||
@ChainLog(linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS,
|
||||
@ChainLog(linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
endpoint = TracingConstants.Endpoint.PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_INIT,
|
||||
paramIndexes = {-1},
|
||||
@@ -189,8 +189,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
connect();
|
||||
}
|
||||
|
||||
@ChainLog(linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS,
|
||||
@ChainLog(linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
endpoint = TracingConstants.Endpoint.PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_CONNECT_ADDRESS,
|
||||
paramIndexes = {0},
|
||||
|
||||
@@ -194,8 +194,8 @@ public class FpgaSocket implements IWebSocket {
|
||||
|
||||
public class EchoWebSocketListener extends WebSocketListener {
|
||||
|
||||
@ChainLog(linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS,
|
||||
@ChainLog(linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
endpoint = TracingConstants.Endpoint.PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_WEB_SOCKET_OPEN,
|
||||
paramIndexes = {1},
|
||||
@@ -214,8 +214,8 @@ public class FpgaSocket implements IWebSocket {
|
||||
}
|
||||
}
|
||||
|
||||
@ChainLog(linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
@ChainLog(linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
endpoint = TracingConstants.Endpoint.PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_WEB_SOCKET_MESSAGE_JSON,
|
||||
paramIndexes = {1},
|
||||
@@ -234,8 +234,8 @@ public class FpgaSocket implements IWebSocket {
|
||||
}
|
||||
}
|
||||
|
||||
@ChainLog(linkCode = CHAIN_LINK_ADAS,
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
@ChainLog(linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
endpoint = TracingConstants.Endpoint.PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_WEB_SOCKET_MESSAGE_BYTE,
|
||||
paramIndexes = {-1},
|
||||
|
||||
Reference in New Issue
Block a user