[8.1.0][adas] 多链路数据控制接口开发

This commit is contained in:
xinfengkun
2025-05-28 16:25:52 +08:00
parent 092d248d64
commit e11db10d67
9 changed files with 445 additions and 41 deletions

View File

@@ -2311,9 +2311,9 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
* {@link AdasConstants.MapSystemParamType#SEAT_STATE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型double或double类型String}
* {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#COLLISION_REPORTING Value类型null}
* {@link AdasConstants.MapSystemParamType#PARK_VEH_CROSS Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#PARK_VEH_OVERTAKE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#PARK_VEH_CROSS Value类型int或int类型String} TODO 域控暂时未实现查询
* {@link AdasConstants.MapSystemParamType#PARK_VEH_OVERTAKE Value类型int或int类型String} TODO 域控暂时未实现查询
* {@link AdasConstants.MapSystemParamType#PERCEPTION_TO_PNC Value类型boolean或boolean类型String}
* @return 消息是否添加到WS消息发送队列。由于批量设置参数调用的域控接口存在不同实际调用域控最多2个接口调用次数最多4次所以最多返回4条ID数据
* * 返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
@@ -2338,7 +2338,11 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
long isV2V2NI = sendSetParamReqV2(ParamSetCmdOuterClass.ParamSetType.ParamSetTypeV2I, (Boolean) value);
result.add(isV2V2NI);
} else {
builder.addReqs(MessagePad.SetOneParam.newBuilder().setType(key.getNumber()).setValue(String.valueOf(value)));
MessagePad.SetOneParam.Builder oneParamBuilder = MessagePad.SetOneParam.newBuilder().setType(key.getNumber());
if (value != null) {
oneParamBuilder.setValue(String.valueOf(value));
}
builder.addReqs(oneParamBuilder);
}
}
}
@@ -2600,6 +2604,51 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
return sendSetParamReq(AdasConstants.MapSystemParamType.PARK_VEH_OVERTAKE_VALUE, String.valueOf(enable));
}
/**
* NDE下行感知进PNC开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
*
* @param enable 0: 不发给PnC 1:发给Pnc
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendNdeDownPerceptionToPnc(int enable) {
return sendSetParamReq(AdasConstants.MapSystemParamType.PERCEPTION_TO_PNC_VALUE, String.valueOf(enable));
}
/**
* NDE下行事件进PNC开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
*
* @param enable 0: 不发给PnC 1:发给Pnc
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendNdeDownEventToPnc(int enable) {
return sendSetParamReq(AdasConstants.MapSystemParamType.V2N_TO_PNC_VALUE, String.valueOf(enable));
}
/**
* V2I下行感知进PNC开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
*
* @param enable 0: 不发给PnC 1:发给Pnc
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendV2iDownPerceptionToPnc(int enable) {
return sendSetParamReq(AdasConstants.MapSystemParamType.V2I_TO_PNC_VALUE, String.valueOf(enable));
}
/**
* 盲区数据开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
@@ -2693,6 +2742,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.FUSION_MODE_VALUE))
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.SEAT_STATE_VALUE))
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.OVERTAKE_MAX_SPEED_VALUE))
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.PERCEPTION_TO_PNC_VALUE))
.build();
} else {
MessagePad.SetParamReq.Builder builder = MessagePad.SetParamReq.newBuilder();
@@ -3178,6 +3228,50 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
return sendCopyBagRequest(CopyBag.PadRequest.newBuilder().setAbortCopy(true));
}
/**
* 云端配置控制
*
* @param type 0:蘑菇云 1:NDE云 2:基础平台云
* @param direction 0:上行和下行 1:上行 2:下行 当 type == 0 或 1 时 此值只能是 0蘑菇云和NDE云只能上下行同时控制当 type == 2 时 此值不能是 0基础平台云只能上下行分开控制
* @param enable 连接使能开关, true:开 false:关闭
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendForceStopOrStartCloudReq(int type, int direction, boolean enable) {
byte[] data = MessagePad.ForceStopOrStartReq.newBuilder().setType(type).setDirection(direction).setEnable(enable).build().toByteArray();
return sendPBMessage(MessageType.TYPE_SEND_FORCE_STOP_OR_START_CLOUD_REQ, data);
}
/**
* 域控上报OBU开关控制
*
* @param enable 0:关 1:开
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendSetObuUploadReq(int enable) {
return sendPBMessage(MessageType.TYPE_SEND_SET_OBU_UPLOAD_REQ, MessagePad.SetEnableReq.newBuilder().setEnable(enable).build().toByteArray());
}
/**
* 域控上报OBU开关状态查询
*
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendObuUploadStatusQuery() {
return sendPBMessage(MessageType.TYPE_SEND_OBU_UPLOAD_STATUS, null);
}
/**
* 云端配置查询
*
@@ -3192,7 +3286,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
}
/**
* 域控摄像头上传NDE云开关命令
* 车辆图像上传行云大模型开关控制NDE云
*
* @param enable false: 关闭, true: 打开
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
@@ -3209,7 +3303,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
}
/**
* 查询域控摄像头上传NDE云开关状态查询
* 查询车辆图像上传行云大模型开关状态NDE云
*
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列

View File

@@ -1453,6 +1453,51 @@ public class AdasManager implements IAdasNetCommApi {
return mChannel == null ? -1L : mChannel.sendParkVehOvertake(enable);
}
/**
* NDE下行感知进PNC开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
*
* @param enable 0: 不发给PnC 1:发给Pnc
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendNdeDownPerceptionToPnc(int enable) {
return mChannel == null ? -1L : mChannel.sendNdeDownPerceptionToPnc(enable);
}
/**
* NDE下行事件进PNC开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
*
* @param enable 0: 不发给PnC 1:发给Pnc
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendNdeDownEventToPnc(int enable) {
return mChannel == null ? -1L : mChannel.sendNdeDownEventToPnc(enable);
}
/**
* V2I下行感知进PNC开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
*
* @param enable 0: 不发给PnC 1:发给Pnc
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendV2iDownPerceptionToPnc(int enable) {
return mChannel == null ? -1L : mChannel.sendV2iDownPerceptionToPnc(enable);
}
/**
* 盲区数据开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
@@ -1518,9 +1563,9 @@ public class AdasManager implements IAdasNetCommApi {
* {@link AdasConstants.MapSystemParamType#SEAT_STATE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型double或double类型String}
* {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#COLLISION_REPORTING Value类型null}
* {@link AdasConstants.MapSystemParamType#PARK_VEH_CROSS Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#PARK_VEH_OVERTAKE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#PARK_VEH_CROSS Value类型int或int类型String} TODO 域控暂时未实现查询
* {@link AdasConstants.MapSystemParamType#PARK_VEH_OVERTAKE Value类型int或int类型String} TODO 域控暂时未实现查询
* {@link AdasConstants.MapSystemParamType#PERCEPTION_TO_PNC Value类型boolean或boolean类型String}
* @return 消息是否添加到WS消息发送队列。由于批量设置参数调用的域控接口存在不同实际调用域控最多2个接口调用次数最多4次所以最多返回4条ID数据
* * 返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
@@ -1927,6 +1972,49 @@ public class AdasManager implements IAdasNetCommApi {
return mChannel == null ? -1L : mChannel.sendCopyBagAbortCopy();
}
/**
* 云端配置控制
*
* @param type 0:蘑菇云 1:NDE云 2:基础平台云
* @param direction 0:上行和下行 1:上行 2:下行 当 type == 0 或 1 时 此值只能是 0蘑菇云和NDE云只能上下行同时控制当 type == 2 时 此值不能是 0基础平台云只能上下行分开控制
* @param enable 连接使能开关, true:开 false:关闭
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendForceStopOrStartCloudReq(int type, int direction, boolean enable) {
return mChannel == null ? -1L : mChannel.sendForceStopOrStartCloudReq(type, direction, enable);
}
/**
* 域控上报OBU开关控制
*
* @param enable 0:关 1:开
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendSetObuUploadReq(int enable) {
return mChannel == null ? -1L : mChannel.sendSetObuUploadReq(enable);
}
/**
* 域控上报OBU开关状态查询
*
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
@Override
public long sendObuUploadStatusQuery() {
return mChannel == null ? -1L : mChannel.sendObuUploadStatusQuery();
}
/**
* 云端配置查询
*
@@ -1941,7 +2029,7 @@ public class AdasManager implements IAdasNetCommApi {
}
/**
* 域控摄像头上传NDE云开关命令
* 车辆图像上传行云大模型开关控制NDE云
*
* @param enable false: 关闭, true: 打开
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
@@ -1955,7 +2043,7 @@ public class AdasManager implements IAdasNetCommApi {
}
/**
* 查询域控摄像头上传NDE云开关状态查询
* 查询车辆图像上传行云大模型开关状态NDE云
*
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列

View File

@@ -1002,6 +1002,41 @@ public interface IAdasNetCommApi {
*/
long sendParkVehOvertake(int enable);
/**
* NDE下行感知进PNC开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
*
* @param enable 0: 不发给PnC 1:发给Pnc
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
long sendNdeDownPerceptionToPnc(int enable);
/**
* NDE下行事件进PNC开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
*
* @param enable 0: 不发给PnC 1:发给Pnc
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
long sendNdeDownEventToPnc(int enable);
/**
* V2I下行感知进PNC开关
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL}详情参见CheckSystemView中的onReceiveReceivedAck
*
* @param enable 0: 不发给PnC 1:发给Pnc
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
long sendV2iDownPerceptionToPnc(int enable);
/*******************************设置参数命令 V2************************************/
/**
@@ -1062,9 +1097,9 @@ public interface IAdasNetCommApi {
* {@link AdasConstants.MapSystemParamType#SEAT_STATE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型double或double类型String}
* {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#COLLISION_REPORTING Value类型null}
* {@link AdasConstants.MapSystemParamType#PARK_VEH_CROSS Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#PARK_VEH_OVERTAKE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#PARK_VEH_CROSS Value类型int或int类型String} TODO 域控暂时未实现查询
* {@link AdasConstants.MapSystemParamType#PARK_VEH_OVERTAKE Value类型int或int类型String} TODO 域控暂时未实现查询
* {@link AdasConstants.MapSystemParamType#PERCEPTION_TO_PNC Value类型boolean或boolean类型String}
* @return 消息是否添加到WS消息发送队列。由于批量设置参数调用的域控接口存在不同实际调用域控最多2个接口调用次数最多4次所以最多返回4条ID数据
* * 返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
@@ -1403,6 +1438,40 @@ public interface IAdasNetCommApi {
long sendCopyBagAbortCopy();
/**
* 云端配置控制
*
* @param type 0:蘑菇云 1:NDE云 2:基础平台云
* @param direction 0:上行和下行 1:上行 2:下行 当 type == 0 或 1 时 此值只能是 0蘑菇云和NDE云只能上下行同时控制当 type == 2 时 此值不能是 0基础平台云只能上下行分开控制
* @param enable 连接使能开关, true:开 false:关闭
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
long sendForceStopOrStartCloudReq(int type, int direction, boolean enable);
/**
* 域控上报OBU开关控制
*
* @param enable 0:关 1:开
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
long sendSetObuUploadReq(int enable);
/**
* 域控上报OBU开关状态查询
*
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列
* * =0表示乘客屏模式添加到WS发送消息队列
* * -1L添加到WS发送消息队列失败
*/
long sendObuUploadStatusQuery();
/**
* 云端配置查询
*
@@ -1414,7 +1483,7 @@ public interface IAdasNetCommApi {
long sendCloudConfigRequest();
/**
* 域控摄像头上传NDE云开关命令
* 车辆图像上传行云大模型开关控制NDE云
*
* @param enable false: 关闭, true: 打开
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
@@ -1425,7 +1494,7 @@ public interface IAdasNetCommApi {
long sendImgUploadCloudEnable(boolean enable);
/**
* 查询域控摄像头上传NDE云开关状态查询
* 查询车辆图像上传行云大模型开关状态NDE云
*
* @return 消息是否添加到WS消息发送队列返回值为非0的正整数时表示下发消息的消息ID
* * >=0表示添加到WS发送消息队列

View File

@@ -743,6 +743,14 @@ public interface OnAdasListener {
*/
void onNdeCloudAdviceAvw(@NonNull MessagePad.Header header, @NonNull AdvicePojo advicePojo, @NonNull AdviceAvwInfo adviceAvwInfo);
/**
* 域控上报OBU开关状态响应
*
* @param header 头
* @param enable 数据
*/
void onObuUploadStatus(@NonNull MessagePad.Header header, @NonNull MessagePad.SetEnableReq enable);
/**
* 是否有能力启动自动驾驶
*