From 844482ca786264f33d828009c7ae62df4d2c5694 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Thu, 19 May 2022 19:21:40 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=E4=B8=80=E6=AC=A1=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=89=80=E6=9C=89=E8=BD=A6=E8=BE=86=E9=85=8D=E7=BD=AE=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autopilot/telematic/TeleMsgHandler.kt | 54 ++++++------------- .../mogo/eagle/core/data/app/AppConfigInfo.kt | 1 + 2 files changed, 16 insertions(+), 39 deletions(-) diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/TeleMsgHandler.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/TeleMsgHandler.kt index 4839f2231e..d589c3af99 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/TeleMsgHandler.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/TeleMsgHandler.kt @@ -1,5 +1,6 @@ package com.mogo.eagle.core.function.autopilot.telematic +import com.google.protobuf.TextFormat import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.deva.chain.ChainConstant @@ -17,6 +18,7 @@ import com.zhidao.support.adas.high.chain.AdasChain import com.zhjt.service.chain.ChainLog import com.zhjt.service.chain.TracingConstants import io.netty.channel.Channel +import mogo.telematics.pad.MessagePad class TeleMsgHandler : IMsgHandler { @@ -28,9 +30,6 @@ class TeleMsgHandler : IMsgHandler { @Volatile private var wrTimeStamp = 0L - @Volatile - private var hasQueryCarConfig = false - override fun handleMsgFromServer(msg: MogoProtocolMsg?, channel: Channel?) { msg?.let { when (it.protocolType) { @@ -53,13 +52,11 @@ class TeleMsgHandler : IMsgHandler { } setDemoMode(FunctionBuildConfig.isDemoMode) } - MogoProtocolMsg.REQ_CAR_NUMBER -> { - AppConfigInfo.plateNumber = String(msg.body) - invokeNettyConnResult("司机屏发送给乘客屏车牌号为:${AppConfigInfo.plateNumber}") - } MogoProtocolMsg.REQ_MAC_ADDRESS -> { - val macAddress = String(msg.body) - invokeNettyConnResult("司机屏发送给乘客屏Mac地址为:$macAddress") + val carConfig = MessagePad.CarConfigResp.parseFrom(msg.body) + AppConfigInfo.plateNumber = carConfig.plateNumber + AppConfigInfo.iPCMacAddress = carConfig.macAddress + invokeNettyConnResult("司机屏发送给乘客屏配置信息为:${TextFormat.printer().escapingNonAscii(false).printToString(carConfig)}") } else -> { } @@ -70,31 +67,18 @@ class TeleMsgHandler : IMsgHandler { override fun handleMsgFromClient(msg: MogoProtocolMsg?, channel: Channel?) { msg?.let { when (it.protocolType) { - MogoProtocolMsg.REQ_CAR_NUMBER -> { - if (!AppConfigInfo.plateNumber.isNullOrEmpty()) { - val platNumberArray = AppConfigInfo.plateNumber!!.toByteArray() - NSDNettyManager.getInstance().sendMsgToSpecifiedClient( - MogoProtocolMsg( - MogoProtocolMsg.REQ_CAR_NUMBER, - platNumberArray.size, platNumberArray - ), channel - ) { - invokeNettyConnResult("司机屏发送车牌号到乘客屏是否成功:${it.isSuccess}") - } - } else { - queryCarConfig() - } - } MogoProtocolMsg.REQ_MAC_ADDRESS -> { - if (!AppConfigInfo.iPCMacAddress.isNullOrEmpty()) { - val macAddressArray = AppConfigInfo.iPCMacAddress!!.toByteArray() + val carConfig = AdasManager.getInstance().carConfig + if (carConfig != null) { + val configArray = carConfig.toByteArray() + NSDNettyManager.getInstance().sendMsgToSpecifiedClient( MogoProtocolMsg( MogoProtocolMsg.REQ_MAC_ADDRESS, - macAddressArray.size, macAddressArray + configArray.size, configArray ), channel ) { - invokeNettyConnResult("司机屏发送Mac地址到乘客屏是否成功:${it.isSuccess}") + invokeNettyConnResult("司机屏发送配置信息到乘客屏是否成功:${it.isSuccess}") } } else { queryCarConfig() @@ -107,11 +91,8 @@ class TeleMsgHandler : IMsgHandler { } private fun queryCarConfig() { - if (!hasQueryCarConfig) { - hasQueryCarConfig = true - invokeNettyConnResult("乘客屏请求司机屏向工控机查询配置信息") - CallerAutoPilotManager.getCarConfig() - } + invokeNettyConnResult("乘客屏请求司机屏向工控机查询配置信息") + CallerAutoPilotManager.getCarConfig() } override fun handleClientConn2Server(channel: Channel?) { @@ -139,15 +120,10 @@ class TeleMsgHandler : IMsgHandler { ToastUtils.showShort("连接司机屏成功!") invokeNettyConnResult("乘客屏连接司机屏成功") val byteArray = byteArrayOf(0) - NSDNettyManager.getInstance().sendMogoProtocolMsgToServer( - MogoProtocolMsg(MogoProtocolMsg.REQ_CAR_NUMBER, byteArray.size, byteArray) - ) { - invokeNettyConnResult("乘客屏请求车牌号数据发送是否成功:${it}") - } NSDNettyManager.getInstance().sendMogoProtocolMsgToServer( MogoProtocolMsg(MogoProtocolMsg.REQ_MAC_ADDRESS, byteArray.size, byteArray) ) { - invokeNettyConnResult("乘客屏请求MAC地址数据发送是否成功:${it}") + invokeNettyConnResult("乘客屏请求配置信息的数据发送是否成功:${it}") } } ConnectState.STATUS_CONNECT_CLOSED -> {// 由于重连机制会回调多次 diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt index 0cc43d9fe7..67ca33e189 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt @@ -31,6 +31,7 @@ object AppConfigInfo { @Volatile var plateNumber: String? = null //工控机MAC地址 + @Volatile var iPCMacAddress: String? = null //工控机协议版本 var protocolVersionNumber: Int = 0