[Feat]每10s司机屏同步一次数据到所有乘客屏
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -17,4 +17,6 @@ interface IMsgHandler {
|
||||
fun synWriteTime()
|
||||
|
||||
fun getTeleTimeStamp(): Long
|
||||
|
||||
fun synMsgToAllClients()
|
||||
}
|
||||
@@ -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
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user