[dev_sweeper310][adas]云控清扫车收发接口添加,添加接口使用说明
This commit is contained in:
@@ -3,22 +3,29 @@ package com.mogo.eagle.core.function.call.autopilot
|
||||
import android.os.SystemClock
|
||||
import chassis.SpecialVehicleTaskCmdOuterClass
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
|
||||
import com.mogo.eagle.core.data.deva.badcase.BagManagerEntity
|
||||
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.data.deva.badcase.BagManagerEntity
|
||||
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_EAGLE_START_AUTOPILOT
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_ADAS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT
|
||||
import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotControlProvider
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable.IsBootable
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.GetTaskReq
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.StartTaskResp
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTaskSuspendResume.SuspendResumeTaskReq
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.confirm.SweeperTaskConfirm.TaskConfirmResp
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop.StopTaskResp
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import com.zhjt.service.chain.TracingConstants
|
||||
import com.zhjt.service_biz.BizConfig
|
||||
import kotlin.random.Random
|
||||
|
||||
|
||||
/**
|
||||
*@author xiaoyuzhou
|
||||
*@date 2021/10/14 2:15 下午
|
||||
@@ -422,6 +429,81 @@ object CallerAutoPilotControlManager {
|
||||
providerApi?.sendSweeperFuTianTaskCmd(fuTianTaskCmd)
|
||||
}
|
||||
|
||||
/**
|
||||
* 开始大任务响应
|
||||
* 1、云端下发大任务信息(type: 100001)-> sweeper_task.proto/StartTaskResp 响应信息
|
||||
*
|
||||
* @param reqNo 请求编号
|
||||
* @param startTaskResp 参数
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendSweeperStartTaskResp( reqNo: String, startTaskResp: StartTaskResp): Boolean {
|
||||
return providerApi?.sendSweeperStartTaskResp(reqNo, startTaskResp) ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* 子任务安全员确认响应
|
||||
* 2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto/TaskConfirmResp 响应信息
|
||||
*
|
||||
* @param reqNo 请求编号
|
||||
* @param taskConfirmResp 参数
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendSweeperTaskConfirmResp( reqNo: String, taskConfirmResp: TaskConfirmResp): Boolean {
|
||||
return providerApi?.sendSweeperTaskConfirmResp(reqNo, taskConfirmResp) ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* 结束任务响应
|
||||
* 4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto/StopTaskResp 响应信息
|
||||
*
|
||||
* @param reqNo 请求编号
|
||||
* @param stopTaskResp 参数
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendSweeperStopTaskResp( reqNo: String, stopTaskResp: StopTaskResp): Boolean {
|
||||
return providerApi?.sendSweeperStopTaskResp(reqNo, stopTaskResp) ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* 挂起任务 恢复挂起的任务
|
||||
* 5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto/SuspendResumeTaskReq
|
||||
* 6、pad请求恢复挂起的任务(type:100006)-> sweeper_task_suspend_resume.proto/SuspendResumeTaskReq
|
||||
*
|
||||
* @param isSuspend true:挂起任务 false:恢复挂起的任务
|
||||
* @param reqNo 请求编号
|
||||
* @param suspendResumeTaskReq 参数
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendSweeperSuspendResumeTaskReq(isSuspend: Boolean, reqNo: String, suspendResumeTaskReq: SuspendResumeTaskReq): Boolean {
|
||||
return providerApi?.sendSweeperSuspendResumeTaskReq(isSuspend, reqNo, suspendResumeTaskReq) ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* pad主动拉取当前车辆正在执行任务的完整信息请求
|
||||
* 7、pad主动拉取当前车辆正在执行任务的完整信息(type:100007)-> sweeper_task.proto/GetTaskReq
|
||||
*
|
||||
* @param reqNo 请求编号
|
||||
* @param getTaskReq 参数
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendSweeperGetTaskReq( reqNo: String, getTaskReq: GetTaskReq): Boolean {
|
||||
return providerApi?.sendSweeperGetTaskReq(reqNo, getTaskReq) ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* pad上报是否可以进自驾
|
||||
* 8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)sweeper_bootable.proto/IsBootable
|
||||
*
|
||||
* @param reqNo 请求编号
|
||||
* @param isBootable 参数
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendSweeperAutopilotBootable( reqNo: String, isBootable: IsBootable): Boolean {
|
||||
return providerApi?.sendSweeperAutopilotBootable(reqNo, isBootable) ?: false
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 打开点云绘制
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
package com.mogo.eagle.core.function.call.autopilot
|
||||
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoSweeperFutianCloudTaskListener
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask
|
||||
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.SweeperTaskSuspendResume
|
||||
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.status.SweeperTaskStatus
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop
|
||||
|
||||
/**
|
||||
* 清扫车(福田)云端任务接口
|
||||
*/
|
||||
object CallerSweeperFutianCloudTaskListenerManager : CallerBase<IMoGoSweeperFutianCloudTaskListener>() {
|
||||
|
||||
/**
|
||||
* 1、云端下发大任务信息(type: 100001)-> sweeper_task.proto
|
||||
* 7、pad主动拉取当前车辆正在执行任务的完整信息(type:100007)-> sweeper_task.proto
|
||||
*
|
||||
* @param messageType 消息类型
|
||||
* @param reqNo 请求编号
|
||||
* @param sysTime 当前时间戳
|
||||
* @param taskInfo 数据
|
||||
*/
|
||||
fun invokeSweeperFutianCloudTask(messageType: SweeperCloudTask.MessageType, reqNo: String, sysTime: Long, taskInfo: SweeperTask.TaskInfo) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onSweeperFutianCloudTask(messageType, reqNo, sysTime, taskInfo)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto
|
||||
*
|
||||
* @param messageType 消息类型
|
||||
* @param reqNo 请求编号
|
||||
* @param sysTime 当前时间戳
|
||||
* @param taskConfirm 数据
|
||||
*/
|
||||
fun invokeSweeperFutianCloudTaskConfirm(messageType: SweeperCloudTask.MessageType, reqNo: String, sysTime: Long, taskConfirm: SweeperTaskConfirm.TaskConfirm) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onSweeperFutianCloudTaskConfirm(messageType, reqNo, sysTime, taskConfirm)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 3、云端下发任务状态到pad(type:100003)-> sweeper_task_status.proto
|
||||
*
|
||||
* @param messageType 消息类型
|
||||
* @param reqNo 请求编号
|
||||
* @param sysTime 当前时间戳
|
||||
* @param taskStatusPush 数据
|
||||
*/
|
||||
fun invokeSweeperFutianCloudTaskStatus(messageType: SweeperCloudTask.MessageType, reqNo: String, sysTime: Long, taskStatusPush: SweeperTaskStatus.TaskStatusPush) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onSweeperFutianCloudTaskStatus(messageType, reqNo, sysTime, taskStatusPush)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto
|
||||
*
|
||||
* @param messageType 消息类型
|
||||
* @param reqNo 请求编号
|
||||
* @param sysTime 当前时间戳
|
||||
* @param stopTaskReq 数据
|
||||
*/
|
||||
fun invokeSweeperFutianCloudTaskStop(messageType: SweeperCloudTask.MessageType, reqNo: String, sysTime: Long, stopTaskReq: SweeperTaskStop.StopTaskReq) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onSweeperFutianCloudTaskStop(messageType, reqNo, sysTime, stopTaskReq)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto
|
||||
* 6、pad请求恢复挂起的任务(type:100006)-> sweeper_task_suspend_resume.proto
|
||||
*
|
||||
* @param messageType 消息类型
|
||||
* @param reqNo 请求编号
|
||||
* @param sysTime 当前时间戳
|
||||
* @param suspendResumeTaskResp 数据
|
||||
*/
|
||||
fun invokeSweeperFutianCloudTaskSuspendResume(messageType: SweeperCloudTask.MessageType, reqNo: String, sysTime: Long, suspendResumeTaskResp: SweeperTaskSuspendResume.SuspendResumeTaskResp) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onSweeperFutianCloudTaskSuspendResume(messageType, reqNo, sysTime, suspendResumeTaskResp)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_autopilot.proto
|
||||
*
|
||||
* @param messageType 消息类型
|
||||
* @param reqNo 请求编号
|
||||
* @param sysTime 当前时间戳
|
||||
* @param isBootableResp 数据
|
||||
*/
|
||||
fun invokeSweeperFutianCloudBootable(messageType: SweeperCloudTask.MessageType, reqNo: String, sysTime: Long, isBootableResp: SweeperBootable.IsBootableResp) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onSweeperFutianCloudBootable(messageType, reqNo, sysTime, isBootableResp)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
||||
*
|
||||
* @param messageType 消息类型
|
||||
* @param reqNo 请求编号
|
||||
* @param sysTime 当前时间戳
|
||||
* @param bigTaskStatusPush 数据
|
||||
*/
|
||||
fun invokeSweeperFutianCloudBigTaskStatus(messageType: SweeperCloudTask.MessageType, reqNo: String, sysTime: Long, bigTaskStatusPush: SweeperBigTaskStatus.BigTaskStatusPush) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onSweeperFutianCloudBigTaskStatus(messageType, reqNo, sysTime, bigTaskStatusPush)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user