[610][adas]添加平行驾驶相关接口;能否启动自驾接口添加手刹状态判断;修改清扫车云控PB与平行驾驶PB共用
This commit is contained in:
@@ -3,7 +3,7 @@ package com.mogo.och.sweepercloud.callback
|
|||||||
import chassis.ChassisStatesOuterClass
|
import chassis.ChassisStatesOuterClass
|
||||||
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean
|
import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean
|
||||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean
|
import com.mogo.och.sweepercloud.database.bean.WeltDataBean
|
||||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask
|
import com.zhjt.mogo.adas.data.AiCloudTask
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable.IsBootableResp
|
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable.IsBootableResp
|
||||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
||||||
@@ -22,7 +22,7 @@ interface ISweeperCloudTaskCallback {
|
|||||||
/**
|
/**
|
||||||
* 接取云端任务/正在执行中任务信息回调
|
* 接取云端任务/正在执行中任务信息回调
|
||||||
*/
|
*/
|
||||||
fun onSweeperCloudTask(messageType: SweeperCloudTask.MessageType,taskInfo: SweeperTask.TaskInfo?)
|
fun onSweeperCloudTask(messageType: AiCloudTask.MessageType, taskInfo: SweeperTask.TaskInfo?)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 云端下发子任务请求pad确认
|
* 云端下发子任务请求pad确认
|
||||||
@@ -42,7 +42,7 @@ interface ISweeperCloudTaskCallback {
|
|||||||
/**
|
/**
|
||||||
* 挂起/恢复
|
* 挂起/恢复
|
||||||
*/
|
*/
|
||||||
fun onSweeperCloudTaskSuspendResume(messageType: SweeperCloudTask.MessageType,taskId:String,subTaskId:String,code:Code)
|
fun onSweeperCloudTaskSuspendResume(messageType: AiCloudTask.MessageType,taskId:String,subTaskId:String,code:Code)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pad请求云端进入自驾
|
* pad请求云端进入自驾
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ import com.mogo.och.sweepercloud.constant.SweeperConst;
|
|||||||
import com.mogo.och.sweepercloud.database.MyDataBase;
|
import com.mogo.och.sweepercloud.database.MyDataBase;
|
||||||
import com.mogo.och.sweepercloud.database.bean.WeltDataBean;
|
import com.mogo.och.sweepercloud.database.bean.WeltDataBean;
|
||||||
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils;
|
import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask;
|
import com.zhjt.mogo.adas.data.AiCloudTask;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable;
|
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.SweeperTask;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus;
|
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus;
|
||||||
@@ -332,7 +332,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSweeperFutianCloudTask(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime,
|
public void onSweeperFutianCloudTask(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||||
SweeperTask.TaskInfo taskInfo) {
|
SweeperTask.TaskInfo taskInfo) {
|
||||||
|
|
||||||
CallerLogger.d(M_SWEEPER + TAG,
|
CallerLogger.d(M_SWEEPER + TAG,
|
||||||
@@ -344,7 +344,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSweeperFutianCloudTaskConfirm(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime,
|
public void onSweeperFutianCloudTaskConfirm(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||||
SweeperTaskConfirm.TaskConfirm taskConfirm) {
|
SweeperTaskConfirm.TaskConfirm taskConfirm) {
|
||||||
|
|
||||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||||
@@ -356,7 +356,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSweeperFutianCloudTaskStatus(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime,
|
public void onSweeperFutianCloudTaskStatus(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||||
SweeperTaskStatus.TaskStatusPush taskStatusPush) {
|
SweeperTaskStatus.TaskStatusPush taskStatusPush) {
|
||||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||||
"onSweeperFutianCloudTaskStatus:" + printMessage(taskStatusPush));
|
"onSweeperFutianCloudTaskStatus:" + printMessage(taskStatusPush));
|
||||||
@@ -367,7 +367,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSweeperFutianCloudTaskStop(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime,
|
public void onSweeperFutianCloudTaskStop(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||||
SweeperTaskStop.StopTaskReq stopTaskReq) {
|
SweeperTaskStop.StopTaskReq stopTaskReq) {
|
||||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||||
"onSweeperFutianCloudTaskStop:" + printMessage(stopTaskReq));
|
"onSweeperFutianCloudTaskStop:" + printMessage(stopTaskReq));
|
||||||
@@ -378,7 +378,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSweeperFutianCloudTaskSuspendResume(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime,
|
public void onSweeperFutianCloudTaskSuspendResume(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||||
SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp) {
|
SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp) {
|
||||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||||
"onSweeperFutianCloudTaskSuspendResume:" + printMessage(suspendResumeTaskResp));
|
"onSweeperFutianCloudTaskSuspendResume:" + printMessage(suspendResumeTaskResp));
|
||||||
@@ -390,7 +390,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSweeperFutianCloudBootable(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime,
|
public void onSweeperFutianCloudBootable(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||||
SweeperBootable.IsBootableResp isBootableResp) {
|
SweeperBootable.IsBootableResp isBootableResp) {
|
||||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||||
"onSweeperFutianCloudBootable:" + printMessage(isBootableResp));
|
"onSweeperFutianCloudBootable:" + printMessage(isBootableResp));
|
||||||
@@ -401,7 +401,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSweeperFutianCloudBigTaskStatus(@NonNull SweeperCloudTask.MessageType messageType, String reqNo, long sysTime,
|
public void onSweeperFutianCloudBigTaskStatus(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime,
|
||||||
SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush) {
|
SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush) {
|
||||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||||
"onSweeperFutianCloudBigTaskStatus:" + printMessage(bigTaskStatusPush));
|
"onSweeperFutianCloudBigTaskStatus:" + printMessage(bigTaskStatusPush));
|
||||||
@@ -412,7 +412,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSweeperFutianCloudTaskCloudSuspendResume(@NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime,
|
public void onSweeperFutianCloudTaskCloudSuspendResume(@NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime,
|
||||||
@Nullable SweeperTaskCloudSuspendResume.BigTaskActionPush bigTaskActionPush) {
|
@Nullable SweeperTaskCloudSuspendResume.BigTaskActionPush bigTaskActionPush) {
|
||||||
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " +
|
||||||
"onSweeperFutianCloudTaskCloudSuspendResume:" + printMessage(bigTaskActionPush));
|
"onSweeperFutianCloudTaskCloudSuspendResume:" + printMessage(bigTaskActionPush));
|
||||||
@@ -521,7 +521,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
SweeperTask.GetTaskReq getTaskReq = builder.build();
|
SweeperTask.GetTaskReq getTaskReq = builder.build();
|
||||||
|
|
||||||
CallerLogger.d(M_SWEEPER + TAG,
|
CallerLogger.d(M_SWEEPER + TAG,
|
||||||
"getCurrentTask:" + printMessage(getTaskReq) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.PadSendGetTaskReq.getNumber());
|
"getCurrentTask:" + printMessage(getTaskReq) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendGetTaskReq.getNumber());
|
||||||
getAutoPilotControlManager().sendSweeperGetTaskReq(reqNo, getTaskReq);
|
getAutoPilotControlManager().sendSweeperGetTaskReq(reqNo, getTaskReq);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -534,11 +534,11 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
builder.setTaskId(taskId);
|
builder.setTaskId(taskId);
|
||||||
builder.setCode(code);
|
builder.setCode(code);
|
||||||
SweeperTask.StartTaskResp startTaskResp = builder.build();
|
SweeperTask.StartTaskResp startTaskResp = builder.build();
|
||||||
String reqNo = msgTypeAndReqNo.get(SweeperCloudTask.MessageType.CloudPushTask.getNumber());
|
String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTask.getNumber());
|
||||||
|
|
||||||
getAutoPilotControlManager().sendSweeperStartTaskResp(reqNo, startTaskResp);
|
getAutoPilotControlManager().sendSweeperStartTaskResp(reqNo, startTaskResp);
|
||||||
CallerLogger.d(M_SWEEPER + TAG,
|
CallerLogger.d(M_SWEEPER + TAG,
|
||||||
"sendSweeperStartTaskResp:" + printMessage(startTaskResp) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.CloudPushTask.getNumber());
|
"sendSweeperStartTaskResp:" + printMessage(startTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTask.getNumber());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -551,9 +551,9 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
builder.setSubTaskId(subTaskId);
|
builder.setSubTaskId(subTaskId);
|
||||||
builder.setCode(code);
|
builder.setCode(code);
|
||||||
SweeperTaskConfirm.TaskConfirmResp taskConfirmResp = builder.build();
|
SweeperTaskConfirm.TaskConfirmResp taskConfirmResp = builder.build();
|
||||||
String reqNo = msgTypeAndReqNo.get(SweeperCloudTask.MessageType.CloudPushTaskConfirm.getNumber());
|
String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTaskConfirm.getNumber());
|
||||||
CallerLogger.d(M_SWEEPER + TAG,
|
CallerLogger.d(M_SWEEPER + TAG,
|
||||||
"sendSweeperTaskConfirmResp" + printMessage(taskConfirmResp) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.CloudPushTaskConfirm.getNumber());
|
"sendSweeperTaskConfirmResp" + printMessage(taskConfirmResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskConfirm.getNumber());
|
||||||
getAutoPilotControlManager().sendSweeperTaskConfirmResp(reqNo, taskConfirmResp);
|
getAutoPilotControlManager().sendSweeperTaskConfirmResp(reqNo, taskConfirmResp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -569,10 +569,10 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
builder.setTaskId(taskId);
|
builder.setTaskId(taskId);
|
||||||
builder.setCode(code);
|
builder.setCode(code);
|
||||||
SweeperTaskStop.StopTaskResp stopTaskResp = builder.build();
|
SweeperTaskStop.StopTaskResp stopTaskResp = builder.build();
|
||||||
String reqNo = msgTypeAndReqNo.get(SweeperCloudTask.MessageType.CloudPushTaskStop.getNumber());
|
String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTaskStop.getNumber());
|
||||||
|
|
||||||
CallerLogger.d(M_SWEEPER + TAG,
|
CallerLogger.d(M_SWEEPER + TAG,
|
||||||
"sendSweeperStopTaskResp" + printMessage(stopTaskResp) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.CloudPushTaskStop.getNumber());
|
"sendSweeperStopTaskResp" + printMessage(stopTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskStop.getNumber());
|
||||||
getAutoPilotControlManager().sendSweeperStopTaskResp(reqNo, stopTaskResp);
|
getAutoPilotControlManager().sendSweeperStopTaskResp(reqNo, stopTaskResp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -593,7 +593,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
String reqNo = SweeperCloudTaskUtils.getRequestId();
|
String reqNo = SweeperCloudTaskUtils.getRequestId();
|
||||||
|
|
||||||
CallerLogger.d(M_SWEEPER + TAG,
|
CallerLogger.d(M_SWEEPER + TAG,
|
||||||
"sendSweeperAutopilotBootable" + printMessage(isBootable) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.PadSendBootable.getNumber());
|
"sendSweeperAutopilotBootable" + printMessage(isBootable) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendBootable.getNumber());
|
||||||
getAutoPilotControlManager().sendSweeperAutopilotBootable(reqNo, isBootable);
|
getAutoPilotControlManager().sendSweeperAutopilotBootable(reqNo, isBootable);
|
||||||
//SweeperCloudTaskUtils.mockSendCloudBootable();
|
//SweeperCloudTaskUtils.mockSendCloudBootable();
|
||||||
}
|
}
|
||||||
@@ -609,10 +609,10 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM
|
|||||||
builder.setTaskId(taskId);
|
builder.setTaskId(taskId);
|
||||||
builder.setCode(code);
|
builder.setCode(code);
|
||||||
SweeperTaskCloudSuspendResume.BigTaskActionResp resp = builder.build();
|
SweeperTaskCloudSuspendResume.BigTaskActionResp resp = builder.build();
|
||||||
String reqNo = msgTypeAndReqNo.get(SweeperCloudTask.MessageType.CloudPushTaskSuspendResume.getNumber());
|
String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTaskSuspendResume.getNumber());
|
||||||
|
|
||||||
CallerLogger.d(M_SWEEPER + TAG,
|
CallerLogger.d(M_SWEEPER + TAG,
|
||||||
"sendSweeperSuspendResumeTaskResp" + printMessage(resp) + " reqNo:" + reqNo + " messageType:" + SweeperCloudTask.MessageType.CloudPushTaskSuspendResume);
|
"sendSweeperSuspendResumeTaskResp" + printMessage(resp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskSuspendResume);
|
||||||
getAutoPilotControlManager().sendSweeperCloudSuspendResumeTaskResp(reqNo, resp);
|
getAutoPilotControlManager().sendSweeperCloudSuspendResumeTaskResp(reqNo, resp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import com.mogo.och.sweepercloud.callback.SweeperCloudDialogClickListener
|
|||||||
import com.mogo.och.sweepercloud.constant.SweeperConst
|
import com.mogo.och.sweepercloud.constant.SweeperConst
|
||||||
import com.mogo.och.sweepercloud.model.SweeperTaskModel
|
import com.mogo.och.sweepercloud.model.SweeperTaskModel
|
||||||
import com.mogo.och.sweepercloud.ui.dialog.SweeperCloudDialog
|
import com.mogo.och.sweepercloud.ui.dialog.SweeperCloudDialog
|
||||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask.MessageType
|
import com.zhjt.mogo.adas.data.AiCloudTask
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
||||||
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.Location
|
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.Location
|
||||||
@@ -50,7 +50,7 @@ object SweeperCloudTaskUtils {
|
|||||||
* 模拟云控发送任务给pad
|
* 模拟云控发送任务给pad
|
||||||
*/
|
*/
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun mockSendCloudTaskInfo(messageType: MessageType) {
|
fun mockSendCloudTaskInfo(messageType: AiCloudTask.MessageType) {
|
||||||
val builder = TaskInfo.newBuilder()
|
val builder = TaskInfo.newBuilder()
|
||||||
builder.sn = getDriverSn()
|
builder.sn = getDriverSn()
|
||||||
builder.taskId = "10"
|
builder.taskId = "10"
|
||||||
@@ -169,7 +169,7 @@ object SweeperCloudTaskUtils {
|
|||||||
builder.taskId = "10"
|
builder.taskId = "10"
|
||||||
builder.subTaskId = "1"
|
builder.subTaskId = "1"
|
||||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskConfirm(
|
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskConfirm(
|
||||||
MessageType.CloudPushTaskConfirm, "${System.currentTimeMillis()}",
|
AiCloudTask.MessageType.CloudPushTaskConfirm, "${System.currentTimeMillis()}",
|
||||||
System.currentTimeMillis(), builder.build()
|
System.currentTimeMillis(), builder.build()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -185,7 +185,7 @@ object SweeperCloudTaskUtils {
|
|||||||
builder.subTaskId = "1"
|
builder.subTaskId = "1"
|
||||||
builder.taskStatus = SweeperCommon.TaskStatus.RUNNING
|
builder.taskStatus = SweeperCommon.TaskStatus.RUNNING
|
||||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStatus(
|
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStatus(
|
||||||
MessageType.CloudPushTaskStatus, "${System.currentTimeMillis()}",
|
AiCloudTask.MessageType.CloudPushTaskStatus, "${System.currentTimeMillis()}",
|
||||||
System.currentTimeMillis(), builder.build()
|
System.currentTimeMillis(), builder.build()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -200,7 +200,7 @@ object SweeperCloudTaskUtils {
|
|||||||
builder.taskId = "10"
|
builder.taskId = "10"
|
||||||
builder.type = SweeperTaskStop.StopTaskType.ADVANCE
|
builder.type = SweeperTaskStop.StopTaskType.ADVANCE
|
||||||
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStop(
|
SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStop(
|
||||||
MessageType.CloudPushTaskStop, "${System.currentTimeMillis()}",
|
AiCloudTask.MessageType.CloudPushTaskStop, "${System.currentTimeMillis()}",
|
||||||
System.currentTimeMillis(), builder.build()
|
System.currentTimeMillis(), builder.build()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -216,7 +216,7 @@ object SweeperCloudTaskUtils {
|
|||||||
builder.taskStatus = SweeperCommon.TaskStatus.FINISHED
|
builder.taskStatus = SweeperCommon.TaskStatus.FINISHED
|
||||||
builder.systemTime = System.currentTimeMillis()
|
builder.systemTime = System.currentTimeMillis()
|
||||||
SweeperTaskModel.getInstance().onSweeperFutianCloudBigTaskStatus(
|
SweeperTaskModel.getInstance().onSweeperFutianCloudBigTaskStatus(
|
||||||
MessageType.CloudPushBigTaskStatus, "${System.currentTimeMillis()}",
|
AiCloudTask.MessageType.CloudPushBigTaskStatus, "${System.currentTimeMillis()}",
|
||||||
System.currentTimeMillis(), builder.build()
|
System.currentTimeMillis(), builder.build()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -233,7 +233,7 @@ object SweeperCloudTaskUtils {
|
|||||||
builder.code = SweeperCommon.Code.SUCCEED
|
builder.code = SweeperCommon.Code.SUCCEED
|
||||||
UiThreadHandler.getsUiHandler().postDelayed({
|
UiThreadHandler.getsUiHandler().postDelayed({
|
||||||
SweeperTaskModel.getInstance().onSweeperFutianCloudBootable(
|
SweeperTaskModel.getInstance().onSweeperFutianCloudBootable(
|
||||||
MessageType.PadSendBootable, "${System.currentTimeMillis()}",
|
AiCloudTask.MessageType.PadSendBootable, "${System.currentTimeMillis()}",
|
||||||
System.currentTimeMillis(), builder.build()
|
System.currentTimeMillis(), builder.build()
|
||||||
)
|
)
|
||||||
}, 10000)
|
}, 10000)
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop
|
|||||||
import com.zhjt.service.chain.ChainLog
|
import com.zhjt.service.chain.ChainLog
|
||||||
import io.netty.channel.Channel
|
import io.netty.channel.Channel
|
||||||
import mogo.telematics.pad.MessagePad
|
import mogo.telematics.pad.MessagePad
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
@@ -1093,6 +1094,13 @@ class MoGoAutopilotControlProvider :
|
|||||||
return AdasManager.getInstance().sendSweeperCloudSuspendResumeTaskResp(reqNo, bigTaskActionResp)
|
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) {
|
override fun setIsDrawPointCloud(isDrawPointCloud: Boolean) {
|
||||||
if (isDrawPointCloud) {
|
if (isDrawPointCloud) {
|
||||||
AdasManager.getInstance().subscribeInterface(
|
AdasManager.getInstance().subscribeInterface(
|
||||||
|
|||||||
@@ -56,9 +56,9 @@ import com.mogo.support.obu.ObuScene
|
|||||||
import com.zhidao.support.adas.high.OnAdasListener
|
import com.zhidao.support.adas.high.OnAdasListener
|
||||||
import com.zhjt.mogo.adas.data.bean.AdasParam
|
import com.zhjt.mogo.adas.data.bean.AdasParam
|
||||||
import com.zhidao.support.adas.high.common.ProtocolStatus
|
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.AutopilotStatistics
|
||||||
import com.zhjt.mogo.adas.data.bean.UnableAutopilotReason
|
import com.zhjt.mogo.adas.data.bean.UnableAutopilotReason
|
||||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask
|
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
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.SweeperTask
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.s_r.SweeperTaskSuspendResume
|
import com.zhjt.mogo.adas.data.sweeper.task.s_r.SweeperTaskSuspendResume
|
||||||
@@ -73,6 +73,7 @@ import mogo.telematics.pad.MessagePad
|
|||||||
import mogo.telematics.pad.MessagePad.TrackedObject
|
import mogo.telematics.pad.MessagePad.TrackedObject
|
||||||
import mogo.v2x.MogoV2X
|
import mogo.v2x.MogoV2X
|
||||||
import mogo.v2x.RoadOverviewEvents
|
import mogo.v2x.RoadOverviewEvents
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelTaskProcessNoticeOuterClass
|
||||||
import mogo_msg.MogoReportMsg
|
import mogo_msg.MogoReportMsg
|
||||||
import perception.TrafficLightOuterClass
|
import perception.TrafficLightOuterClass
|
||||||
import planning.RoboSweeperTaskIndexOuterClass
|
import planning.RoboSweeperTaskIndexOuterClass
|
||||||
@@ -576,7 +577,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
|||||||
*/
|
*/
|
||||||
override fun onSweeperFutianCloudTask(
|
override fun onSweeperFutianCloudTask(
|
||||||
header: MessagePad.Header,
|
header: MessagePad.Header,
|
||||||
messageType: SweeperCloudTask.MessageType,
|
messageType: AiCloudTask.MessageType,
|
||||||
reqNo: String?,
|
reqNo: String?,
|
||||||
sysTime: Long,
|
sysTime: Long,
|
||||||
taskInfo: SweeperTask.TaskInfo?
|
taskInfo: SweeperTask.TaskInfo?
|
||||||
@@ -600,7 +601,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
|||||||
*/
|
*/
|
||||||
override fun onSweeperFutianCloudTaskConfirm(
|
override fun onSweeperFutianCloudTaskConfirm(
|
||||||
header: MessagePad.Header,
|
header: MessagePad.Header,
|
||||||
messageType: SweeperCloudTask.MessageType,
|
messageType: AiCloudTask.MessageType,
|
||||||
reqNo: String?,
|
reqNo: String?,
|
||||||
sysTime: Long,
|
sysTime: Long,
|
||||||
taskConfirm: SweeperTaskConfirm.TaskConfirm?
|
taskConfirm: SweeperTaskConfirm.TaskConfirm?
|
||||||
@@ -624,7 +625,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
|||||||
*/
|
*/
|
||||||
override fun onSweeperFutianCloudTaskStatus(
|
override fun onSweeperFutianCloudTaskStatus(
|
||||||
header: MessagePad.Header,
|
header: MessagePad.Header,
|
||||||
messageType: SweeperCloudTask.MessageType,
|
messageType: AiCloudTask.MessageType,
|
||||||
reqNo: String?,
|
reqNo: String?,
|
||||||
sysTime: Long,
|
sysTime: Long,
|
||||||
taskStatusPush: SweeperTaskStatus.TaskStatusPush?
|
taskStatusPush: SweeperTaskStatus.TaskStatusPush?
|
||||||
@@ -648,7 +649,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
|||||||
*/
|
*/
|
||||||
override fun onSweeperFutianCloudTaskStop(
|
override fun onSweeperFutianCloudTaskStop(
|
||||||
header: MessagePad.Header,
|
header: MessagePad.Header,
|
||||||
messageType: SweeperCloudTask.MessageType,
|
messageType: AiCloudTask.MessageType,
|
||||||
reqNo: String?,
|
reqNo: String?,
|
||||||
sysTime: Long,
|
sysTime: Long,
|
||||||
stopTaskReq: SweeperTaskStop.StopTaskReq?
|
stopTaskReq: SweeperTaskStop.StopTaskReq?
|
||||||
@@ -673,7 +674,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
|||||||
*/
|
*/
|
||||||
override fun onSweeperFutianCloudTaskSuspendResume(
|
override fun onSweeperFutianCloudTaskSuspendResume(
|
||||||
header: MessagePad.Header,
|
header: MessagePad.Header,
|
||||||
messageType: SweeperCloudTask.MessageType,
|
messageType: AiCloudTask.MessageType,
|
||||||
reqNo: String?,
|
reqNo: String?,
|
||||||
sysTime: Long,
|
sysTime: Long,
|
||||||
suspendResumeTaskResp: SweeperTaskSuspendResume.SuspendResumeTaskResp?
|
suspendResumeTaskResp: SweeperTaskSuspendResume.SuspendResumeTaskResp?
|
||||||
@@ -697,7 +698,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
|||||||
*/
|
*/
|
||||||
override fun onSweeperFutianCloudBootable(
|
override fun onSweeperFutianCloudBootable(
|
||||||
header: MessagePad.Header,
|
header: MessagePad.Header,
|
||||||
messageType: SweeperCloudTask.MessageType,
|
messageType: AiCloudTask.MessageType,
|
||||||
reqNo: String?,
|
reqNo: String?,
|
||||||
sysTime: Long,
|
sysTime: Long,
|
||||||
isBootableResp: SweeperBootable.IsBootableResp?
|
isBootableResp: SweeperBootable.IsBootableResp?
|
||||||
@@ -721,7 +722,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
|||||||
*/
|
*/
|
||||||
override fun onSweeperFutianCloudBigTaskStatus(
|
override fun onSweeperFutianCloudBigTaskStatus(
|
||||||
header: MessagePad.Header,
|
header: MessagePad.Header,
|
||||||
messageType: SweeperCloudTask.MessageType,
|
messageType: AiCloudTask.MessageType,
|
||||||
reqNo: String?,
|
reqNo: String?,
|
||||||
sysTime: Long,
|
sysTime: Long,
|
||||||
bigTaskStatusPush: SweeperBigTaskStatus.BigTaskStatusPush?
|
bigTaskStatusPush: SweeperBigTaskStatus.BigTaskStatusPush?
|
||||||
@@ -743,17 +744,37 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param bigTaskActionPush 数据
|
* @param bigTaskActionPush 数据
|
||||||
*/
|
*/
|
||||||
override fun onSweeperFutianCloudTaskCloudSuspendResume(header: MessagePad.Header, messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskActionPush: SweeperTaskCloudSuspendResume.BigTaskActionPush?) {
|
override fun onSweeperFutianCloudTaskCloudSuspendResume(header: MessagePad.Header, messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskActionPush: SweeperTaskCloudSuspendResume.BigTaskActionPush?) {
|
||||||
CallerSweeperFutianCloudTaskListenerManager.invokeSweeperFutianCloudTaskCloudSuspendResume(messageType, reqNo, sysTime, 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 header 头
|
||||||
* @param bytes 原始数据
|
* @param bytes 原始数据
|
||||||
*/
|
*/
|
||||||
override fun onSweeperFutianCloudTaskUnknown(header: MessagePad.Header, bytes: ByteArray) {
|
override fun onAiCloudTaskUnknown(header: MessagePad.Header, bytes: ByteArray) {
|
||||||
CallerSweeperFutianCloudTaskListenerManager.invokeSweeperFutianCloudTaskUnknown(bytes)
|
CallerSweeperFutianCloudTaskListenerManager.invokeSweeperFutianCloudTaskUnknown(bytes)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.zhjt.mogo.adas.data.sweeper.task.confirm.SweeperTaskConfirm.TaskConfi
|
|||||||
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop.StopTaskResp
|
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop.StopTaskResp
|
||||||
import com.zhjt.mogo.adas.data.AdasConstants
|
import com.zhjt.mogo.adas.data.AdasConstants
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume.BigTaskActionResp
|
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume.BigTaskActionResp
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xiaoyuzhou
|
* @author xiaoyuzhou
|
||||||
@@ -458,6 +459,15 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider {
|
|||||||
*/
|
*/
|
||||||
fun sendSweeperAutopilotBootable(reqNo: String, isBootable: IsBootable): Boolean
|
fun sendSweeperAutopilotBootable(reqNo: String, isBootable: IsBootable): Boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PAD发起平行驾驶请求
|
||||||
|
*
|
||||||
|
* @param reqNo 请求编号(目前没有传递需求,可以传null)
|
||||||
|
* @param parallelRequest 参数
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
fun sendParallelDrivingReq(reqNo: String, parallelRequest: ParallelDrivingRequest.ParallelRequest): Boolean
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pad收到云端下发暂停恢复响应
|
* pad收到云端下发暂停恢复响应
|
||||||
* 10、云端下发任务暂停/恢复指令到pad(type: 100010)sweeper_task_cloud_suspend_resume.proto/BigTaskActionResp
|
* 10、云端下发任务暂停/恢复指令到pad(type: 100010)sweeper_task_cloud_suspend_resume.proto/BigTaskActionResp
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mogo.eagle.core.function.api.autopilot
|
||||||
|
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelTaskProcessNoticeOuterClass
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平行驾驶状态
|
||||||
|
*/
|
||||||
|
interface IMoGoParallelDrivingStatusListener {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 需要判空
|
||||||
|
*/
|
||||||
|
fun onParallelDrivingResp(
|
||||||
|
parallelTaskProcessNotice: ParallelTaskProcessNoticeOuterClass.ParallelTaskProcessNotice?
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.mogo.eagle.core.function.api.autopilot
|
package com.mogo.eagle.core.function.api.autopilot
|
||||||
|
|
||||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask
|
import com.zhjt.mogo.adas.data.AiCloudTask
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable.IsBootableResp
|
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable.IsBootableResp
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask
|
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus.BigTaskStatusPush
|
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus.BigTaskStatusPush
|
||||||
@@ -24,7 +24,7 @@ interface IMoGoSweeperFutianCloudTaskListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param taskInfo 数据
|
* @param taskInfo 数据
|
||||||
*/
|
*/
|
||||||
fun onSweeperFutianCloudTask(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, taskInfo: SweeperTask.TaskInfo?)
|
fun onSweeperFutianCloudTask(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, taskInfo: SweeperTask.TaskInfo?)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto
|
* 2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto
|
||||||
@@ -34,7 +34,7 @@ interface IMoGoSweeperFutianCloudTaskListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param taskConfirm 数据
|
* @param taskConfirm 数据
|
||||||
*/
|
*/
|
||||||
fun onSweeperFutianCloudTaskConfirm(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, taskConfirm: TaskConfirm?)
|
fun onSweeperFutianCloudTaskConfirm(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, taskConfirm: TaskConfirm?)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 3、云端下发任务状态到pad(type:100003)-> sweeper_task_status.proto
|
* 3、云端下发任务状态到pad(type:100003)-> sweeper_task_status.proto
|
||||||
@@ -44,7 +44,7 @@ interface IMoGoSweeperFutianCloudTaskListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param taskStatusPush 数据
|
* @param taskStatusPush 数据
|
||||||
*/
|
*/
|
||||||
fun onSweeperFutianCloudTaskStatus(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, taskStatusPush: TaskStatusPush?)
|
fun onSweeperFutianCloudTaskStatus(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, taskStatusPush: TaskStatusPush?)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto
|
* 4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto
|
||||||
@@ -54,7 +54,7 @@ interface IMoGoSweeperFutianCloudTaskListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param stopTaskReq 数据
|
* @param stopTaskReq 数据
|
||||||
*/
|
*/
|
||||||
fun onSweeperFutianCloudTaskStop(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, stopTaskReq: StopTaskReq?)
|
fun onSweeperFutianCloudTaskStop(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, stopTaskReq: StopTaskReq?)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto
|
* 5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto
|
||||||
@@ -65,7 +65,7 @@ interface IMoGoSweeperFutianCloudTaskListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param suspendResumeTaskResp 数据
|
* @param suspendResumeTaskResp 数据
|
||||||
*/
|
*/
|
||||||
fun onSweeperFutianCloudTaskSuspendResume(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, suspendResumeTaskResp: SuspendResumeTaskResp?)
|
fun onSweeperFutianCloudTaskSuspendResume(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, suspendResumeTaskResp: SuspendResumeTaskResp?)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_autopilot.proto
|
* 8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_autopilot.proto
|
||||||
@@ -75,7 +75,7 @@ interface IMoGoSweeperFutianCloudTaskListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param isBootableResp 数据
|
* @param isBootableResp 数据
|
||||||
*/
|
*/
|
||||||
fun onSweeperFutianCloudBootable(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, isBootableResp: IsBootableResp?)
|
fun onSweeperFutianCloudBootable(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, isBootableResp: IsBootableResp?)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
* 9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
||||||
@@ -85,7 +85,7 @@ interface IMoGoSweeperFutianCloudTaskListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param bigTaskStatusPush 数据
|
* @param bigTaskStatusPush 数据
|
||||||
*/
|
*/
|
||||||
fun onSweeperFutianCloudBigTaskStatus(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskStatusPush: BigTaskStatusPush?)
|
fun onSweeperFutianCloudBigTaskStatus(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskStatusPush: BigTaskStatusPush?)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 10、云端下发任务暂停/恢复指令到pad(type: 100010)-> sweeper_task_cloud_suspend_resume.proto
|
* 10、云端下发任务暂停/恢复指令到pad(type: 100010)-> sweeper_task_cloud_suspend_resume.proto
|
||||||
@@ -95,7 +95,7 @@ interface IMoGoSweeperFutianCloudTaskListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param bigTaskActionPush 数据
|
* @param bigTaskActionPush 数据
|
||||||
*/
|
*/
|
||||||
fun onSweeperFutianCloudTaskCloudSuspendResume(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskActionPush: BigTaskActionPush?)
|
fun onSweeperFutianCloudTaskCloudSuspendResume(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskActionPush: BigTaskActionPush?)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 清扫车云端任务未知类型
|
* 清扫车云端任务未知类型
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import com.zhjt.mogo.adas.data.AdasConstants
|
|||||||
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume.BigTaskActionResp
|
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume.BigTaskActionResp
|
||||||
import com.zhjt.service.chain.ChainLog
|
import com.zhjt.service.chain.ChainLog
|
||||||
import com.zhjt.service_biz.BizConfig
|
import com.zhjt.service_biz.BizConfig
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
|
|
||||||
|
|
||||||
@@ -642,6 +643,17 @@ object CallerAutoPilotControlManager {
|
|||||||
return providerApi?.sendSweeperCloudSuspendResumeTaskResp(reqNo, bigTaskActionResp) ?: false
|
return providerApi?.sendSweeperCloudSuspendResumeTaskResp(reqNo, bigTaskActionResp) ?: false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PAD发起平行驾驶请求
|
||||||
|
*
|
||||||
|
* @param reqNo 请求编号(目前没有传递需求,可以传null)
|
||||||
|
* @param parallelRequest 参数
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
fun sendParallelDrivingReq( reqNo: String, parallelRequest: ParallelDrivingRequest.ParallelRequest): Boolean {
|
||||||
|
return providerApi?.sendParallelDrivingReq(reqNo, parallelRequest) ?: false
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 打开点云绘制
|
* 打开点云绘制
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.mogo.eagle.core.function.call.autopilot
|
||||||
|
|
||||||
|
import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingStatusListener
|
||||||
|
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||||
|
import mogo.telematics.pad.MessagePad
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelTaskProcessNoticeOuterClass
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平行驾驶状态回调,云端说有状态变化就回调
|
||||||
|
*/
|
||||||
|
object CallerParallelDrivingListenerManager : CallerBase<IMoGoParallelDrivingStatusListener>() {
|
||||||
|
|
||||||
|
|
||||||
|
fun invokeParallelDrivingListener(parallelTaskProcessNotice: ParallelTaskProcessNoticeOuterClass.ParallelTaskProcessNotice?) {
|
||||||
|
M_LISTENERS.forEach {
|
||||||
|
val listener = it.value
|
||||||
|
listener.onParallelDrivingResp(parallelTaskProcessNotice)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@ package com.mogo.eagle.core.function.call.autopilot
|
|||||||
|
|
||||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoSweeperFutianCloudTaskListener
|
import com.mogo.eagle.core.function.api.autopilot.IMoGoSweeperFutianCloudTaskListener
|
||||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask
|
import com.zhjt.mogo.adas.data.AiCloudTask
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
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.SweeperTask
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.s_r.SweeperTaskSuspendResume
|
import com.zhjt.mogo.adas.data.sweeper.task.s_r.SweeperTaskSuspendResume
|
||||||
@@ -26,7 +26,7 @@ object CallerSweeperFutianCloudTaskListenerManager : CallerBase<IMoGoSweeperFuti
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param taskInfo 数据
|
* @param taskInfo 数据
|
||||||
*/
|
*/
|
||||||
fun invokeSweeperFutianCloudTask(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, taskInfo: SweeperTask.TaskInfo?) {
|
fun invokeSweeperFutianCloudTask(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, taskInfo: SweeperTask.TaskInfo?) {
|
||||||
M_LISTENERS.forEach {
|
M_LISTENERS.forEach {
|
||||||
val listener = it.value
|
val listener = it.value
|
||||||
listener.onSweeperFutianCloudTask(messageType, reqNo, sysTime, taskInfo)
|
listener.onSweeperFutianCloudTask(messageType, reqNo, sysTime, taskInfo)
|
||||||
@@ -41,7 +41,7 @@ object CallerSweeperFutianCloudTaskListenerManager : CallerBase<IMoGoSweeperFuti
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param taskConfirm 数据
|
* @param taskConfirm 数据
|
||||||
*/
|
*/
|
||||||
fun invokeSweeperFutianCloudTaskConfirm(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, taskConfirm: SweeperTaskConfirm.TaskConfirm?) {
|
fun invokeSweeperFutianCloudTaskConfirm(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, taskConfirm: SweeperTaskConfirm.TaskConfirm?) {
|
||||||
M_LISTENERS.forEach {
|
M_LISTENERS.forEach {
|
||||||
val listener = it.value
|
val listener = it.value
|
||||||
listener.onSweeperFutianCloudTaskConfirm(messageType, reqNo, sysTime, taskConfirm)
|
listener.onSweeperFutianCloudTaskConfirm(messageType, reqNo, sysTime, taskConfirm)
|
||||||
@@ -56,7 +56,7 @@ object CallerSweeperFutianCloudTaskListenerManager : CallerBase<IMoGoSweeperFuti
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param taskStatusPush 数据
|
* @param taskStatusPush 数据
|
||||||
*/
|
*/
|
||||||
fun invokeSweeperFutianCloudTaskStatus(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, taskStatusPush: SweeperTaskStatus.TaskStatusPush?) {
|
fun invokeSweeperFutianCloudTaskStatus(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, taskStatusPush: SweeperTaskStatus.TaskStatusPush?) {
|
||||||
M_LISTENERS.forEach {
|
M_LISTENERS.forEach {
|
||||||
val listener = it.value
|
val listener = it.value
|
||||||
listener.onSweeperFutianCloudTaskStatus(messageType, reqNo, sysTime, taskStatusPush)
|
listener.onSweeperFutianCloudTaskStatus(messageType, reqNo, sysTime, taskStatusPush)
|
||||||
@@ -71,7 +71,7 @@ object CallerSweeperFutianCloudTaskListenerManager : CallerBase<IMoGoSweeperFuti
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param stopTaskReq 数据
|
* @param stopTaskReq 数据
|
||||||
*/
|
*/
|
||||||
fun invokeSweeperFutianCloudTaskStop(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, stopTaskReq: SweeperTaskStop.StopTaskReq?) {
|
fun invokeSweeperFutianCloudTaskStop(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, stopTaskReq: SweeperTaskStop.StopTaskReq?) {
|
||||||
M_LISTENERS.forEach {
|
M_LISTENERS.forEach {
|
||||||
val listener = it.value
|
val listener = it.value
|
||||||
listener.onSweeperFutianCloudTaskStop(messageType, reqNo, sysTime, stopTaskReq)
|
listener.onSweeperFutianCloudTaskStop(messageType, reqNo, sysTime, stopTaskReq)
|
||||||
@@ -87,7 +87,7 @@ object CallerSweeperFutianCloudTaskListenerManager : CallerBase<IMoGoSweeperFuti
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param suspendResumeTaskResp 数据
|
* @param suspendResumeTaskResp 数据
|
||||||
*/
|
*/
|
||||||
fun invokeSweeperFutianCloudTaskSuspendResume(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, suspendResumeTaskResp: SweeperTaskSuspendResume.SuspendResumeTaskResp?) {
|
fun invokeSweeperFutianCloudTaskSuspendResume(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, suspendResumeTaskResp: SweeperTaskSuspendResume.SuspendResumeTaskResp?) {
|
||||||
M_LISTENERS.forEach {
|
M_LISTENERS.forEach {
|
||||||
val listener = it.value
|
val listener = it.value
|
||||||
listener.onSweeperFutianCloudTaskSuspendResume(messageType, reqNo, sysTime, suspendResumeTaskResp)
|
listener.onSweeperFutianCloudTaskSuspendResume(messageType, reqNo, sysTime, suspendResumeTaskResp)
|
||||||
@@ -102,7 +102,7 @@ object CallerSweeperFutianCloudTaskListenerManager : CallerBase<IMoGoSweeperFuti
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param isBootableResp 数据
|
* @param isBootableResp 数据
|
||||||
*/
|
*/
|
||||||
fun invokeSweeperFutianCloudBootable(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, isBootableResp: SweeperBootable.IsBootableResp?) {
|
fun invokeSweeperFutianCloudBootable(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, isBootableResp: SweeperBootable.IsBootableResp?) {
|
||||||
M_LISTENERS.forEach {
|
M_LISTENERS.forEach {
|
||||||
val listener = it.value
|
val listener = it.value
|
||||||
listener.onSweeperFutianCloudBootable(messageType, reqNo, sysTime, isBootableResp)
|
listener.onSweeperFutianCloudBootable(messageType, reqNo, sysTime, isBootableResp)
|
||||||
@@ -117,7 +117,7 @@ object CallerSweeperFutianCloudTaskListenerManager : CallerBase<IMoGoSweeperFuti
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param bigTaskStatusPush 数据
|
* @param bigTaskStatusPush 数据
|
||||||
*/
|
*/
|
||||||
fun invokeSweeperFutianCloudBigTaskStatus(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskStatusPush: SweeperBigTaskStatus.BigTaskStatusPush?) {
|
fun invokeSweeperFutianCloudBigTaskStatus(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskStatusPush: SweeperBigTaskStatus.BigTaskStatusPush?) {
|
||||||
M_LISTENERS.forEach {
|
M_LISTENERS.forEach {
|
||||||
val listener = it.value
|
val listener = it.value
|
||||||
listener.onSweeperFutianCloudBigTaskStatus(messageType, reqNo, sysTime, bigTaskStatusPush)
|
listener.onSweeperFutianCloudBigTaskStatus(messageType, reqNo, sysTime, bigTaskStatusPush)
|
||||||
@@ -132,7 +132,7 @@ object CallerSweeperFutianCloudTaskListenerManager : CallerBase<IMoGoSweeperFuti
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param bigTaskActionPush 数据
|
* @param bigTaskActionPush 数据
|
||||||
*/
|
*/
|
||||||
fun invokeSweeperFutianCloudTaskCloudSuspendResume(messageType: SweeperCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskActionPush: SweeperTaskCloudSuspendResume.BigTaskActionPush?) {
|
fun invokeSweeperFutianCloudTaskCloudSuspendResume(messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskActionPush: SweeperTaskCloudSuspendResume.BigTaskActionPush?) {
|
||||||
M_LISTENERS.forEach {
|
M_LISTENERS.forEach {
|
||||||
val listener = it.value
|
val listener = it.value
|
||||||
listener.onSweeperFutianCloudTaskCloudSuspendResume(messageType, reqNo, sysTime, bigTaskActionPush)
|
listener.onSweeperFutianCloudTaskCloudSuspendResume(messageType, reqNo, sysTime, bigTaskActionPush)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
package com.zhjt.mogo.adas.data.sweeper;
|
package com.zhjt.mogo.adas.data;
|
||||||
|
|
||||||
//清扫车云端任务调度
|
//清扫车云端任务调度
|
||||||
|
|
||||||
@@ -17,11 +17,13 @@ enum MessageType
|
|||||||
PadSendBootable = 100008; //8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_bootable.proto
|
PadSendBootable = 100008; //8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_bootable.proto
|
||||||
CloudPushBigTaskStatus = 100009; //9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
CloudPushBigTaskStatus = 100009; //9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
||||||
CloudPushTaskSuspendResume = 100010; //10、云端下发任务暂停/恢复指令到pad(type: 100010)-> sweeper_task_cloud_suspend_resume.proto
|
CloudPushTaskSuspendResume = 100010; //10、云端下发任务暂停/恢复指令到pad(type: 100010)-> sweeper_task_cloud_suspend_resume.proto
|
||||||
|
|
||||||
|
ParallelDrivingCmd = 200001; //无人化场景,平行驾驶请求相关指令及状态反馈, 云控<->鹰眼双向透传
|
||||||
}
|
}
|
||||||
|
|
||||||
//云下行消息
|
//云下行消息
|
||||||
//PAD上行消息
|
//PAD上行消息
|
||||||
message SweeperMessage
|
message AiCloudPadMessage
|
||||||
{
|
{
|
||||||
uint32 msgType = 1; //消息类型,响应请求时,使用对应请求的消息类型
|
uint32 msgType = 1; //消息类型,响应请求时,使用对应请求的消息类型
|
||||||
bytes payload = 2; //消息内容
|
bytes payload = 2; //消息内容
|
||||||
@@ -72,6 +72,7 @@ enum MessageType
|
|||||||
MsgTypeFSMStatusReasonQueryReq = 0x10123; //fsm状态原因查询
|
MsgTypeFSMStatusReasonQueryReq = 0x10123; //fsm状态原因查询
|
||||||
MsgTypeFSMStatusReasonQueryResp = 0x10124; //fsm状态原因查询应答
|
MsgTypeFSMStatusReasonQueryResp = 0x10124; //fsm状态原因查询应答
|
||||||
MsgTypeGetDebugInfo = 0x10125; //debug信息查询 pad->telematics
|
MsgTypeGetDebugInfo = 0x10125; //debug信息查询 pad->telematics
|
||||||
|
MsgTypeParallelDrivingCmd = 0x10126; //无人化场景,平行驾驶请求相关指令及状态反馈, 云控<->鹰眼双向透传
|
||||||
}
|
}
|
||||||
|
|
||||||
message Header
|
message Header
|
||||||
@@ -713,3 +714,7 @@ message SessionInfo
|
|||||||
|
|
||||||
//message definition for MsgTypeSSMState
|
//message definition for MsgTypeSSMState
|
||||||
//refer to ssm_info.proto for details
|
//refer to ssm_info.proto for details
|
||||||
|
|
||||||
|
//message definition for MsgTypeParallelDrivingCmd
|
||||||
|
//查看云端和鹰眼的接口
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package mogo.yycp.paralleldriving.protocol;
|
||||||
|
option java_package = "mogo.yycp.paralleldriving.protocol";
|
||||||
|
|
||||||
|
message ParallelRequest {
|
||||||
|
string sn = 1;
|
||||||
|
int32 type = 2; //类型:1,预接管,2,鹰眼请求 3 遇困,4,自检异常
|
||||||
|
int32 takeover = 3; //1接管请求,2取消请求接管
|
||||||
|
string code = 4 ; // 请求上报的类型,如:"PAD_ACTIVE",用于描述type的具体内容,不同的code可以对应同一个type
|
||||||
|
string reason = 5; // 具体的请求原因描述,如:因底盘消息掉帧强退自动驾驶
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package mogo.yycp.paralleldriving.protocol;
|
||||||
|
option java_package = "mogo.yycp.paralleldriving.protocol";
|
||||||
|
|
||||||
|
message ParallelTaskProcessNotice {
|
||||||
|
string code = 1; // 消息code: START_SYNC ; EXIT_SYNC ; UNABLE_TAKEOVER ; EXCEPTION_EXIT_SYNC ; TASK_REJECTED ; PARALLEL_EXCEPTION_MANUAL_DRIVING ; EXCEPTION_EXIT_PARALLEL_DRIVING
|
||||||
|
string content = 2; //消息具体内容:进入同步状态 ; 同步结束 ; 无法接管 ; 同步异常结束 ; 任务已被拒绝 ; 异常请人工驾驶 ; 平行驾驶异常结束
|
||||||
|
}
|
||||||
@@ -45,9 +45,9 @@ import com.zhidao.support.adas.high.subscribe.SubscribeInterface;
|
|||||||
import com.zhidao.support.adas.high.subscribe.SubscribeInterfaceOptions;
|
import com.zhidao.support.adas.high.subscribe.SubscribeInterfaceOptions;
|
||||||
import com.zhidao.support.adas.high.thread.DispatchHandler;
|
import com.zhidao.support.adas.high.thread.DispatchHandler;
|
||||||
import com.zhjt.mogo.adas.data.AdasConstants;
|
import com.zhjt.mogo.adas.data.AdasConstants;
|
||||||
|
import com.zhjt.mogo.adas.data.AiCloudTask;
|
||||||
import com.zhjt.mogo.adas.data.bean.AdasParam;
|
import com.zhjt.mogo.adas.data.bean.AdasParam;
|
||||||
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics;
|
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask;
|
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable;
|
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.SweeperTask;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume;
|
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume;
|
||||||
@@ -71,6 +71,7 @@ import common.HeaderOuterClass;
|
|||||||
import function_state_management.FSMStatusReasonQueryOuterClass;
|
import function_state_management.FSMStatusReasonQueryOuterClass;
|
||||||
import mogo.telematics.ParamSetCmdOuterClass;
|
import mogo.telematics.ParamSetCmdOuterClass;
|
||||||
import mogo.telematics.pad.MessagePad;
|
import mogo.telematics.pad.MessagePad;
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest;
|
||||||
import okio.ByteString;
|
import okio.ByteString;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1889,15 +1890,16 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送清扫车指令到云控
|
* 发送云控指令
|
||||||
*
|
*
|
||||||
* @param messageType 消息类型
|
* @param padMessageType PAD到域控消息类型
|
||||||
* @param reqNo 请求编号
|
* @param messageType PAD到AI云消息类型
|
||||||
* @param payload 有效数据
|
* @param reqNo 请求编号
|
||||||
|
* @param payload 有效数据
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
private boolean sendSweeperCloudTaskCmd(@NonNull SweeperCloudTask.MessageType messageType, @NonNull String reqNo, @NonNull com.google.protobuf.ByteString payload) {
|
private boolean sendAiCloudTaskCmd(@NonNull MessageType padMessageType, @NonNull AiCloudTask.MessageType messageType, @NonNull String reqNo, @NonNull com.google.protobuf.ByteString payload) {
|
||||||
SweeperCloudTask.SweeperMessage.Builder builder = SweeperCloudTask.SweeperMessage.newBuilder()
|
AiCloudTask.AiCloudPadMessage.Builder builder = AiCloudTask.AiCloudPadMessage.newBuilder()
|
||||||
.setMsgType(messageType.getNumber())
|
.setMsgType(messageType.getNumber())
|
||||||
.setSysTime(System.currentTimeMillis());
|
.setSysTime(System.currentTimeMillis());
|
||||||
if (!TextUtils.isEmpty(reqNo)) {
|
if (!TextUtils.isEmpty(reqNo)) {
|
||||||
@@ -1906,8 +1908,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
if (payload != null && !payload.isEmpty()) {
|
if (payload != null && !payload.isEmpty()) {
|
||||||
builder.setPayload(payload);
|
builder.setPayload(payload);
|
||||||
}
|
}
|
||||||
SweeperCloudTask.SweeperMessage message = builder.build();
|
AiCloudTask.AiCloudPadMessage message = builder.build();
|
||||||
return sendPBMessage(MessageType.TYPE_SEND_SWEEPER_CLOUD_TASK_CMD.typeCode, message.toByteArray());
|
return sendPBMessage(padMessageType.typeCode, message.toByteArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1920,7 +1922,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean sendSweeperStartTaskResp(@NonNull String reqNo, @NonNull SweeperTask.StartTaskResp startTaskResp) {
|
public boolean sendSweeperStartTaskResp(@NonNull String reqNo, @NonNull SweeperTask.StartTaskResp startTaskResp) {
|
||||||
return sendSweeperCloudTaskCmd(SweeperCloudTask.MessageType.CloudPushTask, reqNo, startTaskResp.toByteString());
|
return sendAiCloudTaskCmd(MessageType.TYPE_SEND_SWEEPER_CLOUD_TASK_CMD, AiCloudTask.MessageType.CloudPushTask, reqNo, startTaskResp.toByteString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1933,7 +1935,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean sendSweeperTaskConfirmResp(@NonNull String reqNo, @NonNull SweeperTaskConfirm.TaskConfirmResp taskConfirmResp) {
|
public boolean sendSweeperTaskConfirmResp(@NonNull String reqNo, @NonNull SweeperTaskConfirm.TaskConfirmResp taskConfirmResp) {
|
||||||
return sendSweeperCloudTaskCmd(SweeperCloudTask.MessageType.CloudPushTaskConfirm, reqNo, taskConfirmResp.toByteString());
|
return sendAiCloudTaskCmd(MessageType.TYPE_SEND_SWEEPER_CLOUD_TASK_CMD, AiCloudTask.MessageType.CloudPushTaskConfirm, reqNo, taskConfirmResp.toByteString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1946,7 +1948,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean sendSweeperStopTaskResp(@NonNull String reqNo, @NonNull SweeperTaskStop.StopTaskResp stopTaskResp) {
|
public boolean sendSweeperStopTaskResp(@NonNull String reqNo, @NonNull SweeperTaskStop.StopTaskResp stopTaskResp) {
|
||||||
return sendSweeperCloudTaskCmd(SweeperCloudTask.MessageType.CloudPushTaskStop, reqNo, stopTaskResp.toByteString());
|
return sendAiCloudTaskCmd(MessageType.TYPE_SEND_SWEEPER_CLOUD_TASK_CMD, AiCloudTask.MessageType.CloudPushTaskStop, reqNo, stopTaskResp.toByteString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1961,7 +1963,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean sendSweeperSuspendResumeTaskReq(boolean isSuspend, @NonNull String reqNo, @NonNull SweeperTaskSuspendResume.SuspendResumeTaskReq suspendResumeTaskReq) {
|
public boolean sendSweeperSuspendResumeTaskReq(boolean isSuspend, @NonNull String reqNo, @NonNull SweeperTaskSuspendResume.SuspendResumeTaskReq suspendResumeTaskReq) {
|
||||||
return sendSweeperCloudTaskCmd(isSuspend ? SweeperCloudTask.MessageType.PadSendTaskSuspend : SweeperCloudTask.MessageType.PadSendTaskResume, reqNo, suspendResumeTaskReq.toByteString());
|
return sendAiCloudTaskCmd(MessageType.TYPE_SEND_SWEEPER_CLOUD_TASK_CMD, isSuspend ? AiCloudTask.MessageType.PadSendTaskSuspend : AiCloudTask.MessageType.PadSendTaskResume, reqNo, suspendResumeTaskReq.toByteString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1975,7 +1977,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean sendSweeperGetTaskReq(@NonNull String reqNo, @NonNull SweeperTask.GetTaskReq getTaskReq) {
|
public boolean sendSweeperGetTaskReq(@NonNull String reqNo, @NonNull SweeperTask.GetTaskReq getTaskReq) {
|
||||||
return sendSweeperCloudTaskCmd(SweeperCloudTask.MessageType.PadSendGetTaskReq, reqNo, getTaskReq.toByteString());
|
return sendAiCloudTaskCmd(MessageType.TYPE_SEND_SWEEPER_CLOUD_TASK_CMD, AiCloudTask.MessageType.PadSendGetTaskReq, reqNo, getTaskReq.toByteString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1988,7 +1990,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean sendSweeperAutopilotBootable(@NonNull String reqNo, @NonNull SweeperBootable.IsBootable isBootable) {
|
public boolean sendSweeperAutopilotBootable(@NonNull String reqNo, @NonNull SweeperBootable.IsBootable isBootable) {
|
||||||
return sendSweeperCloudTaskCmd(SweeperCloudTask.MessageType.PadSendBootable, reqNo, isBootable.toByteString());
|
return sendAiCloudTaskCmd(MessageType.TYPE_SEND_SWEEPER_CLOUD_TASK_CMD, AiCloudTask.MessageType.PadSendBootable, reqNo, isBootable.toByteString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2001,7 +2003,20 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean sendSweeperCloudSuspendResumeTaskResp(@NonNull String reqNo, @NonNull SweeperTaskCloudSuspendResume.BigTaskActionResp bigTaskActionResp) {
|
public boolean sendSweeperCloudSuspendResumeTaskResp(@NonNull String reqNo, @NonNull SweeperTaskCloudSuspendResume.BigTaskActionResp bigTaskActionResp) {
|
||||||
return sendSweeperCloudTaskCmd(SweeperCloudTask.MessageType.CloudPushTaskSuspendResume, reqNo, bigTaskActionResp.toByteString());
|
return sendAiCloudTaskCmd(MessageType.TYPE_SEND_SWEEPER_CLOUD_TASK_CMD, AiCloudTask.MessageType.CloudPushTaskSuspendResume, reqNo, bigTaskActionResp.toByteString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PAD发起平行驾驶请求
|
||||||
|
*
|
||||||
|
* @param reqNo 请求编号
|
||||||
|
* @param parallelRequest 参数
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean sendParallelDrivingReq(@NonNull String reqNo, @NonNull ParallelDrivingRequest.ParallelRequest parallelRequest) {
|
||||||
|
return sendAiCloudTaskCmd(MessageType.TYPE_SEND_PARALLEL_DRIVING_REQ, AiCloudTask.MessageType.ParallelDrivingCmd, reqNo, parallelRequest.toByteString());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import java.util.regex.Pattern;
|
|||||||
import bag_manager.BagManagerOuterClass;
|
import bag_manager.BagManagerOuterClass;
|
||||||
import chassis.SpecialVehicleTaskCmdOuterClass;
|
import chassis.SpecialVehicleTaskCmdOuterClass;
|
||||||
import mogo.telematics.pad.MessagePad;
|
import mogo.telematics.pad.MessagePad;
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ProjectName: lib-adas-fpga
|
* @ProjectName: lib-adas-fpga
|
||||||
@@ -1194,6 +1195,18 @@ public class AdasManager implements IAdasNetCommApi {
|
|||||||
return mChannel != null && mChannel.sendSweeperCloudSuspendResumeTaskResp(reqNo, bigTaskActionResp);
|
return mChannel != null && mChannel.sendSweeperCloudSuspendResumeTaskResp(reqNo, bigTaskActionResp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PAD发起平行驾驶请求
|
||||||
|
*
|
||||||
|
* @param reqNo 请求编号
|
||||||
|
* @param parallelRequest 参数
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean sendParallelDrivingReq(@NonNull String reqNo, @NonNull ParallelDrivingRequest.ParallelRequest parallelRequest) {
|
||||||
|
return mChannel != null && mChannel.sendParallelDrivingReq(reqNo, parallelRequest);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取工控机固定IP列表
|
* 获取工控机固定IP列表
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import java.util.Set;
|
|||||||
import bag_manager.BagManagerOuterClass;
|
import bag_manager.BagManagerOuterClass;
|
||||||
import chassis.SpecialVehicleTaskCmdOuterClass;
|
import chassis.SpecialVehicleTaskCmdOuterClass;
|
||||||
import mogo.telematics.pad.MessagePad;
|
import mogo.telematics.pad.MessagePad;
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author nie yunlong
|
* @author nie yunlong
|
||||||
@@ -750,6 +751,15 @@ public interface IAdasNetCommApi {
|
|||||||
*/
|
*/
|
||||||
boolean sendSweeperCloudSuspendResumeTaskResp(@NonNull String reqNo, @NonNull SweeperTaskCloudSuspendResume.BigTaskActionResp bigTaskActionResp);
|
boolean sendSweeperCloudSuspendResumeTaskResp(@NonNull String reqNo, @NonNull SweeperTaskCloudSuspendResume.BigTaskActionResp bigTaskActionResp);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PAD发起平行驾驶请求
|
||||||
|
*
|
||||||
|
* @param reqNo 请求编号
|
||||||
|
* @param parallelRequest 参数
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
boolean sendParallelDrivingReq(@NonNull String reqNo, @NonNull ParallelDrivingRequest.ParallelRequest parallelRequest);
|
||||||
|
|
||||||
// TODO 需求暂停 待讨论
|
// TODO 需求暂停 待讨论
|
||||||
// boolean getRoutes();
|
// boolean getRoutes();
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ import com.mogo.support.obu.ObuScene;
|
|||||||
import com.zhidao.support.adas.high.common.MessageType;
|
import com.zhidao.support.adas.high.common.MessageType;
|
||||||
import com.zhidao.support.adas.high.common.ProtocolStatus;
|
import com.zhidao.support.adas.high.common.ProtocolStatus;
|
||||||
import com.zhjt.mogo.adas.data.AdasConstants;
|
import com.zhjt.mogo.adas.data.AdasConstants;
|
||||||
|
import com.zhjt.mogo.adas.data.AiCloudTask;
|
||||||
import com.zhjt.mogo.adas.data.bean.AdasParam;
|
import com.zhjt.mogo.adas.data.bean.AdasParam;
|
||||||
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics;
|
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics;
|
||||||
import com.zhjt.mogo.adas.data.bean.UnableAutopilotReason;
|
import com.zhjt.mogo.adas.data.bean.UnableAutopilotReason;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask;
|
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable;
|
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.SweeperTask;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus;
|
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus;
|
||||||
@@ -29,6 +29,7 @@ import function_state_management.FunctionStates;
|
|||||||
import mogo.telematics.pad.MessagePad;
|
import mogo.telematics.pad.MessagePad;
|
||||||
import mogo.v2x.MogoV2X;
|
import mogo.v2x.MogoV2X;
|
||||||
import mogo.v2x.RoadOverviewEvents;
|
import mogo.v2x.RoadOverviewEvents;
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelTaskProcessNoticeOuterClass;
|
||||||
import mogo_msg.MogoReportMsg;
|
import mogo_msg.MogoReportMsg;
|
||||||
import perception.TrafficLightOuterClass;
|
import perception.TrafficLightOuterClass;
|
||||||
import planning.RoboSweeperTaskIndexOuterClass;
|
import planning.RoboSweeperTaskIndexOuterClass;
|
||||||
@@ -302,7 +303,7 @@ public interface OnAdasListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param taskInfo 数据
|
* @param taskInfo 数据
|
||||||
*/
|
*/
|
||||||
void onSweeperFutianCloudTask(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTask.TaskInfo taskInfo);
|
void onSweeperFutianCloudTask(@NonNull MessagePad.Header header, @NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTask.TaskInfo taskInfo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto
|
* 2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto
|
||||||
@@ -313,7 +314,7 @@ public interface OnAdasListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param taskConfirm 数据
|
* @param taskConfirm 数据
|
||||||
*/
|
*/
|
||||||
void onSweeperFutianCloudTaskConfirm(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskConfirm.TaskConfirm taskConfirm);
|
void onSweeperFutianCloudTaskConfirm(@NonNull MessagePad.Header header, @NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskConfirm.TaskConfirm taskConfirm);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 3、云端下发任务状态到pad(type:100003)-> sweeper_task_status.proto
|
* 3、云端下发任务状态到pad(type:100003)-> sweeper_task_status.proto
|
||||||
@@ -324,7 +325,7 @@ public interface OnAdasListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param taskStatusPush 数据
|
* @param taskStatusPush 数据
|
||||||
*/
|
*/
|
||||||
void onSweeperFutianCloudTaskStatus(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskStatus.TaskStatusPush taskStatusPush);
|
void onSweeperFutianCloudTaskStatus(@NonNull MessagePad.Header header, @NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskStatus.TaskStatusPush taskStatusPush);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto
|
* 4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto
|
||||||
@@ -335,7 +336,7 @@ public interface OnAdasListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param stopTaskReq 数据
|
* @param stopTaskReq 数据
|
||||||
*/
|
*/
|
||||||
void onSweeperFutianCloudTaskStop(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskStop.StopTaskReq stopTaskReq);
|
void onSweeperFutianCloudTaskStop(@NonNull MessagePad.Header header, @NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskStop.StopTaskReq stopTaskReq);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto
|
* 5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto
|
||||||
@@ -347,7 +348,7 @@ public interface OnAdasListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param suspendResumeTaskResp 数据
|
* @param suspendResumeTaskResp 数据
|
||||||
*/
|
*/
|
||||||
void onSweeperFutianCloudTaskSuspendResume(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp);
|
void onSweeperFutianCloudTaskSuspendResume(@NonNull MessagePad.Header header, @NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_autopilot.proto
|
* 8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_autopilot.proto
|
||||||
@@ -358,7 +359,7 @@ public interface OnAdasListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param isBootableResp 数据
|
* @param isBootableResp 数据
|
||||||
*/
|
*/
|
||||||
void onSweeperFutianCloudBootable(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperBootable.IsBootableResp isBootableResp);
|
void onSweeperFutianCloudBootable(@NonNull MessagePad.Header header, @NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperBootable.IsBootableResp isBootableResp);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
* 9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
||||||
@@ -369,7 +370,7 @@ public interface OnAdasListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param bigTaskStatusPush 数据
|
* @param bigTaskStatusPush 数据
|
||||||
*/
|
*/
|
||||||
void onSweeperFutianCloudBigTaskStatus(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush);
|
void onSweeperFutianCloudBigTaskStatus(@NonNull MessagePad.Header header, @NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 10、云端下发任务暂停/恢复指令到pad(type: 100010)-> sweeper_task_cloud_suspend_resume.proto
|
* 10、云端下发任务暂停/恢复指令到pad(type: 100010)-> sweeper_task_cloud_suspend_resume.proto
|
||||||
@@ -380,15 +381,27 @@ public interface OnAdasListener {
|
|||||||
* @param sysTime 当前时间戳
|
* @param sysTime 当前时间戳
|
||||||
* @param bigTaskActionPush 数据
|
* @param bigTaskActionPush 数据
|
||||||
*/
|
*/
|
||||||
void onSweeperFutianCloudTaskCloudSuspendResume(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskCloudSuspendResume.BigTaskActionPush bigTaskActionPush);
|
void onSweeperFutianCloudTaskCloudSuspendResume(@NonNull MessagePad.Header header, @NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskCloudSuspendResume.BigTaskActionPush bigTaskActionPush);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 清扫车云端任务未知类型
|
* 无人化场景
|
||||||
|
* 平行驾驶请求相关状态反馈
|
||||||
|
*
|
||||||
|
* @param header 头
|
||||||
|
* @param messageType 消息类型
|
||||||
|
* @param reqNo 请求编号
|
||||||
|
* @param sysTime 当前时间戳
|
||||||
|
* @param parallelTaskProcessNotice 数据
|
||||||
|
*/
|
||||||
|
void onParallelDrivingResp(@NonNull MessagePad.Header header, @NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable ParallelTaskProcessNoticeOuterClass.ParallelTaskProcessNotice parallelTaskProcessNotice);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AI云端任务未知类型
|
||||||
*
|
*
|
||||||
* @param header 头
|
* @param header 头
|
||||||
* @param bytes 原始数据
|
* @param bytes 原始数据
|
||||||
*/
|
*/
|
||||||
void onSweeperFutianCloudTaskUnknown(@NonNull MessagePad.Header header, @NonNull byte[] bytes);
|
void onAiCloudTaskUnknown(@NonNull MessagePad.Header header, @NonNull byte[] bytes);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bag管理应答
|
* Bag管理应答
|
||||||
|
|||||||
@@ -73,6 +73,8 @@ public enum MessageType {
|
|||||||
TYPE_RECEIVE_SWEEPER_CLOUD_TASK_CMD(MessagePad.MessageType.MsgTypeTaskCmd, "云控下发清扫车任务指令"),
|
TYPE_RECEIVE_SWEEPER_CLOUD_TASK_CMD(MessagePad.MessageType.MsgTypeTaskCmd, "云控下发清扫车任务指令"),
|
||||||
TYPE_SEND_FSM_STATUS_REASON_QUERY_REQ(MessagePad.MessageType.MsgTypeFSMStatusReasonQueryReq, "FSM状态原因查询"),
|
TYPE_SEND_FSM_STATUS_REASON_QUERY_REQ(MessagePad.MessageType.MsgTypeFSMStatusReasonQueryReq, "FSM状态原因查询"),
|
||||||
TYPE_RECEIVE_FSM_STATUS_REASON_QUERY_RESP(MessagePad.MessageType.MsgTypeFSMStatusReasonQueryResp, "FSM状态原因查询应答"),
|
TYPE_RECEIVE_FSM_STATUS_REASON_QUERY_RESP(MessagePad.MessageType.MsgTypeFSMStatusReasonQueryResp, "FSM状态原因查询应答"),
|
||||||
|
TYPE_SEND_PARALLEL_DRIVING_REQ(MessagePad.MessageType.MsgTypeParallelDrivingCmd, "平行驾驶请求"),
|
||||||
|
TYPE_RECEIVE_PARALLEL_DRIVING_STATUS(MessagePad.MessageType.MsgTypeParallelDrivingCmd, "平行驾驶状态"),
|
||||||
//TODO 透传原始pb文件中不存在以下type。由于Java中无法强转,所以在mogo-adas-data/message_pad.proto中放开注释
|
//TODO 透传原始pb文件中不存在以下type。由于Java中无法强转,所以在mogo-adas-data/message_pad.proto中放开注释
|
||||||
TYPE_RECEIVE_PLANNING_DECISION_STATE(MessagePad.MessageType.MsgTypePlanningDecisionState, "Planning决策状态"),
|
TYPE_RECEIVE_PLANNING_DECISION_STATE(MessagePad.MessageType.MsgTypePlanningDecisionState, "Planning决策状态"),
|
||||||
TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA(MessagePad.MessageType.MsgTypeSweeperTaskIndexData, "清扫车指标数据"),
|
TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA(MessagePad.MessageType.MsgTypeSweeperTaskIndexData, "清扫车指标数据"),
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import java.util.TimerTask;
|
|||||||
|
|
||||||
import chassis.Chassis;
|
import chassis.Chassis;
|
||||||
import chassis.ChassisStatesOuterClass;
|
import chassis.ChassisStatesOuterClass;
|
||||||
|
import chassis.VehicleStateOuterClass;
|
||||||
import system_master.SystemStatusInfo;
|
import system_master.SystemStatusInfo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -26,6 +27,7 @@ public class AutopilotAbility250 {
|
|||||||
private static final String TAG = AutopilotAbility250.class.getSimpleName();
|
private static final String TAG = AutopilotAbility250.class.getSimpleName();
|
||||||
private volatile Timer timer;
|
private volatile Timer timer;
|
||||||
private ChassisStatesOuterClass.ChassisStates chassisStates;
|
private ChassisStatesOuterClass.ChassisStates chassisStates;
|
||||||
|
private VehicleStateOuterClass.VehicleState vehicleState;
|
||||||
private int mapVersion = -1;//MAP版本
|
private int mapVersion = -1;//MAP版本
|
||||||
private int masterVersion = -1;//Master版本
|
private int masterVersion = -1;//Master版本
|
||||||
private OnAutopilotAbilityListener listener;
|
private OnAutopilotAbilityListener listener;
|
||||||
@@ -57,6 +59,10 @@ public class AutopilotAbility250 {
|
|||||||
this.chassisStates = chassisStates;
|
this.chassisStates = chassisStates;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void setVehicleState(VehicleStateOuterClass.VehicleState vehicleState) {
|
||||||
|
this.vehicleState = vehicleState;
|
||||||
|
}
|
||||||
|
|
||||||
private void onCallback(SystemStatusInfo.StatusInfo statusInfo) {
|
private void onCallback(SystemStatusInfo.StatusInfo statusInfo) {
|
||||||
boolean isAutopilotAbility = true;//是否能启动自动驾驶
|
boolean isAutopilotAbility = true;//是否能启动自动驾驶
|
||||||
ArrayList<UnableAutopilotReason> unableAutopilotReasons = null;//不能启动自动驾驶原因
|
ArrayList<UnableAutopilotReason> unableAutopilotReasons = null;//不能启动自动驾驶原因
|
||||||
@@ -144,17 +150,19 @@ public class AutopilotAbility250 {
|
|||||||
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "档位异常");
|
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "档位异常");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//TODO 关于手刹:不同车型的实现不同所以目前没法使用此字段
|
|
||||||
|
|
||||||
// //电子驻车制动系统
|
|
||||||
// if (chassisStates.hasEpbSystemStates()) {
|
|
||||||
// ChassisStatesOuterClass.EPBSystemStates epb = chassisStates.getEpbSystemStates();
|
|
||||||
// if (epb.hasEpbEnableState()){
|
|
||||||
// epb.getEpbWorkState();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if (vehicleState != null) {
|
||||||
|
//TODO 关于手刹:目前只有老底盘中存在这个字段,df360开始,其他车型未知
|
||||||
|
//电子驻车制动系统
|
||||||
|
if (vehicleState.hasParkingBrake()) {
|
||||||
|
boolean isBrake = vehicleState.getParkingBrake();
|
||||||
|
if (isBrake) {
|
||||||
|
isAutopilotAbility = false;
|
||||||
|
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "施加驻车");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (listener != null) {
|
if (listener != null) {
|
||||||
listener.onAutopilotAbility(isAutopilotAbility, unableAutopilotReasons);
|
listener.onAutopilotAbility(isAutopilotAbility, unableAutopilotReasons);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import java.util.ArrayList;
|
|||||||
|
|
||||||
import chassis.Chassis;
|
import chassis.Chassis;
|
||||||
import chassis.ChassisStatesOuterClass;
|
import chassis.ChassisStatesOuterClass;
|
||||||
|
import chassis.VehicleStateOuterClass;
|
||||||
import system_master.SsmInfo;
|
import system_master.SsmInfo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -21,6 +22,7 @@ import system_master.SsmInfo;
|
|||||||
public class AutopilotAbility350And360 {
|
public class AutopilotAbility350And360 {
|
||||||
private static final String TAG = AutopilotAbility250.class.getSimpleName();
|
private static final String TAG = AutopilotAbility250.class.getSimpleName();
|
||||||
private ChassisStatesOuterClass.ChassisStates chassisStates;
|
private ChassisStatesOuterClass.ChassisStates chassisStates;
|
||||||
|
private VehicleStateOuterClass.VehicleState vehicleState;
|
||||||
private int masterVersion = -1;//Master版本
|
private int masterVersion = -1;//Master版本
|
||||||
private OnAutopilotAbilityListener listener;
|
private OnAutopilotAbilityListener listener;
|
||||||
|
|
||||||
@@ -43,6 +45,10 @@ public class AutopilotAbility350And360 {
|
|||||||
this.chassisStates = chassisStates;
|
this.chassisStates = chassisStates;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void setVehicleState(VehicleStateOuterClass.VehicleState vehicleState) {
|
||||||
|
this.vehicleState = vehicleState;
|
||||||
|
}
|
||||||
|
|
||||||
private void onCallback(SsmInfo.SsmStatusInf statusInfo) {
|
private void onCallback(SsmInfo.SsmStatusInf statusInfo) {
|
||||||
boolean isAutopilotAbility = true;//是否能启动自动驾驶
|
boolean isAutopilotAbility = true;//是否能启动自动驾驶
|
||||||
ArrayList<UnableAutopilotReason> unableAutopilotReasons = null;//不能启动自动驾驶原因
|
ArrayList<UnableAutopilotReason> unableAutopilotReasons = null;//不能启动自动驾驶原因
|
||||||
@@ -117,17 +123,19 @@ public class AutopilotAbility350And360 {
|
|||||||
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "档位异常");
|
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "档位异常");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//TODO 关于手刹:不同车型的实现不同所以目前没法使用此字段
|
|
||||||
|
|
||||||
// //电子驻车制动系统
|
|
||||||
// if (chassisStates.hasEpbSystemStates()) {
|
|
||||||
// ChassisStatesOuterClass.EPBSystemStates epb = chassisStates.getEpbSystemStates();
|
|
||||||
// if (epb.hasEpbEnableState()){
|
|
||||||
// epb.getEpbWorkState();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if (vehicleState != null) {
|
||||||
|
//TODO 关于手刹:目前只有老底盘中存在这个字段,df360开始,其他车型未知
|
||||||
|
//电子驻车制动系统
|
||||||
|
if (vehicleState.hasParkingBrake()) {
|
||||||
|
boolean isBrake = vehicleState.getParkingBrake();
|
||||||
|
if (isBrake) {
|
||||||
|
isAutopilotAbility = false;
|
||||||
|
unableAutopilotReasons = AutopilotAbilityManager.getInstance().addUnableAutopilotReason(unableAutopilotReasons, UnableAutopilotReason.SourceType.CHASSIS, "施加驻车");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (listener != null) {
|
if (listener != null) {
|
||||||
listener.onAutopilotAbility(isAutopilotAbility, unableAutopilotReasons);
|
listener.onAutopilotAbility(isAutopilotAbility, unableAutopilotReasons);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import java.util.TimerTask;
|
|||||||
|
|
||||||
import chassis.Chassis;
|
import chassis.Chassis;
|
||||||
import chassis.ChassisStatesOuterClass;
|
import chassis.ChassisStatesOuterClass;
|
||||||
|
import chassis.VehicleStateOuterClass;
|
||||||
import function_state_management.FSMStatusReasonQueryOuterClass;
|
import function_state_management.FSMStatusReasonQueryOuterClass;
|
||||||
import mogo.telematics.pad.MessagePad;
|
import mogo.telematics.pad.MessagePad;
|
||||||
import system_master.SsmInfo;
|
import system_master.SsmInfo;
|
||||||
@@ -206,6 +207,20 @@ public class AutopilotAbilityManager implements AutopilotAbility230.OnAutopilotA
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 老底盘中手刹状态更新(新底盘PB中没有所以单独传递)
|
||||||
|
*
|
||||||
|
* @param vehicleState 底盘
|
||||||
|
*/
|
||||||
|
public void setVehicleState(VehicleStateOuterClass.VehicleState vehicleState) {
|
||||||
|
if (autopilotAbility250 != null) {
|
||||||
|
autopilotAbility250.setVehicleState(vehicleState);
|
||||||
|
}
|
||||||
|
if (autopilotAbility350And360 != null) {
|
||||||
|
autopilotAbility350And360.setVehicleState(vehicleState);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FSM OFF状态原因更新
|
* FSM OFF状态原因更新
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import com.zhidao.support.adas.high.OnAdasListener;
|
|||||||
import com.zhidao.support.adas.high.common.ByteUtil;
|
import com.zhidao.support.adas.high.common.ByteUtil;
|
||||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||||
import com.zhidao.support.adas.high.protocol.RawData;
|
import com.zhidao.support.adas.high.protocol.RawData;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask;
|
import com.zhjt.mogo.adas.data.AiCloudTask;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable;
|
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.SweeperTask;
|
||||||
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus;
|
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus;
|
||||||
@@ -20,32 +20,33 @@ import com.zhjt.mogo.adas.data.sweeper.task.status.SweeperTaskStatus;
|
|||||||
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop;
|
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop;
|
||||||
|
|
||||||
import mogo.telematics.pad.MessagePad;
|
import mogo.telematics.pad.MessagePad;
|
||||||
|
import mogo.yycp.paralleldriving.protocol.ParallelTaskProcessNoticeOuterClass;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 清扫车云端任务调度
|
* 云控任务:清扫车任务调度、无人化场景,平行驾驶请求相关指令及状态反馈
|
||||||
*/
|
*/
|
||||||
public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
public class AiCloudTaskMessage extends MyAbstractMessageHandler {
|
||||||
|
|
||||||
public SweeperCloudTaskMessage() {
|
public AiCloudTaskMessage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException {
|
public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException {
|
||||||
byte[] bytes = raw.originalData.toByteArray();
|
byte[] bytes = raw.originalData.toByteArray();
|
||||||
SweeperCloudTask.SweeperMessage message = SweeperCloudTask.SweeperMessage.parser().parseFrom(bytes, raw.getOffsetValue(), raw.getPackageLengthValue() - raw.getOffsetValue());
|
AiCloudTask.AiCloudPadMessage message = AiCloudTask.AiCloudPadMessage.parser().parseFrom(bytes, raw.getOffsetValue(), raw.getPackageLengthValue() - raw.getOffsetValue());
|
||||||
AdasChannel.calculateTimeConsumingOnDispatchRaw("清扫车云端任务调度", raw.receiveTime);
|
AdasChannel.calculateTimeConsumingOnDispatchRaw("云控任务", raw.receiveTime);
|
||||||
long nowTime = 0;
|
long nowTime = 0;
|
||||||
if (CupidLogUtils.isEnableLog())
|
if (CupidLogUtils.isEnableLog())
|
||||||
nowTime = SystemClock.elapsedRealtime();
|
nowTime = SystemClock.elapsedRealtime();
|
||||||
if (adasListener != null) {
|
if (adasListener != null) {
|
||||||
MessagePad.Header header = raw.getHeader();
|
MessagePad.Header header = raw.getHeader();
|
||||||
SweeperCloudTask.MessageType msgType = SweeperCloudTask.MessageType.forNumber(message.getMsgType());//消息类型,响应请求时,使用对应请求的消息类型
|
AiCloudTask.MessageType msgType = AiCloudTask.MessageType.forNumber(message.getMsgType());//消息类型,响应请求时,使用对应请求的消息类型
|
||||||
String reqNo = message.getReqNo(); //请求编号,响应请求时,使用请求方的请求编号
|
String reqNo = message.getReqNo(); //请求编号,响应请求时,使用请求方的请求编号
|
||||||
long sysTime = message.getSysTime(); //当前时间戳
|
long sysTime = message.getSysTime(); //当前时间戳
|
||||||
ByteString payload = message.getPayload();
|
ByteString payload = message.getPayload();
|
||||||
CupidLogUtils.i("SweeperCloudTaskMessage", "MsgType=" + (msgType == null ? "null" : msgType.getNumber()) + " reqNo=" + reqNo + " sysTime=" + sysTime);
|
CupidLogUtils.i("SweeperCloudTaskMessage", "MsgType=" + (msgType == null ? "null" : msgType.getNumber()) + " reqNo=" + reqNo + " sysTime=" + sysTime);
|
||||||
boolean isExistPayload = payload != null && !payload.isEmpty();
|
boolean isExistPayload = payload != null && !payload.isEmpty();
|
||||||
if (msgType == SweeperCloudTask.MessageType.CloudPushTask || msgType == SweeperCloudTask.MessageType.PadSendGetTaskReq) {
|
if (msgType == AiCloudTask.MessageType.CloudPushTask || msgType == AiCloudTask.MessageType.PadSendGetTaskReq) {
|
||||||
//1、云端下发大任务信息(type: 100001)-> sweeper_task.proto
|
//1、云端下发大任务信息(type: 100001)-> sweeper_task.proto
|
||||||
//7、pad主动拉取当前车辆正在执行任务的完整信息(type:100007)-> sweeper_task.proto
|
//7、pad主动拉取当前车辆正在执行任务的完整信息(type:100007)-> sweeper_task.proto
|
||||||
SweeperTask.TaskInfo taskInfo = null;
|
SweeperTask.TaskInfo taskInfo = null;
|
||||||
@@ -55,7 +56,7 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
|||||||
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (taskInfo == null ? "null" :
|
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (taskInfo == null ? "null" :
|
||||||
// TextFormat.printer().escapingNonAscii(false).printToString(taskInfo)));
|
// TextFormat.printer().escapingNonAscii(false).printToString(taskInfo)));
|
||||||
adasListener.onSweeperFutianCloudTask(header, msgType, reqNo, sysTime, taskInfo);
|
adasListener.onSweeperFutianCloudTask(header, msgType, reqNo, sysTime, taskInfo);
|
||||||
} else if (msgType == SweeperCloudTask.MessageType.CloudPushTaskConfirm) {
|
} else if (msgType == AiCloudTask.MessageType.CloudPushTaskConfirm) {
|
||||||
//2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto
|
//2、云端下发子任务,请求pad确认(type:100002)-> sweeper_task_confirm.proto
|
||||||
SweeperTaskConfirm.TaskConfirm taskConfirm = null;
|
SweeperTaskConfirm.TaskConfirm taskConfirm = null;
|
||||||
if (isExistPayload) {
|
if (isExistPayload) {
|
||||||
@@ -64,7 +65,7 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
|||||||
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (taskConfirm == null ? "null" :
|
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (taskConfirm == null ? "null" :
|
||||||
// TextFormat.printer().escapingNonAscii(false).printToString(taskConfirm)));
|
// TextFormat.printer().escapingNonAscii(false).printToString(taskConfirm)));
|
||||||
adasListener.onSweeperFutianCloudTaskConfirm(header, msgType, reqNo, sysTime, taskConfirm);
|
adasListener.onSweeperFutianCloudTaskConfirm(header, msgType, reqNo, sysTime, taskConfirm);
|
||||||
} else if (msgType == SweeperCloudTask.MessageType.CloudPushTaskStatus) {
|
} else if (msgType == AiCloudTask.MessageType.CloudPushTaskStatus) {
|
||||||
//3、云端下发任务状态到pad(type:100003)-> sweeper_task_status.proto
|
//3、云端下发任务状态到pad(type:100003)-> sweeper_task_status.proto
|
||||||
SweeperTaskStatus.TaskStatusPush taskStatusPush = null;
|
SweeperTaskStatus.TaskStatusPush taskStatusPush = null;
|
||||||
if (isExistPayload) {
|
if (isExistPayload) {
|
||||||
@@ -73,7 +74,7 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
|||||||
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (taskStatusPush == null ? "null" :
|
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (taskStatusPush == null ? "null" :
|
||||||
// TextFormat.printer().escapingNonAscii(false).printToString(taskStatusPush)));
|
// TextFormat.printer().escapingNonAscii(false).printToString(taskStatusPush)));
|
||||||
adasListener.onSweeperFutianCloudTaskStatus(header, msgType, reqNo, sysTime, taskStatusPush);
|
adasListener.onSweeperFutianCloudTaskStatus(header, msgType, reqNo, sysTime, taskStatusPush);
|
||||||
} else if (msgType == SweeperCloudTask.MessageType.CloudPushTaskStop) {
|
} else if (msgType == AiCloudTask.MessageType.CloudPushTaskStop) {
|
||||||
//4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto
|
//4、云端请求pad结束任务(type:100004)-> sweeper_task_stop.proto
|
||||||
SweeperTaskStop.StopTaskReq stopTaskReq = null;
|
SweeperTaskStop.StopTaskReq stopTaskReq = null;
|
||||||
if (isExistPayload) {
|
if (isExistPayload) {
|
||||||
@@ -82,7 +83,7 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
|||||||
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (stopTaskReq == null ? "null" :
|
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (stopTaskReq == null ? "null" :
|
||||||
// TextFormat.printer().escapingNonAscii(false).printToString(stopTaskReq)));
|
// TextFormat.printer().escapingNonAscii(false).printToString(stopTaskReq)));
|
||||||
adasListener.onSweeperFutianCloudTaskStop(header, msgType, reqNo, sysTime, stopTaskReq);
|
adasListener.onSweeperFutianCloudTaskStop(header, msgType, reqNo, sysTime, stopTaskReq);
|
||||||
} else if (msgType == SweeperCloudTask.MessageType.PadSendTaskSuspend || msgType == SweeperCloudTask.MessageType.PadSendTaskResume) {
|
} else if (msgType == AiCloudTask.MessageType.PadSendTaskSuspend || msgType == AiCloudTask.MessageType.PadSendTaskResume) {
|
||||||
//5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto
|
//5、pad请求挂起任务(type:100005)-> sweeper_task_suspend_resume.proto
|
||||||
//6、pad请求恢复挂起的任务(type:100006)-> sweeper_task_suspend_resume.proto
|
//6、pad请求恢复挂起的任务(type:100006)-> sweeper_task_suspend_resume.proto
|
||||||
SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp = null;
|
SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp = null;
|
||||||
@@ -92,7 +93,7 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
|||||||
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (suspendResumeTaskResp == null ? "null" :
|
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (suspendResumeTaskResp == null ? "null" :
|
||||||
// TextFormat.printer().escapingNonAscii(false).printToString(suspendResumeTaskResp)));
|
// TextFormat.printer().escapingNonAscii(false).printToString(suspendResumeTaskResp)));
|
||||||
adasListener.onSweeperFutianCloudTaskSuspendResume(header, msgType, reqNo, sysTime, suspendResumeTaskResp);
|
adasListener.onSweeperFutianCloudTaskSuspendResume(header, msgType, reqNo, sysTime, suspendResumeTaskResp);
|
||||||
} else if (msgType == SweeperCloudTask.MessageType.PadSendBootable) {
|
} else if (msgType == AiCloudTask.MessageType.PadSendBootable) {
|
||||||
//8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_autopilot.proto
|
//8、接管后回自驾-pad上报状态给云端 云端下发启动自驾(type: 100008)-> sweeper_autopilot.proto
|
||||||
SweeperBootable.IsBootableResp isBootableResp = null;
|
SweeperBootable.IsBootableResp isBootableResp = null;
|
||||||
if (isExistPayload) {
|
if (isExistPayload) {
|
||||||
@@ -101,7 +102,7 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
|||||||
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (isBootableResp == null ? "null" :
|
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (isBootableResp == null ? "null" :
|
||||||
// TextFormat.printer().escapingNonAscii(false).printToString(isBootableResp)));
|
// TextFormat.printer().escapingNonAscii(false).printToString(isBootableResp)));
|
||||||
adasListener.onSweeperFutianCloudBootable(header, msgType, reqNo, sysTime, isBootableResp);
|
adasListener.onSweeperFutianCloudBootable(header, msgType, reqNo, sysTime, isBootableResp);
|
||||||
} else if (msgType == SweeperCloudTask.MessageType.CloudPushBigTaskStatus) {
|
} else if (msgType == AiCloudTask.MessageType.CloudPushBigTaskStatus) {
|
||||||
//9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
//9、云端下发pad大任务状态(type: 100009)-> sweeper_big_task_status.proto
|
||||||
SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush = null;
|
SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush = null;
|
||||||
if (isExistPayload) {
|
if (isExistPayload) {
|
||||||
@@ -110,7 +111,7 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
|||||||
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (bigTaskStatusPush == null ? "null" :
|
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (bigTaskStatusPush == null ? "null" :
|
||||||
// TextFormat.printer().escapingNonAscii(false).printToString(bigTaskStatusPush)));
|
// TextFormat.printer().escapingNonAscii(false).printToString(bigTaskStatusPush)));
|
||||||
adasListener.onSweeperFutianCloudBigTaskStatus(header, msgType, reqNo, sysTime, bigTaskStatusPush);
|
adasListener.onSweeperFutianCloudBigTaskStatus(header, msgType, reqNo, sysTime, bigTaskStatusPush);
|
||||||
} else if (msgType == SweeperCloudTask.MessageType.CloudPushTaskSuspendResume) {
|
} else if (msgType == AiCloudTask.MessageType.CloudPushTaskSuspendResume) {
|
||||||
//10、云端下发任务暂停/恢复指令到pad(type: 100010)
|
//10、云端下发任务暂停/恢复指令到pad(type: 100010)
|
||||||
SweeperTaskCloudSuspendResume.BigTaskActionPush bigTaskActionPush = null;
|
SweeperTaskCloudSuspendResume.BigTaskActionPush bigTaskActionPush = null;
|
||||||
if (isExistPayload) {
|
if (isExistPayload) {
|
||||||
@@ -119,12 +120,19 @@ public class SweeperCloudTaskMessage extends MyAbstractMessageHandler {
|
|||||||
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (bigTaskActionPush == null ? "null" :
|
// Log.i("SweeperCloudTaskMessage", " msgType=" + msgType + " " + (bigTaskActionPush == null ? "null" :
|
||||||
// TextFormat.printer().escapingNonAscii(false).printToString(bigTaskActionPush)));
|
// TextFormat.printer().escapingNonAscii(false).printToString(bigTaskActionPush)));
|
||||||
adasListener.onSweeperFutianCloudTaskCloudSuspendResume(header, msgType, reqNo, sysTime, bigTaskActionPush);
|
adasListener.onSweeperFutianCloudTaskCloudSuspendResume(header, msgType, reqNo, sysTime, bigTaskActionPush);
|
||||||
|
} else if (msgType == AiCloudTask.MessageType.ParallelDrivingCmd) {
|
||||||
|
//无人化场景,平行驾驶请求相关指令及状态反馈
|
||||||
|
ParallelTaskProcessNoticeOuterClass.ParallelTaskProcessNotice parallelTaskProcessNotice = null;
|
||||||
|
if (isExistPayload) {
|
||||||
|
parallelTaskProcessNotice = ParallelTaskProcessNoticeOuterClass.ParallelTaskProcessNotice.parseFrom(payload);
|
||||||
|
}
|
||||||
|
adasListener.onParallelDrivingResp(header, msgType, reqNo, sysTime, parallelTaskProcessNotice);
|
||||||
} else {
|
} else {
|
||||||
//未知数据类型
|
//未知数据类型
|
||||||
CupidLogUtils.i("SweeperCloudTaskMessage", " 错误数据=" + ByteUtil.byteArrToHex(bytes));
|
CupidLogUtils.i("SweeperCloudTaskMessage", " 错误数据=" + ByteUtil.byteArrToHex(bytes));
|
||||||
adasListener.onSweeperFutianCloudTaskUnknown(header, bytes);
|
adasListener.onAiCloudTaskUnknown(header, bytes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
AdasChannel.calculateTimeConsumingBusiness("清扫车云端任务调度", nowTime);
|
AdasChannel.calculateTimeConsumingBusiness("云控任务", nowTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -42,7 +42,7 @@ public class MyMessageFactory implements IMyMessageFactory {
|
|||||||
private IMsg v2nCongestionEventMessage;//主车附近事件推送
|
private IMsg v2nCongestionEventMessage;//主车附近事件推送
|
||||||
private IMsg v2nGlobalPathEventsMessage;//主车路径全局事件推送
|
private IMsg v2nGlobalPathEventsMessage;//主车路径全局事件推送
|
||||||
private IMsg getParamRespMessage;//参数获取应答
|
private IMsg getParamRespMessage;//参数获取应答
|
||||||
private IMsg sweeperCloudTaskMessage;//云控下发清扫车任务指令
|
private IMsg aiCloudTaskMessage;//云控任务:清扫车任务指令、无人化场景,平行驾驶请求相关指令及状态反馈
|
||||||
private IMsg m1StitchedVideoMessage;//M1拼接视频
|
private IMsg m1StitchedVideoMessage;//M1拼接视频
|
||||||
private IMsg fSMStatusReasonRespondMessage;//FSM状态原因查询
|
private IMsg fSMStatusReasonRespondMessage;//FSM状态原因查询
|
||||||
|
|
||||||
@@ -228,12 +228,12 @@ public class MyMessageFactory implements IMyMessageFactory {
|
|||||||
getParamRespMessage = new GetParamRespMessage();
|
getParamRespMessage = new GetParamRespMessage();
|
||||||
}
|
}
|
||||||
return getParamRespMessage;
|
return getParamRespMessage;
|
||||||
} else if (messageType == MessageType.TYPE_RECEIVE_SWEEPER_CLOUD_TASK_CMD.typeCode) {
|
} else if (messageType == MessageType.TYPE_RECEIVE_SWEEPER_CLOUD_TASK_CMD.typeCode || messageType == MessageType.TYPE_RECEIVE_PARALLEL_DRIVING_STATUS.typeCode) {
|
||||||
//云控下发清扫车任务指令
|
//云控任务:清扫车任务指令、无人化场景,平行驾驶请求相关指令及状态反馈
|
||||||
if (sweeperCloudTaskMessage == null) {
|
if (aiCloudTaskMessage == null) {
|
||||||
sweeperCloudTaskMessage = new SweeperCloudTaskMessage();
|
aiCloudTaskMessage = new AiCloudTaskMessage();
|
||||||
}
|
}
|
||||||
return sweeperCloudTaskMessage;
|
return aiCloudTaskMessage;
|
||||||
} else if (messageType == MessageType.TYPE_RECEIVE_M1_STITCHED_VIDEO.typeCode) {
|
} else if (messageType == MessageType.TYPE_RECEIVE_M1_STITCHED_VIDEO.typeCode) {
|
||||||
//M1拼接视频
|
//M1拼接视频
|
||||||
if (m1StitchedVideoMessage == null) {
|
if (m1StitchedVideoMessage == null) {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ public class VehicleStateMessage extends MyAbstractMessageHandler {
|
|||||||
long nowTime = 0;
|
long nowTime = 0;
|
||||||
if (CupidLogUtils.isEnableLog())
|
if (CupidLogUtils.isEnableLog())
|
||||||
nowTime = SystemClock.elapsedRealtime();
|
nowTime = SystemClock.elapsedRealtime();
|
||||||
|
AutopilotAbilityManager.getInstance().setVehicleState(vehicleState);
|
||||||
ChassisStatesOuterClass.ChassisStates chassisStates = compatibility(adasListener, raw, vehicleState);
|
ChassisStatesOuterClass.ChassisStates chassisStates = compatibility(adasListener, raw, vehicleState);
|
||||||
if (adasListener != null) {
|
if (adasListener != null) {
|
||||||
//TODO 暂时关闭老底盘转发 后期 会删除 onVehicleState
|
//TODO 暂时关闭老底盘转发 后期 会删除 onVehicleState
|
||||||
|
|||||||
Reference in New Issue
Block a user