[3.4.0-map-sdk] merge 6.1.0

This commit is contained in:
zhongchao
2023-09-18 19:32:55 +08:00
154 changed files with 4655 additions and 1794 deletions

View File

@@ -70,6 +70,7 @@ import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop
import com.zhjt.service.chain.ChainLog
import io.netty.channel.Channel
import mogo.telematics.pad.MessagePad
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest
import java.util.*
import java.util.concurrent.TimeUnit
@@ -1093,6 +1094,13 @@ class MoGoAutopilotControlProvider :
return AdasManager.getInstance().sendSweeperCloudSuspendResumeTaskResp(reqNo, bigTaskActionResp)
}
override fun sendParallelDrivingReq(
reqNo: String,
parallelRequest: ParallelDrivingRequest.ParallelRequest
): Boolean {
return AdasManager.getInstance().sendParallelDrivingReq(reqNo, parallelRequest)
}
override fun setIsDrawPointCloud(isDrawPointCloud: Boolean) {
if (isDrawPointCloud) {
AdasManager.getInstance().subscribeInterface(

View File

@@ -49,28 +49,32 @@ import com.mogo.eagle.core.function.call.obu.CallerObuMapMathListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuWarningRsiListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuWarningRsmListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuWarningSpatListenerManager
import com.mogo.eagle.core.function.call.v2x.*
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.util.DeviceUtils
import com.mogo.support.obu.ObuScene
import com.zhidao.support.adas.high.OnAdasListener
import com.zhjt.mogo.adas.data.bean.AdasParam
import com.zhidao.support.adas.high.common.ProtocolStatus
import com.zhjt.mogo.adas.data.AiCloudTask
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics
import com.zhjt.mogo.adas.data.bean.UnableAutopilotReason
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus
import com.zhjt.mogo.adas.data.sweeper.task.confirm.SweeperTaskConfirm
import com.zhjt.mogo.adas.data.sweeper.task.s_r.SweeperTaskSuspendResume
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume
import com.zhjt.mogo.adas.data.sweeper.task.confirm.SweeperTaskConfirm
import com.zhjt.mogo.adas.data.sweeper.task.status.SweeperTaskStatus
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop
import com.zhjt.service.chain.ChainLog
import fault_management.FmInfo
import function_state_management.FunctionStates
import mogo.telematics.pad.MessagePad
import mogo.telematics.pad.MessagePad.TrackedObject
import mogo.v2x.MogoV2X
import mogo.v2x.RoadOverviewEvents
import mogo.yycp.paralleldriving.protocol.ParallelTaskProcessNoticeOuterClass
import mogo_msg.MogoReportMsg
import perception.TrafficLightOuterClass
import planning.RoboSweeperTaskIndexOuterClass
@@ -444,6 +448,10 @@ class MoGoAdasListenerImpl : OnAdasListener {
invokeSystemStatus(statusInf)
}
override fun onFaultManagementState(header: MessagePad.Header?, fmInfo: FmInfo.FaultResultMsg) {
CallerFaultManagementStateListenerManager.invokeFaultManagementState(fmInfo)
}
/**
* 数据采集配置应答
*/
@@ -574,7 +582,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
*/
override fun onSweeperFutianCloudTask(
header: MessagePad.Header,
messageType: SweeperCloudTask.MessageType,
messageType: AiCloudTask.MessageType,
reqNo: String?,
sysTime: Long,
taskInfo: SweeperTask.TaskInfo?
@@ -598,7 +606,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
*/
override fun onSweeperFutianCloudTaskConfirm(
header: MessagePad.Header,
messageType: SweeperCloudTask.MessageType,
messageType: AiCloudTask.MessageType,
reqNo: String?,
sysTime: Long,
taskConfirm: SweeperTaskConfirm.TaskConfirm?
@@ -622,7 +630,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
*/
override fun onSweeperFutianCloudTaskStatus(
header: MessagePad.Header,
messageType: SweeperCloudTask.MessageType,
messageType: AiCloudTask.MessageType,
reqNo: String?,
sysTime: Long,
taskStatusPush: SweeperTaskStatus.TaskStatusPush?
@@ -646,7 +654,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
*/
override fun onSweeperFutianCloudTaskStop(
header: MessagePad.Header,
messageType: SweeperCloudTask.MessageType,
messageType: AiCloudTask.MessageType,
reqNo: String?,
sysTime: Long,
stopTaskReq: SweeperTaskStop.StopTaskReq?
@@ -671,7 +679,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
*/
override fun onSweeperFutianCloudTaskSuspendResume(
header: MessagePad.Header,
messageType: SweeperCloudTask.MessageType,
messageType: AiCloudTask.MessageType,
reqNo: String?,
sysTime: Long,
suspendResumeTaskResp: SweeperTaskSuspendResume.SuspendResumeTaskResp?
@@ -695,7 +703,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
*/
override fun onSweeperFutianCloudBootable(
header: MessagePad.Header,
messageType: SweeperCloudTask.MessageType,
messageType: AiCloudTask.MessageType,
reqNo: String?,
sysTime: Long,
isBootableResp: SweeperBootable.IsBootableResp?
@@ -719,7 +727,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
*/
override fun onSweeperFutianCloudBigTaskStatus(
header: MessagePad.Header,
messageType: SweeperCloudTask.MessageType,
messageType: AiCloudTask.MessageType,
reqNo: String?,
sysTime: Long,
bigTaskStatusPush: SweeperBigTaskStatus.BigTaskStatusPush?
@@ -732,13 +740,46 @@ class MoGoAdasListenerImpl : OnAdasListener {
)
}
/**
* 10、云端下发任务暂停/恢复指令到padtype: 100010-> sweeper_task_cloud_suspend_resume.proto
*
* @param header 头
* @param messageType 消息类型
* @param reqNo 请求编号
* @param sysTime 当前时间戳
* @param bigTaskActionPush 数据
*/
override fun onSweeperFutianCloudTaskCloudSuspendResume(header: MessagePad.Header, messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskActionPush: SweeperTaskCloudSuspendResume.BigTaskActionPush?) {
CallerSweeperFutianCloudTaskListenerManager.invokeSweeperFutianCloudTaskCloudSuspendResume(messageType, reqNo, sysTime, bigTaskActionPush)
}
/**
* 无人化场景
* 平行驾驶请求相关状态反馈
*
* @param header 头
* @param messageType 消息类型
* @param reqNo 请求编号
* @param sysTime 当前时间戳
* @param parallelTaskProcessNotice 数据
*/
override fun onParallelDrivingResp(
header: MessagePad.Header,
messageType: AiCloudTask.MessageType,
reqNo: String?,
sysTime: Long,
parallelTaskProcessNotice: ParallelTaskProcessNoticeOuterClass.ParallelTaskProcessNotice?
) {
CallerParallelDrivingListenerManager.invokeParallelDrivingListener(parallelTaskProcessNotice)
}
/**
* 清扫车云端任务未知类型
*
* @param header 头
* @param bytes 原始数据
*/
override fun onSweeperFutianCloudTaskUnknown(header: MessagePad.Header, bytes: ByteArray) {
override fun onAiCloudTaskUnknown(header: MessagePad.Header, bytes: ByteArray) {
CallerSweeperFutianCloudTaskListenerManager.invokeSweeperFutianCloudTaskUnknown(bytes)
}
@@ -844,7 +885,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
*/
override fun onAutopilotAbility(
isAutopilotAbility: Boolean,
unableAutopilotReasons: ArrayList<UnableAutopilotReason>?
unableAutopilotReasons: ArrayList<UnableLaunchReason>?
) {
if (unableAutopilotReasons != null && unableAutopilotReasons.size > 0) {
autopilotAbilityCheck(isAutopilotAbility, unableAutopilotReasons.toString())
@@ -852,6 +893,16 @@ class MoGoAdasListenerImpl : OnAdasListener {
invokeAutopilotAbility(isAutopilotAbility, unableAutopilotReasons)
}
override fun onParallelDrivingAbility(
isParallelDrivingAbility: Boolean,
unableParallelDrivingReasons: java.util.ArrayList<UnableLaunchReason>?
) {
CallerParallelDrivingActionsListenerManager.invokeParallelDrivingAbility(
isParallelDrivingAbility,
unableParallelDrivingReasons
)
}
@ChainLog(
linkChainLog = CHAIN_TYPE_SOCKET_AUTOPILOT,
linkCode = CHAIN_SOURCE_ADAS,

View File

@@ -9,6 +9,7 @@ import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingActionsListenerManager
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
@@ -39,10 +40,12 @@ class MoGoAdasMsgConnectStatusListenerImpl :
init {
CallerCloudListenerManager.addListener(TAG, this)
CallerAutopilotActionsListenerManager.setConnected(AdasManager.getInstance().ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED)
CallerParallelDrivingActionsListenerManager.setConnected(AdasManager.getInstance().ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED)
}
override fun onConnectionIPCStatus(ipcConnectionStatus: Int, reason: String?) {
CallerAutopilotActionsListenerManager.setConnected(ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED)
CallerParallelDrivingActionsListenerManager.setConnected(ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED)
AppConfigInfo.connectStatusDescribe = reason
when (ipcConnectionStatus) {
Constants.IPC_CONNECTION_STATUS.CONNECTED -> {

View File

@@ -561,32 +561,34 @@ class MogoObuDcCombineManager private constructor() : IMoGoObuWarningRsiListener
}
1 -> { //闯红灯 V2I_RLVW_VIOLATION_TYPE_RUNNING_RED_LIGHT 一个红灯周期只显示一次
if (HmiBuildConfig.isShowRunRedLightView) {
if (!isShowRunRedLight) {
isShowRunRedLight = true
ttsContent =
EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType)
alertContent =
EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType)
CallerLogger.d(
"${M_OBU}${TAG}",
"MogoObuDcCombineManager changeTrafficLightStatus 闯红灯 --------> ttsContent = $ttsContent ---alertContent = $alertContent "
)
if (alertContent.isEmpty() || ttsContent.isEmpty()) {
return
if(HmiBuildConfig.isShowObuV2iView){
if (HmiBuildConfig.isShowRunRedLightView) {
if (!isShowRunRedLight) {
isShowRunRedLight = true
ttsContent =
EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType)
alertContent =
EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType)
CallerLogger.d(
"${M_OBU}${TAG}",
"MogoObuDcCombineManager changeTrafficLightStatus 闯红灯 --------> ttsContent = $ttsContent ---alertContent = $alertContent "
)
if (alertContent.isEmpty() || ttsContent.isEmpty()) {
return
}
saveObuToDcData(
EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType,
alertContent,
ttsContent,
CommunicationType.V2I
)
showWarning(
EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType,
alertContent,
ttsContent,
WarningDirectionEnum.ALERT_WARNING_NON
)
}
saveObuToDcData(
EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType,
alertContent,
ttsContent,
CommunicationType.V2I
)
showWarning(
EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType,
alertContent,
ttsContent,
WarningDirectionEnum.ALERT_WARNING_NON
)
}
}
}

View File

@@ -299,7 +299,7 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
* v2v预警信息 CvxRvInfoIndInfo CvxV2vThreatIndInfo 他车
*/
override fun onObuRvWarning(data: ObuScene.RvWarningData) {
if (HmiBuildConfig.isShowObuV2vView) {
if (FunctionBuildConfig.v2xMainSwitch && HmiBuildConfig.isShowObuV2vView) {
if (data.warningMsg != null) {
// 更新数据远车数据之前要匹配uuid
data.vehBasicsMsg?.let {
@@ -1042,25 +1042,27 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
}
1 -> {//闯红灯 V2I_RLVW_VIOLATION_TYPE_RUNNING_RED_LIGHT 一个红灯周期只显示一次
if (HmiBuildConfig.isShowRunRedLightView) {
if (!isShowRunRedLight) {
isShowRunRedLight = true
ttsContent =
EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType)
alertContent =
EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType)
saveObuData(
EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType,
alertContent,
ttsContent,
CommunicationType.V2I
)
showWarning(
EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType,
alertContent,
ttsContent,
WarningDirectionEnum.ALERT_WARNING_NON
)
if(HmiBuildConfig.isShowObuV2iView){
if (HmiBuildConfig.isShowRunRedLightView) {
if (!isShowRunRedLight) {
isShowRunRedLight = true
ttsContent =
EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType)
alertContent =
EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType)
saveObuData(
EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType,
alertContent,
ttsContent,
CommunicationType.V2I
)
showWarning(
EventTypeEnumNew.TYPE_USECASE_ID_IVP_RED.poiType,
alertContent,
ttsContent,
WarningDirectionEnum.ALERT_WARNING_NON
)
}
}
}
}