[8.1.0][adas] 多链路数据控制接口开发
This commit is contained in:
@@ -105,6 +105,10 @@ public enum MessageType {
|
||||
TYPE_SEND_IMG_UPLOAD_CLOUD_ENABLE(MessagePad.MessageType.MsgTypeImgUploadCloudEnable, "摄像头上传NDE云开关"),
|
||||
TYPE_SEND_IMG_UPLOAD_CLOUD_STATUS_QUERY(MessagePad.MessageType.MsgTypeImgUploadCloudStatusQuery, "摄像头上传NDE云状态查询"),
|
||||
TYPE_RECEIVE_IMG_UPLOAD_CLOUD_STATUS_QUERY(MessagePad.MessageType.MsgTypeImgUploadCloudStatusQuery, "摄像头上传NDE云状态响应"),
|
||||
TYPE_SEND_FORCE_STOP_OR_START_CLOUD_REQ(MessagePad.MessageType.MsgTypeForceStopOrStartCloudReq, "云端配置控制"),
|
||||
TYPE_SEND_SET_OBU_UPLOAD_REQ(MessagePad.MessageType.MsgTypeSetObuUploadReq, "域控上报OBU开关控制"),
|
||||
TYPE_SEND_OBU_UPLOAD_STATUS(MessagePad.MessageType.MsgTypeObuUploadStatus, "域控上报OBU开关状态查询"),
|
||||
TYPE_RECEIVE_OBU_UPLOAD_STATUS(MessagePad.MessageType.MsgTypeObuUploadStatus, "域控上报OBU开关状态响应"),
|
||||
|
||||
//TODO 透传原始pb文件中不存在以下type。由于Java中无法强转,所以在mogo-adas-data/message_pad.proto中放开注释
|
||||
TYPE_RECEIVE_PLANNING_DECISION_STATE(MessagePad.MessageType.MsgTypePlanningDecisionState, "Planning决策状态"),
|
||||
|
||||
@@ -76,12 +76,12 @@ public class AdasParam {
|
||||
*/
|
||||
public final int blindArea;
|
||||
/**
|
||||
* 融合v2n开关
|
||||
* 融合v2n开关 NDE下行事件数据进pnc
|
||||
* 0:不发给PnC 1:发给Pnc
|
||||
*/
|
||||
public final int v2nToPnc;
|
||||
/**
|
||||
* 融合v2i开关
|
||||
* 融合v2i开关 V2I下行感知数据进pnc
|
||||
* 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0
|
||||
*/
|
||||
public final int v2iToPnc;
|
||||
@@ -108,6 +108,26 @@ public class AdasParam {
|
||||
* m/s, 范围[3, 12.5]
|
||||
*/
|
||||
public final double overtakeMaxSpeed;
|
||||
/**
|
||||
* 故障模拟指令
|
||||
* 0:无模拟 1:线控失效
|
||||
*/
|
||||
public final int faultSimulationCmd;
|
||||
/**
|
||||
* 会车开关
|
||||
* 0:关 1:开
|
||||
*/
|
||||
public final int parkVehCross;
|
||||
/**
|
||||
* 超车开关
|
||||
* 0:关 1:开
|
||||
*/
|
||||
public final int parkVehOvertake;
|
||||
/**
|
||||
* NDE下行感知数据进pnc
|
||||
* 0:不发给PnC 1:发给Pnc
|
||||
*/
|
||||
public final int perceptionToPnc;
|
||||
|
||||
public AdasParam(MessagePad.SetParamReq param) {
|
||||
int detouringCmd = -1;
|
||||
@@ -128,7 +148,10 @@ public class AdasParam {
|
||||
int seatState = -1;
|
||||
SeatState seatStateParse = null;
|
||||
double overtakeMaxSpeed = -1.0;
|
||||
|
||||
int faultSimulationCmd = -1;
|
||||
int parkVehCross = -1;
|
||||
int parkVehOvertake = -1;
|
||||
int perceptionToPnc = -1;
|
||||
if (param != null) {
|
||||
int size = param.getReqsCount();
|
||||
if (size > 0) {
|
||||
@@ -233,6 +256,22 @@ public class AdasParam {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
overtakeMaxSpeed = Double.parseDouble(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.FAULT_SIMULATION_CMD_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
faultSimulationCmd = Integer.parseInt(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.PARK_VEH_CROSS_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
parkVehCross = Integer.parseInt(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.PARK_VEH_OVERTAKE_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
parkVehOvertake = Integer.parseInt(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.PERCEPTION_TO_PNC_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
perceptionToPnc = Integer.parseInt(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -255,27 +294,99 @@ public class AdasParam {
|
||||
this.seatState = seatState;
|
||||
this.seatStateParse = seatStateParse;
|
||||
this.overtakeMaxSpeed = overtakeMaxSpeed;
|
||||
this.faultSimulationCmd = faultSimulationCmd;
|
||||
this.parkVehCross = parkVehCross;
|
||||
this.parkVehOvertake = parkVehOvertake;
|
||||
this.perceptionToPnc = perceptionToPnc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "绕障类功能开关=" + (detouringCmd == -1 ? "未知" : detouringCmd == 0 ? "关" : "开") +
|
||||
"\n变道绕障的目标障碍物速度阈值=" + (detouringSpeed == -1 ? "未知" : detouringSpeed + "m/s") +
|
||||
"\nAEB开关=" + (aebCmd == -1 ? "未知" : aebCmd == 0 ? "关" : "开") +
|
||||
"\n限制绕障开关=" + (laneChangeRestrainValid == -1 ? "未知" : laneChangeRestrainValid == 0 ? "正常绕障" : "限制绕障") +
|
||||
"\n停车让行线前避让等待开关=" + (stopYieldValid == -1 ? "未知" : stopYieldValid == 0 ? "停车让行线前无需避让等待" : "停车让行线前需要避让等待") +
|
||||
"\n地图限速功能开关=" + (hadmapSpeedLimitValid == -1 ? "未知" : hadmapSpeedLimitValid == 0 ? "不使用地图限速功能" : "使用地图限速功能") +
|
||||
"\n环岛模式开关=" + (rampThetaValid == -1 ? "未知" : rampThetaValid == 0 ? "普通模式" : "环岛模式") +
|
||||
"\n弱网减速停车策略开关=" + (weakNetSlowDown == -1 ? "未知" : weakNetSlowDown == 0 ? "关闭弱网减速停车策略" : "使用弱网减速停车策略") +
|
||||
"\nm1拼接视频自车位置参数=" + (m1StitchedVideoSelfVehicleParam == null ? "未知" : m1StitchedVideoSelfVehicleParam) +
|
||||
"\n故障减速停车策路开关=" + (breakdownSlowDown == -1 ? "未知" : breakdownSlowDown == 0 ? "关闭故障减速停车策略" : "使用故障减速停车策略") +
|
||||
"\n盲区开关=" + (blindArea == -1 ? "未知" : blindArea == 0 ? "关" : "开") +
|
||||
"\n融合V2N开关=" + (v2nToPnc == -1 ? "未知" : v2nToPnc == 0 ? "不发给PnC" : "发给PnC") +
|
||||
"\n融合V2I开关=" + (v2iToPnc == -1 ? "未知" : v2iToPnc == 0 ? "不发给PnC和鹰眼" : "发给Pnc和鹰眼") +
|
||||
"\n融合模式=" + (fusionMode == -1 ? "未知" : fusionMode == 5 ? "纯路侧模式" : fusionMode == 4 ? "透传模式" : fusionMode == 3 ? "超视距模式" : fusionMode == 2 ? "盲区模式" : "全融合模式") +
|
||||
"\n座椅状态(座椅压力)=" + (seatState == -1 ? "未知" : seatState + (seatStateParse == null ? "[此值无法解析]" : seatStateParse.toString())) +
|
||||
"\n超车最大速度阈值=" + (overtakeMaxSpeed == -1 ? "未知" : overtakeMaxSpeed + "m/s")
|
||||
;
|
||||
|
||||
String msg = "";
|
||||
if (detouringCmd != -1) {
|
||||
msg += "绕障类功能开关=" + (detouringCmd == 0 ? "关" : "开") + '\n';
|
||||
}
|
||||
if (detouringSpeed != -1) {
|
||||
msg += "变道绕障的目标障碍物速度阈值=" + detouringSpeed + "m/s\n";
|
||||
}
|
||||
if (aebCmd != -1) {
|
||||
msg += "AEB开关=" + (aebCmd == 0 ? "关" : "开") + '\n';
|
||||
}
|
||||
if (laneChangeRestrainValid != -1) {
|
||||
msg += "限制绕障开关=" + (laneChangeRestrainValid == 0 ? "正常绕障" : "限制绕障") + '\n';
|
||||
}
|
||||
if (stopYieldValid != -1) {
|
||||
msg += "停车让行线前避让等待开关=" + (stopYieldValid == 0 ? "停车让行线前无需避让等待" : "停车让行线前需要避让等待") + '\n';
|
||||
}
|
||||
if (hadmapSpeedLimitValid != -1) {
|
||||
msg += "地图限速功能开关=" + (hadmapSpeedLimitValid == 0 ? "不使用地图限速功能" : "使用地图限速功能") + '\n';
|
||||
}
|
||||
if (rampThetaValid != -1) {
|
||||
msg += "环岛模式开关=" + (rampThetaValid == 0 ? "普通模式" : "环岛模式") + '\n';
|
||||
}
|
||||
if (weakNetSlowDown != -1) {
|
||||
msg += "弱网减速停车策略开关=" + (weakNetSlowDown == 0 ? "关闭弱网减速停车策略" : "使用弱网减速停车策略") + '\n';
|
||||
}
|
||||
if (m1StitchedVideoSelfVehicleParam != null) {
|
||||
msg += "m1拼接视频自车位置参数=" + m1StitchedVideoSelfVehicleParam + '\n';
|
||||
}
|
||||
if (breakdownSlowDown != -1) {
|
||||
msg += "故障减速停车策路开关=" + (breakdownSlowDown == 0 ? "关闭故障减速停车策略" : "使用故障减速停车策略") + '\n';
|
||||
}
|
||||
if (blindArea != -1) {
|
||||
msg += "盲区开关=" + (blindArea == 0 ? "关" : "开") + '\n';
|
||||
}
|
||||
if (v2nToPnc != -1) {
|
||||
msg += "融合V2N开关(NDE下行事件数据进pnc)=" + (v2nToPnc == 0 ? "不发给PnC" : "发给PnC") + '\n';
|
||||
}
|
||||
if (v2iToPnc != -1) {
|
||||
msg += "融合V2I开关(V2I下行感知数据进PNC)=" + (v2iToPnc == 0 ? "不发给PnC和鹰眼" : "发给Pnc和鹰眼") + '\n';
|
||||
}
|
||||
if (fusionMode != -1) {
|
||||
msg += "融合模式=" + (fusionMode == 5 ? "纯路侧模式" : fusionMode == 4 ? "透传模式" : fusionMode == 3 ? "超视距模式" : fusionMode == 2 ? "盲区模式" : "全融合模式") + '\n';
|
||||
}
|
||||
if (seatState != -1) {
|
||||
msg += "座椅状态(座椅压力)=" + (seatState + (seatStateParse == null ? "[此值无法解析]" : seatStateParse.toString())) + '\n';
|
||||
}
|
||||
if (overtakeMaxSpeed != -1) {
|
||||
msg += "超车最大速度阈值=" + overtakeMaxSpeed + "m/s\n";
|
||||
}
|
||||
if (faultSimulationCmd != -1) {
|
||||
msg += "故障模拟指令=" + (faultSimulationCmd == 0 ? "无模拟" : "线控失效") + '\n';
|
||||
}
|
||||
if (parkVehCross != -1) {
|
||||
msg += "会车开关=" + (parkVehCross == 0 ? "关" : "开") + '\n';
|
||||
}
|
||||
if (parkVehOvertake != -1) {
|
||||
msg += "超车开关=" + (parkVehOvertake == 0 ? "关" : "开") + '\n';
|
||||
}
|
||||
if (perceptionToPnc != -1) {
|
||||
msg += "NDE下行感知数据进PNC=" + (perceptionToPnc == 0 ? "不发给PnC" : "发给PnC");
|
||||
}
|
||||
return msg;
|
||||
|
||||
// return "绕障类功能开关=" + (detouringCmd == -1 ? "未知" : detouringCmd == 0 ? "关" : "开") +
|
||||
// "\n变道绕障的目标障碍物速度阈值=" + (detouringSpeed == -1 ? "未知" : detouringSpeed + "m/s") +
|
||||
// "\nAEB开关=" + (aebCmd == -1 ? "未知" : aebCmd == 0 ? "关" : "开") +
|
||||
// "\n限制绕障开关=" + (laneChangeRestrainValid == -1 ? "未知" : laneChangeRestrainValid == 0 ? "正常绕障" : "限制绕障") +
|
||||
// "\n停车让行线前避让等待开关=" + (stopYieldValid == -1 ? "未知" : stopYieldValid == 0 ? "停车让行线前无需避让等待" : "停车让行线前需要避让等待") +
|
||||
// "\n地图限速功能开关=" + (hadmapSpeedLimitValid == -1 ? "未知" : hadmapSpeedLimitValid == 0 ? "不使用地图限速功能" : "使用地图限速功能") +
|
||||
// "\n环岛模式开关=" + (rampThetaValid == -1 ? "未知" : rampThetaValid == 0 ? "普通模式" : "环岛模式") +
|
||||
// "\n弱网减速停车策略开关=" + (weakNetSlowDown == -1 ? "未知" : weakNetSlowDown == 0 ? "关闭弱网减速停车策略" : "使用弱网减速停车策略") +
|
||||
// "\nm1拼接视频自车位置参数=" + (m1StitchedVideoSelfVehicleParam == null ? "未知" : m1StitchedVideoSelfVehicleParam) +
|
||||
// "\n故障减速停车策路开关=" + (breakdownSlowDown == -1 ? "未知" : breakdownSlowDown == 0 ? "关闭故障减速停车策略" : "使用故障减速停车策略") +
|
||||
// "\n盲区开关=" + (blindArea == -1 ? "未知" : blindArea == 0 ? "关" : "开") +
|
||||
// "\n融合V2N开关(NDE下行事件数据进PNC)=" + (v2nToPnc == -1 ? "未知" : v2nToPnc == 0 ? "不发给PnC" : "发给PnC") +
|
||||
// "\n融合V2I开关(V2I下行感知数据进PNC)=" + (v2iToPnc == -1 ? "未知" : v2iToPnc == 0 ? "不发给PnC和鹰眼" : "发给Pnc和鹰眼") +
|
||||
// "\n融合模式=" + (fusionMode == -1 ? "未知" : fusionMode == 5 ? "纯路侧模式" : fusionMode == 4 ? "透传模式" : fusionMode == 3 ? "超视距模式" : fusionMode == 2 ? "盲区模式" : "全融合模式") +
|
||||
// "\n座椅状态(座椅压力)=" + (seatState == -1 ? "未知" : seatState + (seatStateParse == null ? "[此值无法解析]" : seatStateParse.toString())) +
|
||||
// "\n超车最大速度阈值=" + (overtakeMaxSpeed == -1 ? "未知" : overtakeMaxSpeed + "m/s") +
|
||||
// "\n故障模拟指令=" + (faultSimulationCmd == -1 ? "未知" : faultSimulationCmd == 0 ? "无模拟" : "线控失效") +
|
||||
// "\n会车开关=" + (parkVehCross == -1 ? "未知" : parkVehCross == 0 ? "关" : "开") +
|
||||
// "\n超车开关=" + (parkVehOvertake == -1 ? "未知" : parkVehOvertake == 0 ? "关" : "开") +
|
||||
// "\nNDE下行感知数据进pnc=" + (eventToPnc == -1 ? "未知" : eventToPnc == 0 ? "不发给PnC" : "发给PnC")
|
||||
// ;
|
||||
}
|
||||
|
||||
public static class M1StitchedVideoSelfVehicleParam {
|
||||
|
||||
Reference in New Issue
Block a user