Merge branch 'dev_robotaxi-d_241112_6.8.1_dev' into dev_robotaxi-d_241210_6.9.0

This commit is contained in:
xuxinchao
2024-12-10 19:49:58 +08:00
40 changed files with 1498 additions and 135 deletions

View File

@@ -83,6 +83,7 @@ import com.zhjt.service.chain.ChainLog
import io.netty.channel.Channel
import mogo.telematics.pad.MessagePad
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest
import system_master.SsmInfo
import java.util.*
import java.util.concurrent.TimeUnit
@@ -1508,4 +1509,36 @@ class MoGoAutopilotControlProvider :
return AdasManager.getInstance().sendSimulationWireFailure(isTrigger)>-1
}
/**
* SSM发送OTA升级提示请求响应
* @param token 域控发送OTA升级请求中的Token {@link SsmInfo.OtaDownloadRequest#getOtaToken()}
* @param ifUpgrade {@link SsmInfo.IfUpgrade#IMMEDIATELY}:立即
* {@link SsmInfo.IfUpgrade#DELAY}:推迟
*/
override fun sendSsmFuncOtaDownloadResponse(
token: String,
ifUpgrade: SsmInfo.IfUpgrade
): Boolean {
return AdasManager.getInstance().sendSsmFuncOtaDownloadResponse(token, ifUpgrade)>-1
}
/**
* 查询OTA状态
* @param token 域控发送OTA升级请求中的Token {@link SsmInfo.OtaDownloadRequest#getOtaToken()}
* 如果没有可以传null或""
*/
override fun sendSsmFuncOtaStatusQuery(token: String): Boolean {
return AdasManager.getInstance().sendSsmFuncOtaStatusQuery(token)>-1
}
/**
* 人工接管时获取前方和后方摄像头数据
* 一次请求域控回调次两次摄像头数据 根据{@link MessagePad.CaptureImgOnTakeOver#getUuid()}进行区分是否是哪次请求
* 例如下发uuid = 1 域控正常会回调两次响应接口 两次的uuid都是1通过isFront区分是前方还是后方摄像头
* 域控响应接口{@link OnAdasListener#onCaptureImgOnTakeOver(MessagePad.Header, boolean, MessagePad.CaptureImgOnTakeOver)}
*/
override fun sendCaptureImgReqOnTakeOver(uuid: Long): Boolean {
return AdasManager.getInstance().sendCaptureImgReqOnTakeOver(uuid)>-1
}
}

View File

@@ -83,6 +83,8 @@ import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCloudTaskL
import com.mogo.eagle.core.function.call.autopilot.CallerTakeoverListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerV2XListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerCaptureImgManager
import com.mogo.eagle.core.function.call.devatools.CallerOTAManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.eagle.core.function.call.obu.CallerObuMapMathListenerManager
import com.mogo.eagle.core.function.call.obu.CallerObuWarningRsiListenerManager
@@ -425,6 +427,67 @@ class MoGoAdasListenerImpl : OnAdasListener {
override fun onWarn(header: MessagePad.Header, warn: MessagePad.Warn?) {
}
/**
* SSM发送OTA升级提示请求
*
* @param header 头
* @param token PadSsmMsg唯一消息ID
* @param timestamp 消息发送时间 单位:毫秒
* @param request 数据 null表示 PadSsmMsg中的消息体为null
*/
override fun onOtaDownloadRequest(
header: MessagePad.Header?,
token: Long,
timestamp: Long,
request: SsmInfo.OtaDownloadRequest?
) {
if(request != null){
CallerOTAManager.invokeOtaDownloadRequest(request)
}
}
// /**
// * SSM上报OTA下载进度, 开始升级后定频上报
// *
// * @param header 头
// * @param token PadSsmMsg唯一消息ID
// * @param timestamp 消息发送时间 单位:毫秒
// * @param progress 数据 null表示 PadSsmMsg中的消息体为null
// */
// override fun onOtaLoadingProgress(
// header: MessagePad.Header?,
// token: Long,
// timestamp: Long,
// progress: SsmInfo.OtaLoadingProgess?
// ) {
// if(progress != null){
// CallerOTAManager.invokeOtaLoadingProgress(progress)
// }
// }
/**
* SSM上报OTA状态和查询OTA状态
* 冷启动状态变更上报以及查询状态
* 如果是查询到的结果,{@link SsmInfo.OtaStatus#getOtaInfo()}中的{@link SsmInfo.OtaDownloadRequest#getOtaToken()}==""表示不存在升级任务
*
* @param header 头
* @param token PadSsmMsg唯一消息ID
* @param timestamp 消息发送时间 单位:毫秒
* @param isQuery 是否是查询 ture查询响应的结果 false表示状态变动域控主动推送
* @param status 数据 null表示 PadSsmMsg中的消息体为null
*/
override fun onOtaStatus(
header: MessagePad.Header?,
token: Long,
timestamp: Long,
isQuery: Boolean,
status: SsmInfo.OtaStatus?
) {
if(status != null){
CallerOTAManager.invokeOtaStatus(status)
}
}
/**
* 冷启动状态变更上报以及查询状态
*
@@ -1283,6 +1346,21 @@ class MoGoAdasListenerImpl : OnAdasListener {
}
}
/**
* 接管时前方和后方摄像头数据请求的响应
*
* @param header 头
* @param isFront true前方摄像头 false后方摄像头
* @param data 数据
*/
override fun onCaptureImgOnTakeOver(
header: MessagePad.Header,
isFront: Boolean,
data: MessagePad.CaptureImgOnTakeOver
) {
CallerCaptureImgManager.invokeCaptureImgOnTakeOver(isFront, data)
}
/**
* 是否可以启动自动驾驶
* 使用方法查看app_ipc_monitoring/uiMainActivity/onAutopilotAbility