[8.2.4][adas][data-center] 增加驾驶模式和否启用AIP选项功能 命令下发和查询接口
This commit is contained in:
@@ -389,6 +389,21 @@ object FunctionBuildConfig {
|
||||
@JvmField
|
||||
var isFaultSlowDown = true
|
||||
|
||||
/**
|
||||
* AIP功能开关
|
||||
* 目前只有bus 司机端
|
||||
*/
|
||||
@Volatile
|
||||
@JvmField
|
||||
var isActivateAip = false
|
||||
|
||||
/**
|
||||
* 驾驶模式style 0-正常模式 1-安全模式 2-专业模式
|
||||
* 目前只有bus 司机端
|
||||
*/
|
||||
@Volatile
|
||||
@JvmField
|
||||
var drivingStyle = 0
|
||||
/**
|
||||
* 考试功能面板是否打开
|
||||
*/
|
||||
|
||||
@@ -798,6 +798,20 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider {
|
||||
*/
|
||||
fun sendV2iDownPerceptionToPnc(enable: Int): Boolean
|
||||
|
||||
/**
|
||||
* 驾驶模式
|
||||
*
|
||||
* @param style 0-正常模式 1-安全模式 2-专业模式
|
||||
*/
|
||||
fun sendDrivingStyle(style: Int): Boolean
|
||||
|
||||
/**
|
||||
* 是否启用AIP选项功能
|
||||
*
|
||||
* @param enable false: off true:on 默认false
|
||||
*/
|
||||
fun sendActivateAip(enable: Boolean): Boolean
|
||||
|
||||
/**
|
||||
* 云端配置控制
|
||||
* @param type 0:蘑菇云 1:NDE云 2:基础平台云
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mogo.eagle.core.function.api.autopilot
|
||||
|
||||
import com.zhjt.mogo.adas.data.bean.*
|
||||
import mogo.telematics.pad.*
|
||||
import com.zhjt.mogo.adas.data.bean.AdasParam
|
||||
import mogo.telematics.pad.MessagePad
|
||||
|
||||
|
||||
interface IMoGoGetParamResponseListener {
|
||||
@@ -16,5 +16,10 @@ interface IMoGoGetParamResponseListener {
|
||||
* @param getParamResp 配置参数
|
||||
* @param adasParam 解析后的配置参数
|
||||
*/
|
||||
fun onGetParamResp(header: MessagePad.Header, getParamResp: MessagePad.SetParamReq, adasParam: AdasParam)
|
||||
fun onGetParamResp(getParamResp: MessagePad.SetParamReq, adasParam: AdasParam){}
|
||||
|
||||
/**
|
||||
* AIP功能开关状态变更 只有变动才回调
|
||||
*/
|
||||
fun onChangeAipState(isActivateAip :Boolean){}
|
||||
}
|
||||
@@ -1179,6 +1179,24 @@ object CallerAutoPilotControlManager {
|
||||
return providerApi?.sendNdeDownEventToPnc(enable)?:false
|
||||
}
|
||||
|
||||
/**
|
||||
* 驾驶模式
|
||||
*
|
||||
* @param style 0-正常模式 1-安全模式 2-专业模式
|
||||
*/
|
||||
fun sendDrivingStyle(style: Int): Boolean{
|
||||
return providerApi?.sendDrivingStyle(style)?:false
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否启用AIP选项功能
|
||||
*
|
||||
* @param enable false: off true:on 默认false
|
||||
*/
|
||||
fun sendActivateAip(enable: Boolean): Boolean{
|
||||
return providerApi?.sendActivateAip(enable)?:false
|
||||
}
|
||||
|
||||
/**
|
||||
* V2I下行感知进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
|
||||
@@ -1,17 +1,34 @@
|
||||
package com.mogo.eagle.core.function.call.autopilot
|
||||
|
||||
import com.mogo.eagle.core.function.api.autopilot.*
|
||||
import com.mogo.eagle.core.function.call.base.*
|
||||
import com.zhjt.mogo.adas.data.bean.*
|
||||
import mogo.telematics.pad.*
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoGetParamResponseListener
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import com.zhjt.mogo.adas.data.bean.AdasParam
|
||||
import mogo.telematics.pad.MessagePad
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
object CallerAutopilotGetParamResponseDispatcher: CallerBase<IMoGoGetParamResponseListener>() {
|
||||
|
||||
private var _isActivateAip: Boolean by Delegates.observable(FunctionBuildConfig.isActivateAip) { _, oldValue, newValue ->
|
||||
if (oldValue != newValue) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onChangeAipState(newValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun dispatchResponse(header: MessagePad.Header, getParamResp: MessagePad.SetParamReq, adasParam: AdasParam) {
|
||||
fun dispatchResponse(getParamResp: MessagePad.SetParamReq, adasParam: AdasParam) {
|
||||
if (adasParam.activateAip != -1) {
|
||||
FunctionBuildConfig.isActivateAip = adasParam.activateAip > 0
|
||||
_isActivateAip = FunctionBuildConfig.isActivateAip
|
||||
}
|
||||
if (adasParam.drivingStyle != -1) {
|
||||
FunctionBuildConfig.drivingStyle = adasParam.drivingStyle
|
||||
}
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onGetParamResp(header, getParamResp, adasParam)
|
||||
listener.onGetParamResp(getParamResp, adasParam)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,120 +14,135 @@ import mogo.telematics.pad.MessagePad;
|
||||
public class AdasParam {
|
||||
/**
|
||||
* 绕障类功能开关
|
||||
* -1:未知 0:关闭 1:开启
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:关闭 1:开启
|
||||
*/
|
||||
public final int detouringCmd;
|
||||
/**
|
||||
* 变道绕障的目标障碍物速度阈值
|
||||
* -1:未知
|
||||
* -1.0:未查询/域控不存在此数据/解析失败
|
||||
*/
|
||||
public final double detouringSpeed;
|
||||
/**
|
||||
* AEB开关
|
||||
* -1:未知 0:关闭自动紧急制动功能 1:启用自动紧急制动功能
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:关闭自动紧急制动功能 1:启用自动紧急制动功能
|
||||
*/
|
||||
public final int aebCmd;
|
||||
/**
|
||||
* 限制绕障开关
|
||||
* -1:未知 0(默认):正常绕障 1:限制绕障
|
||||
* -1:未查询/域控不存在此数据/解析失败 0(默认):正常绕障 1:限制绕障
|
||||
*/
|
||||
public final int laneChangeRestrainValid;
|
||||
/**
|
||||
* 停车让行线前避让等待开关
|
||||
* -1:未知 0(默认):停车让行线前无需等待 1:停车让行线前需要等待
|
||||
* -1:未查询/域控不存在此数据/解析失败 0(默认):停车让行线前无需等待 1:停车让行线前需要等待
|
||||
*/
|
||||
public final int stopYieldValid;
|
||||
/**
|
||||
* 地图限速功能开关
|
||||
* -1:未知 0(默认):不使用地图限速功能 1:使用地图限速功能
|
||||
* -1:未查询/域控不存在此数据/解析失败 0(默认):不使用地图限速功能 1:使用地图限速功能
|
||||
*/
|
||||
public final int hadmapSpeedLimitValid;
|
||||
/**
|
||||
* 环岛模式开关
|
||||
* -1:未知 0(默认):普通模式 1:环岛模式
|
||||
* -1:未查询/域控不存在此数据/解析失败 0(默认):普通模式 1:环岛模式
|
||||
*/
|
||||
public final int rampThetaValid;
|
||||
/**
|
||||
* 弱网减速停车策略开关
|
||||
* -1:未知 0:关闭弱网减速停车策略 1(默认):使用弱网减速停车策略
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:关闭弱网减速停车策略 1(默认):使用弱网减速停车策略
|
||||
*/
|
||||
public final int weakNetSlowDown;
|
||||
|
||||
/**
|
||||
* m1拼接视频自车位置参数(string),格式:x,y,width,height
|
||||
* MAP发出的原始数据
|
||||
* null:未查询/域控不存在此数据/解析失败
|
||||
*/
|
||||
public final String m1StitchedVideoSelfVehicleParam;
|
||||
|
||||
/**
|
||||
* m1拼接视频自车位置参数
|
||||
* 解析后的数据
|
||||
* 为空的原因:未查询此数据、工控机不存在此数据、解析失败
|
||||
* null:未查询/域控不存在此数据/解析失败
|
||||
*/
|
||||
public final M1StitchedVideoSelfVehicleParam m1StitchedVideoSelfVehicleParamParse;
|
||||
/**
|
||||
* 故障减速停车策路开关
|
||||
* -1:未知 0:关闭故障减速停车策略 1(默认):使用故障减速停车策略
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:关闭故障减速停车策略 1(默认):使用故障减速停车策略
|
||||
*/
|
||||
public final int breakdownSlowDown;
|
||||
/**
|
||||
* 盲区开关
|
||||
* 0: off 1:on
|
||||
* -1:未查询/域控不存在此数据/解析失败 0: off 1:on
|
||||
*/
|
||||
public final int blindArea;
|
||||
/**
|
||||
* 融合v2n开关 NDE下行事件数据进pnc
|
||||
* 0:不发给PnC 1:发给Pnc
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:不发给PnC 1:发给Pnc
|
||||
*/
|
||||
public final int v2nToPnc;
|
||||
/**
|
||||
* 融合v2i开关 V2I下行感知数据进pnc
|
||||
* 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0
|
||||
*/
|
||||
public final int v2iToPnc;
|
||||
/**
|
||||
* 融合模式
|
||||
* 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认1
|
||||
* -1:未查询/域控不存在此数据/解析失败 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认1
|
||||
*/
|
||||
public final int fusionMode;
|
||||
|
||||
/**
|
||||
* 座椅状态(座椅压力)
|
||||
* 0:表示仅主驾位有人,1:表示仅副驾位有人,2:表示主驾和副驾同时有人,3:表示仅后排有人,4:表示主驾有人+后排有人,5:表示副驾有人+后排有人,6:表示主驾和副驾同时有人+后排有人,7: 所有座位都无人, 255:缺省
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:表示仅主驾位有人,1:表示仅副驾位有人,2:表示主驾和副驾同时有人,3:表示仅后排有人,4:表示主驾有人+后排有人,5:表示副驾有人+后排有人,6:表示主驾和副驾同时有人+后排有人,7: 所有座位都无人, 255:缺省
|
||||
*/
|
||||
public final int seatState;
|
||||
/**
|
||||
* 座椅状态(座椅压力)
|
||||
* 解析后的数据
|
||||
* 为空的原因:未查询此数据、工控机不存在此数据、解析失败
|
||||
* null:未查询/域控不存在此数据/解析失败
|
||||
*/
|
||||
public final SeatState seatStateParse;
|
||||
|
||||
/**
|
||||
* 超车的最大速度阈值
|
||||
* m/s, 范围[3, 12.5]
|
||||
* -1.0:未查询/域控不存在此数据/解析失败
|
||||
*/
|
||||
public final double overtakeMaxSpeed;
|
||||
/**
|
||||
* 故障模拟指令
|
||||
* 0:无模拟 1:线控失效
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:无模拟 1:线控失效
|
||||
*
|
||||
*/
|
||||
public final int faultSimulationCmd;
|
||||
/**
|
||||
* 会车开关
|
||||
* 0:关 1:开
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:关 1:开
|
||||
*/
|
||||
public final int parkVehCross;
|
||||
/**
|
||||
* 超车开关
|
||||
* 0:关 1:开
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:关 1:开
|
||||
*/
|
||||
public final int parkVehOvertake;
|
||||
/**
|
||||
* NDE下行感知数据进pnc
|
||||
* 0:不发给PnC 1:发给Pnc
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:不发给PnC 1:发给Pnc
|
||||
*/
|
||||
public final int perceptionToPnc;
|
||||
/**
|
||||
* 驾驶模式
|
||||
* -1:未查询/域控不存在此数据/解析失败 0-正常模式 1-安全模式 2-专业模式
|
||||
*/
|
||||
public final int drivingStyle;
|
||||
|
||||
/**
|
||||
* 是否启用AIP选项功能
|
||||
* -1:未查询/域控不存在此数据/解析失败 0:关 1:开
|
||||
*/
|
||||
public final int activateAip;
|
||||
|
||||
|
||||
public AdasParam(MessagePad.SetParamReq param) {
|
||||
int detouringCmd = -1;
|
||||
@@ -152,6 +167,8 @@ public class AdasParam {
|
||||
int parkVehCross = -1;
|
||||
int parkVehOvertake = -1;
|
||||
int perceptionToPnc = -1;
|
||||
int drivingStyle = -1;
|
||||
int activateAip = -1;
|
||||
if (param != null) {
|
||||
int size = param.getReqsCount();
|
||||
if (size > 0) {
|
||||
@@ -272,6 +289,14 @@ public class AdasParam {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
perceptionToPnc = Integer.parseInt(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.DRIVING_STYLE_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
drivingStyle = Integer.parseInt(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.ACTIVATE_AIP_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
activateAip = Integer.parseInt(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -298,6 +323,8 @@ public class AdasParam {
|
||||
this.parkVehCross = parkVehCross;
|
||||
this.parkVehOvertake = parkVehOvertake;
|
||||
this.perceptionToPnc = perceptionToPnc;
|
||||
this.drivingStyle = drivingStyle;
|
||||
this.activateAip = activateAip;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -364,6 +391,12 @@ public class AdasParam {
|
||||
if (perceptionToPnc != -1) {
|
||||
msg += "NDE下行感知数据进PNC=" + (perceptionToPnc == 0 ? "不发给PnC" : "发给PnC");
|
||||
}
|
||||
if (drivingStyle != -1) {
|
||||
msg += "驾驶模式=" + (drivingStyle == 0 ? "正常模式" : drivingStyle == 1 ? "安全模式" : drivingStyle == 2 ? "专业模式" : "其他模式,值:" + drivingStyle) + '\n';
|
||||
}
|
||||
if (activateAip != -1) {
|
||||
msg += "AIP功能=" + (activateAip == 0 ? "关" : "开") + '\n';
|
||||
}
|
||||
return msg;
|
||||
|
||||
// return "绕障类功能开关=" + (detouringCmd == -1 ? "未知" : detouringCmd == 0 ? "关" : "开") +
|
||||
|
||||
@@ -885,12 +885,15 @@ message SetOneParam
|
||||
// 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
|
||||
// 22: /autopilot/driving_style(int) 驾驶模式( 0-正常模式 1-安全模式 2-专业模式)
|
||||
// 23: /autopilot/is_activate_AIP(bool) 是否启用AIP选项功能
|
||||
string value = 2; // 转成字符串的值
|
||||
}
|
||||
|
||||
message SetParamReq
|
||||
{
|
||||
repeated SetOneParam reqs = 1;
|
||||
bool need_ack = 2; //是否需要回传rosparam值给pad,仅用于22、23
|
||||
}
|
||||
|
||||
//message definition for MsgTypeTripInfoEvent
|
||||
|
||||
@@ -26,6 +26,9 @@ enum MapSystemParamType{
|
||||
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
|
||||
DRIVING_STYLE = 22;//22: /autopilot/driving_style(int) 驾驶模式( 0-正常模式 1-安全模式 2-专业模式)
|
||||
ACTIVATE_AIP = 23;//23: /autopilot/is_activate_AIP(bool) 是否启用AIP选项功能
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -63,7 +63,6 @@ import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop;
|
||||
import com.zhjt.mogo.adas.utils.ByteUtil;
|
||||
import com.zhjt.service.chain.ChainLog;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -2260,14 +2259,22 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
* * =0:表示乘客屏模式添加到WS发送消息队列
|
||||
* * -1L:添加到WS发送消息队列失败
|
||||
*/
|
||||
private long sendSetParamReq(int type, String value) {
|
||||
MessagePad.SetOneParam oneParam = MessagePad.SetOneParam
|
||||
.newBuilder().setType(type).setValue(value).build();
|
||||
MessagePad.SetParamReq req = MessagePad.SetParamReq
|
||||
private long sendSetParamReq(int type, @Nullable String value) {
|
||||
MessagePad.SetOneParam.Builder builder = MessagePad.SetOneParam
|
||||
.newBuilder().setType(type);
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
builder.setValue(value);
|
||||
}
|
||||
MessagePad.SetOneParam oneParam = builder.build();
|
||||
|
||||
|
||||
MessagePad.SetParamReq.Builder reqBuilder = MessagePad.SetParamReq
|
||||
.newBuilder()
|
||||
.addReqs(oneParam)
|
||||
.build();
|
||||
return sendPBMessage(MessageType.TYPE_SEND_SET_PARAM_REQ, req.toByteArray());
|
||||
.addReqs(oneParam);
|
||||
if (AdasConstants.MapSystemParamType.DRIVING_STYLE_VALUE == type || AdasConstants.MapSystemParamType.ACTIVATE_AIP_VALUE == type) {
|
||||
reqBuilder.setNeedAck(true);
|
||||
}
|
||||
return sendPBMessage(MessageType.TYPE_SEND_SET_PARAM_REQ, reqBuilder.build().toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2315,7 +2322,9 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
* {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD 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}
|
||||
* {@link AdasConstants.MapSystemParamType#PERCEPTION_TO_PNC Value类型:boolean或boolean类型String}
|
||||
* {@link AdasConstants.MapSystemParamType#DRIVING_STYLE Value类型:int或int类型String}
|
||||
* {@link AdasConstants.MapSystemParamType#ACTIVATE_AIP Value类型:int或int类型String}
|
||||
* @return 消息是否添加到WS消息发送队列。由于批量设置参数,调用的域控接口存在不同,实际调用域控最多2个接口,调用次数最多4次,所以最多返回4条ID数据
|
||||
* * 返回值为非0的正整数时表示下发消息的消息ID
|
||||
* * >=0:表示添加到WS发送消息队列
|
||||
@@ -2345,6 +2354,9 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
oneParamBuilder.setValue(String.valueOf(value));
|
||||
}
|
||||
builder.addReqs(oneParamBuilder);
|
||||
if (AdasConstants.MapSystemParamType.DRIVING_STYLE == key || AdasConstants.MapSystemParamType.ACTIVATE_AIP == key) {
|
||||
builder.setNeedAck(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2651,6 +2663,36 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
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
|
||||
*
|
||||
* @param style 0-正常模式 1-安全模式 2-专业模式
|
||||
* @return 消息是否添加到WS消息发送队列,返回值为非0的正整数时表示下发消息的消息ID
|
||||
* * >=0:表示添加到WS发送消息队列
|
||||
* * =0:表示乘客屏模式添加到WS发送消息队列
|
||||
* * -1L:添加到WS发送消息队列失败
|
||||
*/
|
||||
@Override
|
||||
public long sendDrivingStyle(int style) {
|
||||
return sendSetParamReq(AdasConstants.MapSystemParamType.DRIVING_STYLE_VALUE, String.valueOf(style));
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否启用AIP选项功能
|
||||
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck
|
||||
*
|
||||
* @param enable 0: off 1:on 默认0
|
||||
* @return 消息是否添加到WS消息发送队列,返回值为非0的正整数时表示下发消息的消息ID
|
||||
* * >=0:表示添加到WS发送消息队列
|
||||
* * =0:表示乘客屏模式添加到WS发送消息队列
|
||||
* * -1L:添加到WS发送消息队列失败
|
||||
*/
|
||||
@Override
|
||||
public long sendActivateAip(int enable) {
|
||||
return sendSetParamReq(AdasConstants.MapSystemParamType.ACTIVATE_AIP_VALUE, String.valueOf(enable));
|
||||
}
|
||||
|
||||
/**
|
||||
* 盲区数据开关
|
||||
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck
|
||||
@@ -2745,6 +2787,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
.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))
|
||||
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.DRIVING_STYLE_VALUE))
|
||||
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.ACTIVATE_AIP_VALUE))
|
||||
.build();
|
||||
} else {
|
||||
MessagePad.SetParamReq.Builder builder = MessagePad.SetParamReq.newBuilder();
|
||||
@@ -3109,7 +3153,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
public long sendOtaPadMsgQuery(@Nullable String queryStr) {
|
||||
SsmInfo.PureStr.Builder builder = SsmInfo.PureStr.newBuilder();
|
||||
builder.setData(TextUtils.isEmpty(queryStr) ? "" : queryStr);
|
||||
return sendSsmFuncMsg(false,system_master.SsmInfo.MessageType.OTA_PAD_MSG,builder.build().toByteString());
|
||||
return sendSsmFuncMsg(false, system_master.SsmInfo.MessageType.OTA_PAD_MSG, builder.build().toByteString());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1485,6 +1485,36 @@ public class AdasManager implements IAdasNetCommApi {
|
||||
return mChannel == null ? -1L : mChannel.sendV2iDownPerceptionToPnc(enable);
|
||||
}
|
||||
|
||||
/**
|
||||
* 驾驶模式
|
||||
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck
|
||||
*
|
||||
* @param style 0-正常模式 1-安全模式 2-专业模式
|
||||
* @return 消息是否添加到WS消息发送队列,返回值为非0的正整数时表示下发消息的消息ID
|
||||
* * >=0:表示添加到WS发送消息队列
|
||||
* * =0:表示乘客屏模式添加到WS发送消息队列
|
||||
* * -1L:添加到WS发送消息队列失败
|
||||
*/
|
||||
@Override
|
||||
public long sendDrivingStyle(int style) {
|
||||
return mChannel == null ? -1L : mChannel.sendDrivingStyle(style);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否启用AIP选项功能
|
||||
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck
|
||||
*
|
||||
* @param enable 0: off 1:on 默认0
|
||||
* @return 消息是否添加到WS消息发送队列,返回值为非0的正整数时表示下发消息的消息ID
|
||||
* * >=0:表示添加到WS发送消息队列
|
||||
* * =0:表示乘客屏模式添加到WS发送消息队列
|
||||
* * -1L:添加到WS发送消息队列失败
|
||||
*/
|
||||
@Override
|
||||
public long sendActivateAip(int enable) {
|
||||
return mChannel == null ? -1L : mChannel.sendActivateAip(enable);
|
||||
}
|
||||
|
||||
/**
|
||||
* 盲区数据开关
|
||||
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck
|
||||
@@ -1552,7 +1582,9 @@ public class AdasManager implements IAdasNetCommApi {
|
||||
* {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD 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}
|
||||
* {@link AdasConstants.MapSystemParamType#PERCEPTION_TO_PNC Value类型:boolean或boolean类型String}
|
||||
* {@link AdasConstants.MapSystemParamType#DRIVING_STYLE Value类型:int或int类型String}
|
||||
* {@link AdasConstants.MapSystemParamType#ACTIVATE_AIP Value类型:int或int类型String}
|
||||
* @return 消息是否添加到WS消息发送队列。由于批量设置参数,调用的域控接口存在不同,实际调用域控最多2个接口,调用次数最多4次,所以最多返回4条ID数据
|
||||
* * 返回值为非0的正整数时表示下发消息的消息ID
|
||||
* * >=0:表示添加到WS发送消息队列
|
||||
|
||||
@@ -1038,6 +1038,29 @@ public interface IAdasNetCommApi {
|
||||
*/
|
||||
long sendV2iDownPerceptionToPnc(int enable);
|
||||
|
||||
/**
|
||||
* 驾驶模式
|
||||
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck
|
||||
*
|
||||
* @param style 0-正常模式 1-安全模式 2-专业模式
|
||||
* @return 消息是否添加到WS消息发送队列,返回值为非0的正整数时表示下发消息的消息ID
|
||||
* * >=0:表示添加到WS发送消息队列
|
||||
* * =0:表示乘客屏模式添加到WS发送消息队列
|
||||
* * -1L:添加到WS发送消息队列失败
|
||||
*/
|
||||
long sendDrivingStyle(int style);
|
||||
|
||||
/**
|
||||
* 是否启用AIP选项功能
|
||||
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck
|
||||
*
|
||||
* @param enable 0: off 1:on 默认0
|
||||
* @return 消息是否添加到WS消息发送队列,返回值为非0的正整数时表示下发消息的消息ID
|
||||
* * >=0:表示添加到WS发送消息队列
|
||||
* * =0:表示乘客屏模式添加到WS发送消息队列
|
||||
* * -1L:添加到WS发送消息队列失败
|
||||
*/
|
||||
long sendActivateAip(int enable);
|
||||
/*******************************设置参数命令 V2************************************/
|
||||
/**
|
||||
* 盲区数据开关
|
||||
@@ -1099,7 +1122,9 @@ public interface IAdasNetCommApi {
|
||||
* {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD 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}
|
||||
* {@link AdasConstants.MapSystemParamType#PERCEPTION_TO_PNC Value类型:boolean或boolean类型String}
|
||||
* {@link AdasConstants.MapSystemParamType#DRIVING_STYLE Value类型:int或int类型String}
|
||||
* {@link AdasConstants.MapSystemParamType#ACTIVATE_AIP Value类型:int或int类型String}
|
||||
* @return 消息是否添加到WS消息发送队列。由于批量设置参数,调用的域控接口存在不同,实际调用域控最多2个接口,调用次数最多4次,所以最多返回4条ID数据
|
||||
* * 返回值为非0的正整数时表示下发消息的消息ID
|
||||
* * >=0:表示添加到WS发送消息队列
|
||||
|
||||
Reference in New Issue
Block a user