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