[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 {
|
||||
|
||||
@@ -107,6 +107,9 @@ enum MessageType
|
||||
MsgTypeCloudConfig = 0x10135;//云端配置查询和返回(上下行)
|
||||
MsgTypeImgUploadCloudEnable = 0x10136;//摄像头上传NDE云开关
|
||||
MsgTypeImgUploadCloudStatusQuery = 0x10137;//查询摄像头上传NDE云状态
|
||||
MsgTypeForceStopOrStartCloudReq = 0x10138;//关闭或打开云链接
|
||||
MsgTypeSetObuUploadReq = 0x10139;//关闭或打开域控上报自车数据到OBU
|
||||
MsgTypeObuUploadStatus = 0x1013A;//obu上报状态查询以结果(上下行)
|
||||
}
|
||||
|
||||
message Header
|
||||
@@ -856,8 +859,8 @@ message SetOneParam
|
||||
// 9:m1拼接视频自车位置参数(string), 格式:x,y,width,height
|
||||
// 10:故障减速停车策略开关(bool) 0:关闭故障减速停车策略 1:使用故障减速停车策略 默认1
|
||||
// 11: 盲区开关(bool) 0: off 1:on /telematics/sensor/blindarea_flag
|
||||
// 12: 融合v2n开关(bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_flag
|
||||
// 13: 融合v2i开关(bool) 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0 /telematics/fusion/v2i_flag
|
||||
// 12: 融合v2n开关 NDE下行事件数据进pnc (bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_flag
|
||||
// 13: 融合v2i开关 V2I下行感知数据进pnc (bool) 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0 /telematics/fusion/v2i_flag
|
||||
// 14: 融合模式(int) 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认1 /telematics/fusion/fusion_mode
|
||||
// 15:座椅状态(int) 0:表示仅主驾位有人,1:表示仅副驾位有人,2:表示主驾和副驾同时有人,3:表示仅后排有人,4:表示主驾有人+后排有人,5:表示副驾有人+后排有人,6:表示主驾和副驾同时有人+后排有人,7: 所有座位都无人, 255:缺省
|
||||
// 16: 超车的最大速度阈值(double, m/s) T1/T2: 范围[3, 12.5], 默认值10
|
||||
@@ -865,6 +868,7 @@ message SetOneParam
|
||||
// 18: 碰撞上报(null) TODO 废弃,使用:message CollisionReport
|
||||
// 19: 会车开关(bool) 0: off 1:on 默认0
|
||||
// 20: 超车开关(bool) 0: off 1:on 默认0
|
||||
// 21: NDE下行感知数据进pnc(bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_perception_flag
|
||||
string value = 2; // 转成字符串的值
|
||||
}
|
||||
|
||||
@@ -998,6 +1002,15 @@ message EZhouCloud
|
||||
bytes data = 1;
|
||||
}
|
||||
|
||||
//message definition for MsgTypeForceStopOrStartCloudReq
|
||||
//云连接地址
|
||||
message ForceStopOrStartReq
|
||||
{
|
||||
uint32 type = 1;//0:蘑菇云 1:NDE云 2:基础平台云
|
||||
uint32 direction = 2;//0:上行和下行 1:上行 2:下行
|
||||
bool enable = 3;//连接使能开关, true:开 false:关闭
|
||||
}
|
||||
|
||||
//message definition for MsgTypeCloudConfig
|
||||
//云连接地址
|
||||
message CloudLinkAddr
|
||||
@@ -1007,6 +1020,7 @@ message CloudLinkAddr
|
||||
string domain = 3;//域名
|
||||
uint32 port = 4;//端口 0xFFFFFFFF 无效值
|
||||
bool enable = 5;//连接使能开关, true:开 false:关闭
|
||||
string ip = 6;//ip
|
||||
}
|
||||
|
||||
//域控连接的云端配置
|
||||
@@ -1024,4 +1038,10 @@ message ImgUploadCloudCmd {
|
||||
//查询摄像头上传NDE云状态返回
|
||||
message ImgUploadCloudStatusResp {
|
||||
bool enable = 1; //false: 关闭, true: 打开
|
||||
}
|
||||
}
|
||||
|
||||
//message definition for MsgTypeSetObuUploadReq
|
||||
message SetEnableReq
|
||||
{
|
||||
uint32 enable = 1; //1: enable, 0: disable
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@ enum MapSystemParamType{
|
||||
M1_STITCHED_VIDEO_SELF_VEHICLE_PARAM = 9;//9:m1拼接视频自车位置参数(string), 格式:x,y,width,height
|
||||
BREAKDOWN_SLOW_DOWN = 10;//10:故障减速停车策略开关(bool) 0:关闭故障减速停车策略 1:使用故障减速停车策略 默认1
|
||||
BLIND_AREA = 11;//11: 盲区开关(bool) 0: off 1:on /telematics/sensor/blindarea_flag
|
||||
V2N_TO_PNC = 12;//12: 融合v2n开关(bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_flag
|
||||
V2I_TO_PNC = 13;//13: 融合v2i开关(bool) 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0 /telematics/fusion/v2i_flag
|
||||
V2N_TO_PNC = 12;//12: 融合v2n开关 NDE下行事件数据进pnc (bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_flag
|
||||
V2I_TO_PNC = 13;//13: 融合v2i开关 V2I下行感知数据进pnc (bool) 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0 /telematics/fusion/v2i_flag
|
||||
FUSION_MODE = 14;//14: 融合模式(int) 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认1 /telematics/fusion/fusion_mode
|
||||
SEAT_STATE = 15;//15: 座椅状态(int) 0:表示仅主驾位有人,1:表示仅副驾位有人,2:表示主驾和副驾同时有人,3:表示仅后排有人,4:表示主驾有人+后排有人,5:表示副驾有人+后排有人,6:表示主驾和副驾同时有人+后排有人,7: 所有座位都无人, 255:缺省
|
||||
OVERTAKE_MAX_SPEED = 16;//16: 超车的最大速度阈值(double, m/s, 范围[3, 12.5])
|
||||
@@ -25,6 +25,7 @@ enum MapSystemParamType{
|
||||
COLLISION_REPORTING = 18;//18: 碰撞上报(null) TODO 废弃,使用:message CollisionReport
|
||||
PARK_VEH_CROSS = 19;//19: 会车开关(bool) 0: off 1:on 默认0
|
||||
PARK_VEH_OVERTAKE = 20;//20: 超车开关(bool) 0: off 1:on 默认0
|
||||
PERCEPTION_TO_PNC = 21;//21: NDE下行感知数据进pnc(bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_perception_flag
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user