Merge remote-tracking branch 'origin/dev_robotaxi-d_241202_6.8.2' into dev_robobus-d_241202_6.8.4

# Conflicts:
#	OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt
#	OCH/common/bridge/src/main/java/com/mogo/och/bridge/ui/autopilot/AutopilotStateModel.kt
#	OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt
#	gradle.properties
This commit is contained in:
yangyakun
2024-12-18 18:15:36 +08:00
45 changed files with 491 additions and 119 deletions

View File

@@ -31,6 +31,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListene
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotControlProvider
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_RAIN
import com.mogo.eagle.core.function.api.map.collect.IMoGoMapDataCollectProvider
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerIpcConnectStateToastManager
import com.mogo.eagle.core.function.call.cloud.CallerCloudCertManager
@@ -56,6 +57,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.telematic.MogoProtocolMsg
import com.mogo.telematic.MogoProtocolMsg.NORMAL_DATA
import com.mogo.telematic.MogoProtocolMsg.SYNC_FUSION_COLOR_STATUS
import com.mogo.telematic.MogoProtocolMsg.SYNC_MODE_STATUS
import com.mogo.telematic.NSDNettyManager
import com.mogo.telematic.client.listener.NettyClientListener
@@ -161,6 +163,7 @@ class MoGoAutopilotControlProvider :
override fun run() {
// 同步是否开启美化模式
setDemoMode(FunctionBuildConfig.isDemoMode)
setFusionColor(FunctionBuildConfig.isFusionColor)
setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData)
msgHandler.synMsgToAllClients()
}
@@ -571,6 +574,32 @@ class MoGoAutopilotControlProvider :
}
}
/**
* 感知颜色绘制同步
*/
override fun setFusionColor(isEnable: Boolean) {
// 同步给乘客端
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
val byteArray = if (isEnable) {
"1;${System.currentTimeMillis()}".toByteArray()
} else {
"0;${System.currentTimeMillis()}".toByteArray()
}
if (NSDNettyManager.getInstance().isServerStart) {
NSDNettyManager.getInstance()
.sendMsgToAllClients(
MogoProtocolMsg(
SYNC_FUSION_COLOR_STATUS,
byteArray.size,
byteArray
)
)
} else {
CallerLogger.d("$M_D_C$TAG", "同步感知颜色绘制时司机端Server未启动")
}
}
}
override fun setIgnoreConditionDraw(isIgnore: Boolean) {
// 同步给乘客端
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {

View File

@@ -143,6 +143,8 @@ class MoGoAdasMsgConnectStatusListenerImpl :
CallerAutoPilotControlManager.setRainMode(FunctionBuildConfig.isRainMode)
// 6.6.2 版本默认开启,与海江确认过,默认发盲区模式
CallerAutoPilotControlManager.sendFusionMode(2)
CallerAutoPilotControlManager.sendV2iToPncCmd(FunctionBuildConfig.v2iToPNC)
CallerAutoPilotControlManager.sendV2nToPncCmd(FunctionBuildConfig.v2nTotalSwitch)
}
AdasConstants.IpcConnectionStatus.CONNECTING -> {

View File

@@ -20,6 +20,7 @@ import com.mogo.eagle.core.data.multidisplay.TelematicConstant
import com.mogo.eagle.core.data.v2x.V2XEvent.RoadEventX
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setDemoMode
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setFusionColor
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setIgnoreConditionDraw
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager
@@ -74,6 +75,9 @@ class TeleMsgHandler : IMsgHandler {
@Volatile
private var demoModeTime = 0L
@Volatile
private var fusionColorTime = 0L
@Volatile
private var timestamp = 0L
@@ -302,6 +306,27 @@ class TeleMsgHandler : IMsgHandler {
}
}
MogoProtocolMsg.SYNC_FUSION_COLOR_STATUS -> {
val content = String(it.body)
if (content.contains(";")) {
val strArr = content.split(";")
if (strArr.size == 2) {
val currTime = strArr[1].toLong()
if (currTime > fusionColorTime) {
val fusionColor = when (strArr[0]) {
"1" -> true
else -> false
}
CallerTelematicListenerManager.dispatchFusionColor(fusionColor)
fusionColorTime = currTime
invokeNettyConnResult("乘客屏收到 fusionColor为${fusionColor}")
} else {
invokeNettyConnResult("乘客屏收到过时的fusionColor")
}
}
}
}
MogoProtocolMsg.REQ_MAC_ADDRESS -> {
val carConfig = MessagePad.CarConfigResp.parseFrom(msg.body)
AppConfigInfo.plateNumber = carConfig.plateNumber
@@ -484,6 +509,7 @@ class TeleMsgHandler : IMsgHandler {
val socketAddress = channel?.remoteAddress().toString()
CallerLogger.d("${SceneConstant.M_D_C}$TAG", "Client ip is:${socketAddress}")
setDemoMode(FunctionBuildConfig.isDemoMode)
setFusionColor(FunctionBuildConfig.isFusionColor)
setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData)
}