[6.9.0]OTA升级和数据闭环需求开发

This commit is contained in:
xuxinchao
2024-11-29 19:43:13 +08:00
parent 8ee9bde0ea
commit e2541db3b3
18 changed files with 501 additions and 11 deletions

View File

@@ -38,6 +38,7 @@ import com.zhjt.service.chain.ChainLog
import com.zhjt.service_biz.BizConfig
import kotlinx.coroutines.launch
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest
import system_master.SsmInfo
import java.lang.StringBuilder
import kotlin.random.Random
@@ -1063,4 +1064,33 @@ object CallerAutoPilotControlManager {
return providerApi?.sendSimulationWireFailure(isTrigger)?:false
}
/**
* SSM发送OTA升级提示请求响应
* @param token 域控发送OTA升级请求中的Token {@link SsmInfo.OtaDownloadRequest#getOtaToken()}
* @param ifUpgrade {@link SsmInfo.IfUpgrade#IMMEDIATELY}:立即
* {@link SsmInfo.IfUpgrade#DELAY}:推迟
*/
fun sendSsmFuncOtaDownloadResponse(token: String,ifUpgrade: SsmInfo.IfUpgrade): Boolean{
return providerApi?.sendSsmFuncOtaDownloadResponse(token,ifUpgrade)?:false
}
/**
* 查询OTA状态
* @param token 域控发送OTA升级请求中的Token {@link SsmInfo.OtaDownloadRequest#getOtaToken()}
* 如果没有可以传null或""
*/
fun sendSsmFuncOtaStatusQuery(token: String): Boolean{
return providerApi?.sendSsmFuncOtaStatusQuery(token)?:false
}
/**
* 人工接管时获取前方和后方摄像头数据
* 一次请求域控回调次两次摄像头数据 根据{@link MessagePad.CaptureImgOnTakeOver#getUuid()}进行区分是否是哪次请求
* 例如下发uuid = 1 域控正常会回调两次响应接口 两次的uuid都是1通过isFront区分是前方还是后方摄像头
* 域控响应接口{@link OnAdasListener#onCaptureImgOnTakeOver(MessagePad.Header, boolean, MessagePad.CaptureImgOnTakeOver)}
*/
fun sendCaptureImgReqOnTakeOver(uuid: Int): Boolean{
return providerApi?.sendCaptureImgReqOnTakeOver(uuid)?:false
}
}

View File

@@ -0,0 +1,22 @@
package com.mogo.eagle.core.function.call.devatools
import com.mogo.eagle.core.function.api.devatools.ICaptureImgListener
import com.mogo.eagle.core.function.call.base.CallerBase
import mogo.telematics.pad.MessagePad
/**
* 接管时前方和后方摄像头数据请求响应回调管理
*/
object CallerCaptureImgManager: CallerBase<ICaptureImgListener>() {
/**
* 接管时前方和后方摄像头数据请求的响应
*/
fun invokeCaptureImgOnTakeOver(isFront: Boolean, data: MessagePad.CaptureImgOnTakeOver){
M_LISTENERS.forEach{
val listener = it.value
listener.onCaptureImgOnTakeOver(isFront, data)
}
}
}

View File

@@ -0,0 +1,48 @@
package com.mogo.eagle.core.function.call.devatools
import com.mogo.eagle.core.function.api.devatools.IOTAListener
import com.mogo.eagle.core.function.call.base.CallerBase
import system_master.SsmInfo
/**
* OTA升级接口回调管理
*/
object CallerOTAManager: CallerBase<IOTAListener>() {
/**
* SSM发送OTA升级提示请求
* @param request SSM发送OTA升级提示内容
*/
fun invokeOtaDownloadRequest(request: SsmInfo.OtaDownloadRequest){
M_LISTENERS.forEach {
val listener = it.value
listener.onOtaDownloadRequest(request)
}
}
/**
* SSM上报OTA下载进度, 开始升级后定频上报
* @param progress 下载进度
*/
fun invokeOtaLoadingProgress(progress: SsmInfo.OtaLoadingProgess){
M_LISTENERS.forEach {
val listener = it.value
listener.onOtaLoadingProgress(progress)
}
}
/**
* SSM上报OTA状态和查询OTA状态
* 冷启动状态变更上报以及查询状态
* 如果是查询到的结果,{@link SsmInfo.OtaStatus#getOtaInfo()}
* 中的{@link SsmInfo.OtaDownloadRequest#getOtaToken()}==""表示不存在升级任务
* @param status 冷启动状态变更上报以及查询状态
*/
fun invokeOtaStatus(status: SsmInfo.OtaStatus){
M_LISTENERS.forEach {
val listener = it.value
listener.onOtaStatus(status)
}
}
}

View File

@@ -469,4 +469,11 @@ object CallerHmiManager {
hmiProviderApi?.showColdStartProcessView()
}
/**
* 展示OTA升级弹窗
*/
fun showOTAUpgradeDialog(){
hmiProviderApi?.showOTAUpgradeDialog()
}
}