[6.2.0][adas]新增超车的最大速度阈值设置接口

This commit is contained in:
xinfengkun
2023-11-02 17:52:50 +08:00
parent f93d60c0c9
commit 5b99d71a85
11 changed files with 86 additions and 11 deletions

View File

@@ -649,6 +649,16 @@ class MoGoAutopilotControlProvider :
return AdasManager.getInstance().sendFusionMode(cmd)
}
/**
* 超车的最大速度闻值(double, m/s, 范围[3, 12.5])
*
* @param maxSpeed m/s, 范围[3, 12.5]
* @return boolean
*/
override fun sendOvertakeMaxSpeed(maxSpeed: Double): Boolean {
return AdasManager.getInstance().sendOvertakeMaxSpeed(maxSpeed)
}
override fun sendSetParamReq(param: Map<AdasConstants.MapSystemParamType, Any>): Boolean {
return AdasManager.getInstance().sendSetParamReq(param)
}

View File

@@ -224,6 +224,14 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider {
*/
fun sendFusionMode(cmd: Int): Boolean
/**
* 超车的最大速度闻值(double, m/s, 范围[3, 12.5])
*
* @param maxSpeed m/s, 范围[3, 12.5]
* @return boolean
*/
fun sendOvertakeMaxSpeed(maxSpeed: Double): Boolean
/**
* 批量设置参数命令
*
@@ -240,6 +248,7 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider {
* {@link AdasConstants.MapSystemParamType#V2N_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#V2I_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#FUSION_MODE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型double或double类型String}
* @return boolean
*/
fun sendSetParamReq(param: Map<AdasConstants.MapSystemParamType, Any>): Boolean

View File

@@ -325,6 +325,17 @@ object CallerAutoPilotControlManager {
return providerApi?.sendFusionMode(cmd)
}
/**
* 超车的最大速度阈值(double, m/s, 范围[3, 12.5])
*
* @param maxSpeed m/s, 范围[3, 12.5]
* @return boolean
*/
fun sendOvertakeMaxSpeed(maxSpeed: Double): Boolean? {
return providerApi?.sendOvertakeMaxSpeed(maxSpeed)
}
/**
* 批量设置参数命令
*
@@ -341,6 +352,7 @@ object CallerAutoPilotControlManager {
* {@link AdasConstants.MapSystemParamType#V2N_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#V2I_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#FUSION_MODE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型double或double类型String}
* @return boolean
*/
fun sendSetParamReq(param: Map<AdasConstants.MapSystemParamType, Any>): Boolean? {

View File

@@ -9,9 +9,7 @@ import fault_management.FmInfo
*/
object CallerFaultManagementStateListenerManager : CallerBase<IMoGoFaultManagementStateListener>() {
/**
* 后摄像头视频数据
*/
fun invokeFaultManagementState(fmInfo: FmInfo.FaultResultMsg) {
M_LISTENERS.forEach {
val listener = it.value

View File

@@ -43,10 +43,6 @@ object CallerParallelDrivingActionsListenerManager :
}
private fun notification() {
// Log.i(
// "xfk",
// "是否可以启动平行驾驶=$isParallelDrivingAbility"
// )
M_LISTENERS.forEach {
val listener = it.value
listener.onParallelDrivingAbility(

View File

@@ -91,6 +91,12 @@ public class AdasParam {
*/
public final int fusionMode;
/**
* 超车的最大速度阈值
* m/s, 范围[3, 12.5]
*/
public final double overtakeMaxSpeed;
public AdasParam(MessagePad.SetParamReq param) {
int detouringCmd = -1;
double detouringSpeed = -1.0;
@@ -107,6 +113,7 @@ public class AdasParam {
int v2nToPnc = -1;
int v2iToPnc = -1;
int fusionMode = -1;
double overtakeMaxSpeed = -1.0;
if (param != null) {
int size = param.getReqsCount();
@@ -178,6 +185,10 @@ public class AdasParam {
if (!TextUtils.isEmpty(value)) {
fusionMode = Integer.parseInt(value);
}
} else if (type == AdasConstants.MapSystemParamType.OVERTAKE_MAX_SPEED_VALUE) {
if (!TextUtils.isEmpty(value)) {
overtakeMaxSpeed = Double.parseDouble(value);
}
}
}
}
@@ -197,6 +208,7 @@ public class AdasParam {
this.v2nToPnc = v2nToPnc;
this.v2iToPnc = v2iToPnc;
this.fusionMode = fusionMode;
this.overtakeMaxSpeed = overtakeMaxSpeed;
}
@Override
@@ -214,7 +226,8 @@ public class AdasParam {
"\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融合模式=" + (fusionMode == -1 ? "未知" : fusionMode == 5 ? "纯路侧模式" : fusionMode == 4 ? "透传模式" : fusionMode == 3 ? "超视距模式" : fusionMode == 2 ? "盲区模式" : "全融合模式") +
"\n超车最大速度阈值=" + (overtakeMaxSpeed == -1 ? "未知" : overtakeMaxSpeed + "m/s")
;
}

View File

@@ -617,6 +617,8 @@ message SetOneParam
// 12: 融合v2n开关(bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_flag
// 13: 融合v2i开关(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, 范围[3, 12.5])
string value = 2; // 转成字符串的值
}

View File

@@ -19,6 +19,8 @@ enum MapSystemParamType{
V2N_TO_PNC = 12;//融合v2n开关(bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_flag
V2I_TO_PNC = 13;//融合v2i开关(bool) 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼默认0 /telematics/fusion/v2i_flag
FUSION_MODE = 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])
}
/**

View File

@@ -1619,6 +1619,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
* {@link AdasConstants.MapSystemParamType#V2N_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#V2I_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#FUSION_MODE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型double或double类型String}
* @return boolean
*/
@Override
@@ -1663,7 +1664,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
}
/**
* 变道绕障的目标障碍物速度阈值/超车速度
* 变道绕障的目标障碍物速度阈值
*
* @param speed 速度阈值 m/s
* @return boolean
@@ -1767,6 +1768,16 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
return sendSetParamReq(AdasConstants.MapSystemParamType.FUSION_MODE_VALUE, String.valueOf(cmd));
}
/**
* 超车的最大速度阈值(double, m/s, 范围[3, 12.5])
*
* @param maxSpeed m/s, 范围[3, 12.5]
* @return boolean
*/
@Override
public boolean sendOvertakeMaxSpeed(double maxSpeed) {
return sendSetParamReq(AdasConstants.MapSystemParamType.OVERTAKE_MAX_SPEED_VALUE, String.valueOf(maxSpeed));
}
/**
* 盲区数据开关
@@ -1839,6 +1850,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.V2N_TO_PNC_VALUE))
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.V2I_TO_PNC_VALUE))
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.FUSION_MODE_VALUE))
.addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.OVERTAKE_MAX_SPEED_VALUE))
.build();
} else {
MessagePad.SetParamReq.Builder builder = MessagePad.SetParamReq.newBuilder();

View File

@@ -888,7 +888,7 @@ public class AdasManager implements IAdasNetCommApi {
}
/**
* 变道绕障的目标障碍物速度阈值/超车速度
* 变道绕障的目标障碍物速度阈值
*
* @param speed 速度阈值 m/s
* @return boolean
@@ -991,6 +991,17 @@ public class AdasManager implements IAdasNetCommApi {
return mChannel != null && mChannel.sendFusionMode(cmd);
}
/**
* 超车的最大速度阈值(double, m/s, 范围[3, 12.5])
*
* @param maxSpeed m/s, 范围[3, 12.5]
* @return boolean
*/
@Override
public boolean sendOvertakeMaxSpeed(double maxSpeed) {
return mChannel != null && mChannel.sendOvertakeMaxSpeed(maxSpeed);
}
/**
* 盲区数据开关
*
@@ -1040,6 +1051,7 @@ public class AdasManager implements IAdasNetCommApi {
* {@link AdasConstants.MapSystemParamType#V2N_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#V2I_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#FUSION_MODE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型double或double类型String}
* @return boolean
*/
@Override

View File

@@ -508,7 +508,7 @@ public interface IAdasNetCommApi {
boolean sendDetouring(int enable);
/**
* 变道绕障的目标障碍物速度阈值/超车速度
* 变道绕障的目标障碍物速度阈值
*
* @param speed 速度阈值 m/s
* @return boolean
@@ -586,6 +586,14 @@ public interface IAdasNetCommApi {
*/
boolean sendFusionMode(int cmd);
/**
* 超车的最大速度阈值(double, m/s, 范围[3, 12.5])
*
* @param maxSpeed m/s, 范围[3, 12.5]
* @return boolean
*/
boolean sendOvertakeMaxSpeed(double maxSpeed);
/*******************************设置参数命令 V2************************************/
/**
* 盲区数据开关
@@ -630,6 +638,7 @@ public interface IAdasNetCommApi {
* {@link AdasConstants.MapSystemParamType#V2N_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#V2I_TO_PNC Value类型boolean或boolean类型String}
* {@link AdasConstants.MapSystemParamType#FUSION_MODE Value类型int或int类型String}
* {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型double或double类型String}
* @return boolean
*/
boolean sendSetParamReq(@NonNull Map<AdasConstants.MapSystemParamType, Object> param);