diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt index 88f362f076..66b18e4e7d 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt @@ -12,6 +12,7 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.constants.MoGoConfig import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.deva.chain.ChainConstant +import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_MULTI_CONNECT 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_AUTOPILOT import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL @@ -42,6 +43,7 @@ import com.mogo.telematic.server.netty.NettyTcpServer import com.zhidao.support.adas.high.AdasManager import com.zhidao.support.adas.high.AdasOptions import com.zhidao.support.adas.high.bean.IPCUpgradeInfo +import com.zhidao.support.adas.high.chain.AdasChain.CHAIN_LINK_LOG_CONNECT_STATUS import com.zhidao.support.adas.high.common.Constants import com.zhidao.support.adas.high.common.Constants.IPC_CONNECTION_STATUS import com.zhidao.support.adas.high.common.CupidLogUtils @@ -100,10 +102,7 @@ class MoGoAutopilotProvider : platNumberArray.size, platNumberArray ), channel ) { - CallerLogger.d( - "$M_ADAS_IMPL$TAG", - "司机端发送车牌号到乘客端是否成功:${it.isSuccess}" - ) + invokeNettyConnResult("司机屏发送车牌号到乘客屏是否成功:${it.isSuccess}") } } else { CallerAutoPilotManager.getCarConfig() @@ -117,10 +116,12 @@ class MoGoAutopilotProvider : override fun onStartServer() { ToastUtils.showShort("司机端服务启动成功!") + invokeNettyConnResult("司机端服务启动成功!") } override fun onStopServer() { ToastUtils.showLong("司机端服务停止!") + invokeNettyConnResult("司机端服务停止!") } override fun onChannelConnect(channel: Channel?) { @@ -289,7 +290,7 @@ class MoGoAutopilotProvider : } override fun cancelAutoPilot() { - if (AdasManager.getInstance().ipcConnectionStatus == IPC_CONNECTION_STATUS.CONNECTED) { + if (AdasManager.getInstance().ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED) { AdasManager.getInstance().sendAutoPilotModeReq(0, 1, null) } else { CallerLogger.e("$M_ADAS_IMPL$TAG", "车机与工控机链接失败,无法断开自动驾驶") @@ -374,7 +375,7 @@ class MoGoAutopilotProvider : } // 同步给乘客端 if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - val byteArray = if (isEnable) byteArrayOf(1) else byteArrayOf(0) + var byteArray = if (isEnable) byteArrayOf(1) else byteArrayOf(0) if (NSDNettyManager.getInstance().isServerStart) { NSDNettyManager.getInstance() .sendMsgToAllClients( @@ -472,50 +473,51 @@ class MoGoAutopilotProvider : } private fun handleMsgFromServer(msg: MogoProtocolMsg?, channel: Channel) { - try { - msg?.let { - when (it.protocolType) { - NORMAL_DATA -> AdasManager.getInstance().parseIPCData(it.body) - SYNC_MODE_STATUS -> { - FunctionBuildConfig.isDemoMode = when (it.body[0].toInt()) { - 1 -> true - else -> false - } - setDemoMode(FunctionBuildConfig.isDemoMode) - } - REQ_CAR_NUMBER -> { - AppConfigInfo.plateNumber = String(msg.body) - } - else -> { + msg?.let { + when (it.protocolType) { + NORMAL_DATA -> { + try { + AdasManager.getInstance().parseIPCData(it.body) + } catch (e: Exception) { + e.printStackTrace() + CallerLogger.e("$M_ADAS_IMPL$TAG", "乘客屏解析数据过程中出现异常:${e.message}") } } + SYNC_MODE_STATUS -> { + FunctionBuildConfig.isDemoMode = when (it.body[0].toInt()) { + 1 -> true + else -> false + } + setDemoMode(FunctionBuildConfig.isDemoMode) + } + REQ_CAR_NUMBER -> { + AppConfigInfo.plateNumber = String(msg.body) + invokeNettyConnResult("司机屏发送给乘客屏车牌号为:${AppConfigInfo.plateNumber}") + } + else -> { + } } - } catch (e: Exception) { - e.printStackTrace() - CallerLogger.e("$M_ADAS_IMPL$TAG", "乘客屏解析数据流程中出现异常:${e.message}") } } private fun handleConnStatusWithServer(statusCode: Int, sign: String?) { when (statusCode) { ConnectState.STATUS_CONNECT_SUCCESS -> { - CallerLogger.d("$M_ADAS_IMPL$TAG", "乘客端连接司机端服务成功! sign is:${sign}") + ToastUtils.showShort("连接司机屏成功!") + invokeNettyConnResult("乘客屏连接司机屏成功,司机屏SN为:$sign") // 连接成功后,乘客屏没拿到车牌号就像司机屏请求 if (AppConfigInfo.plateNumber.isNullOrEmpty()) { - val byteArray = byteArrayOf(0) + var byteArray = byteArrayOf(0) NSDNettyManager.getInstance().sendMogoProtocolMsgToServer( MogoProtocolMsg(REQ_CAR_NUMBER, byteArray.size, byteArray) ) { - CallerLogger.d("$M_ADAS_IMPL$TAG", "请求车牌号数据发送是否成功:${it}") + invokeNettyConnResult("乘客屏请求车牌号数据发送是否成功:${it}") } } } else -> { ToastUtils.showLong("和司机端连接异常!") - CallerLogger.d( - "$M_ADAS_IMPL$TAG", - "client statusCode is:${statusCode}" - ) + invokeNettyConnResult("乘客屏和司机屏连接异常,状态码为:$statusCode") } } } @@ -523,5 +525,18 @@ class MoGoAutopilotProvider : override fun onAutopilotCarConfig(carConfigResp: MessagePad.CarConfigResp) { // 乘客屏才监听 AppConfigInfo.plateNumber = carConfigResp.plateNumber + invokeNettyConnResult("乘客屏车牌号:${carConfigResp.plateNumber}") + } + + @ChainLog( + linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, + linkCode = CHAIN_LINK_ADAS, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_MULTI_CONNECT, + paramIndexes = [0], + clientPkFileName = "sn" + ) + private fun invokeNettyConnResult(status: String) { + CallerLogger.d("$M_ADAS_IMPL$TAG", status) } } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt index 4580190480..ae4f3a71d2 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt @@ -19,6 +19,7 @@ class ChainConstant { const val CHAIN_LINK_LOG_ADAS_TRAJECTORY = "-adasWsTrajectory" const val CHAIN_LINK_LOG_ADAS_VEHICLE = "-adasWsVehicle" + const val CHAIN_ALIAS_CODE_MULTI_CONNECT = "CHAIN_ALIAS_CODE_MULTI_CONNECT" const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA = "PAD_ADAS_MESSAGE_AUTOPILOT_RECT_DATA" const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE = "PAD_ADAS_MESSAGE_AUTOPILOT_CAR_STATE" const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS = "PAD_ADAS_MESSAGE_AUTOPILOT_STATUS"