diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index 9a8bb01c9e..a2d5b1ed05 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -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): Boolean { return AdasManager.getInstance().sendSetParamReq(param) } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt index a3cff8dc8f..1c8bdd257f 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt @@ -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): Boolean diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt index d8d50c1478..506a25e0f7 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt @@ -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): Boolean? { diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerFaultManagementStateListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerFaultManagementStateListenerManager.kt index f9cdd3a5bc..409ab7646c 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerFaultManagementStateListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerFaultManagementStateListenerManager.kt @@ -9,9 +9,7 @@ import fault_management.FmInfo */ object CallerFaultManagementStateListenerManager : CallerBase() { - /** - * 后摄像头视频数据 - */ + fun invokeFaultManagementState(fmInfo: FmInfo.FaultResultMsg) { M_LISTENERS.forEach { val listener = it.value diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerParallelDrivingActionsListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerParallelDrivingActionsListenerManager.kt index 7c39de1df7..e81e2d16a3 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerParallelDrivingActionsListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerParallelDrivingActionsListenerManager.kt @@ -43,10 +43,6 @@ object CallerParallelDrivingActionsListenerManager : } private fun notification() { -// Log.i( -// "xfk", -// "是否可以启动平行驾驶=$isParallelDrivingAbility" -// ) M_LISTENERS.forEach { val listener = it.value listener.onParallelDrivingAbility( diff --git a/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/AdasParam.java b/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/AdasParam.java index 0bda77e27d..b5faa8537e 100644 --- a/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/AdasParam.java +++ b/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/AdasParam.java @@ -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") ; } diff --git a/libraries/mogo-adas-data/src/main/proto/message_pad.proto b/libraries/mogo-adas-data/src/main/proto/message_pad.proto index 57f145fa05..12f5704b7f 100644 --- a/libraries/mogo-adas-data/src/main/proto/message_pad.proto +++ b/libraries/mogo-adas-data/src/main/proto/message_pad.proto @@ -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; // 转成字符串的值 } diff --git a/libraries/mogo-adas-data/src/main/proto/personal/adas_constants.proto b/libraries/mogo-adas-data/src/main/proto/personal/adas_constants.proto index 52ebc422b8..6a342de290 100644 --- a/libraries/mogo-adas-data/src/main/proto/personal/adas_constants.proto +++ b/libraries/mogo-adas-data/src/main/proto/personal/adas_constants.proto @@ -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]) } /** diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java index 228a81ed8f..db9b3f1d65 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java @@ -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(); diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java index dd512f3161..42ead547b3 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java @@ -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 diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java index 579a8d0bae..c395f8224d 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java @@ -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 param);