From 1c2b42c5c80eb4ba5ea8d0ff13baeb394f70fba5 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Fri, 23 Sep 2022 14:36:35 +0800 Subject: [PATCH] =?UTF-8?q?[Feat]=E6=AF=8F10s=E5=8F=B8=E6=9C=BA=E5=B1=8F?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=B8=80=E6=AC=A1=E6=95=B0=E6=8D=AE=E5=88=B0?= =?UTF-8?q?=E6=89=80=E6=9C=89=E4=B9=98=E5=AE=A2=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autopilot/MoGoAutopilotProvider.kt | 18 +++++++++++-- .../autopilot/telematic/IMsgHandler.kt | 2 ++ .../autopilot/telematic/TeleMsgHandler.kt | 25 ++++++++++++++++--- 3 files changed, 39 insertions(+), 6 deletions(-) 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 12fb24808b..0a8c633f83 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 @@ -54,6 +54,7 @@ import com.zhjt.service.chain.ChainLog import com.zhjt.service.chain.TracingConstants import io.netty.channel.Channel import mogo.telematics.pad.MessagePad +import java.util.* import java.util.concurrent.TimeUnit @@ -69,6 +70,7 @@ class MoGoAutopilotProvider : private val TAG = "MoGoAutoPilotProvider" private var mContext: Context? = null private lateinit var msgHandler: IMsgHandler + private var timer: Timer? = null override val functionName: String get() = TAG @@ -109,11 +111,25 @@ class MoGoAutopilotProvider : override fun onStartServer() { ToastUtils.showShort("司机端服务启动成功!") + if (timer == null) { + timer = Timer() + } + // 10s同步一次数据到乘客屏 + timer!!.schedule(object : TimerTask() { + override fun run() { + // 同步是否开启美化模式 + setDemoMode(FunctionBuildConfig.isDemoMode) + setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData) + msgHandler.synMsgToAllClients() + } + }, 1000, 10000) invokeNettyConnResult("司机端服务启动成功!") } override fun onStopServer() { ToastUtils.showLong("司机端服务停止!") + timer?.cancel() + timer = null invokeNettyConnResult("司机端服务停止!") } @@ -169,8 +185,6 @@ class MoGoAutopilotProvider : CallerLogger.i("$M_ADAS_IMPL$TAG", "initServer……") // 同步数据给工控机的服务 AsyncDataToAutopilotServer.INSTANCE.initServer() - // 同步是否开启美化模式 - setDemoMode(FunctionBuildConfig.isDemoMode) // 同步是否开启雨天模式 setRainMode(FunctionBuildConfig.isRainMode) } diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/IMsgHandler.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/IMsgHandler.kt index f4d1c9bbab..3f9c72d8fc 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/IMsgHandler.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/telematic/IMsgHandler.kt @@ -17,4 +17,6 @@ interface IMsgHandler { fun synWriteTime() fun getTeleTimeStamp(): Long + + fun synMsgToAllClients() } \ No newline at end of file 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 bff0d93ae0..716eab5c48 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 @@ -110,10 +110,11 @@ class TeleMsgHandler : IMsgHandler { if (strArr.size == 2) { val currTime = strArr[1].toLong() if (currTime > timestamp) { - FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = when (strArr[0]) { - "1" -> true - else -> false - } + FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = + when (strArr[0]) { + "1" -> true + else -> false + } timestamp = currTime invokeNettyConnResult("乘客屏收到的美化模式isIgnore为:${FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData}") } else { @@ -273,4 +274,20 @@ class TeleMsgHandler : IMsgHandler { } } } + + override fun synMsgToAllClients() { + if (NSDNettyManager.getInstance().isServerStart) { + val carConfig = AdasManager.getInstance().carConfig + if (carConfig != null) { + val configArray = carConfig.toByteArray() + + NSDNettyManager.getInstance().sendMsgToAllClients( + MogoProtocolMsg( + MogoProtocolMsg.REQ_MAC_ADDRESS, + configArray.size, configArray + ) + ) + } + } + } } \ No newline at end of file