From 5bb9e987395fdfbf8f98990c76abe0b1ce40b4b6 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Mon, 17 Jul 2023 18:34:27 +0800 Subject: [PATCH] =?UTF-8?q?[3.4.0][mogo-adas]=E6=B7=BB=E5=8A=A0[adas]?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=95=85=E9=9A=9C=E5=87=8F=E9=80=9F=E5=81=9C?= =?UTF-8?q?=E8=BD=A6=E7=AD=96=E8=B7=AF=E5=BC=80=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autopilot/MoGoAutopilotControlProvider.kt | 14 +++++++++++++ .../IMoGoAutopilotControlProvider.kt | 8 ++++++++ .../CallerAutoPilotControlManager.kt | 10 ++++++++++ .../zhjt/mogo/adas/data/bean/AdasParam.java | 20 +++++++++++++++---- .../src/main/proto/message_pad.proto | 3 ++- .../main/proto/personal/adas_constants.proto | 1 + .../zhidao/support/adas/high/AdasChannel.java | 12 +++++++++++ .../zhidao/support/adas/high/AdasManager.java | 11 ++++++++++ .../support/adas/high/IAdasNetCommApi.java | 8 ++++++++ 9 files changed, 82 insertions(+), 5 deletions(-) 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 d385b1513b..da119ad97f 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 @@ -594,6 +594,20 @@ class MoGoAutopilotControlProvider : } } + /** + * 故障减速停车策路开关 + * isEnable = true 使用故障减速停车策略 + * isEnable = false 关闭故障减速停车策略 + * @return boolean + */ + override fun sendBreakdownSlowDown(isEnable: Boolean): Boolean { + return if (isEnable) { + AdasManager.getInstance().sendBreakdownSlowDown(1) + } else { + AdasManager.getInstance().sendBreakdownSlowDown(0) + } + } + /** * 获取全部参数 * 结果回调{@link OnAdasListener#onGetParamResp(MessagePad.Header, MessagePad.SetParamReq, AdasParam)} 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 87f0b568b1..fb3f4990d8 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 @@ -201,6 +201,14 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider { */ fun sendWeakNetSlowDown(isEnable: Boolean): Boolean + /** + * 故障减速停车策路开关 + * isEnable = true 使用故障减速停车策略 + * isEnable = false 关闭故障减速停车策略 + * @return boolean + */ + fun sendBreakdownSlowDown(isEnable: Boolean): Boolean + /** * 获取全部参数 * 结果回调{@link OnAdasListener#onGetParamResp(MessagePad.Header, MessagePad.SetParamReq)} 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 dc1ee97e06..915c46d2ee 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 @@ -280,6 +280,16 @@ object CallerAutoPilotControlManager { return providerApi?.sendWeakNetSlowDown(isEnable) } + /** + * 故障减速停车策路开关 + * isEnable = true 使用故障减速停车策略 + * isEnable = false 关闭故障减速停车策略 + * @return boolean + */ + fun sendBreakdownSlowDown(isEnable: Boolean): Boolean? { + return providerApi?.sendBreakdownSlowDown(isEnable) + } + /** * 获取全部参数 * 结果回调{@link OnAdasListener#onGetParamResp(MessagePad.Header, MessagePad.SetParamReq, AdasParam)} 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 8da891c65f..911741290d 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 @@ -65,6 +65,11 @@ public class AdasParam { * 为空的原因:未查询此数据、工控机不存在此数据、解析失败 */ public final M1StitchedVideoSelfVehicleParam m1StitchedVideoSelfVehicleParamParse; + /** + * 故障减速停车策路开关 + * -1:未知 0:关闭故障减速停车策略 1(默认):使用故障减速停车策略 + */ + public final int breakdownSlowDown; public AdasParam(MessagePad.SetParamReq param) { int detouringCmd = -1; @@ -77,6 +82,7 @@ public class AdasParam { int weakNetSlowDown = -1; String m1StitchedVideoSelfVehicleParam = null; M1StitchedVideoSelfVehicleParam m1StitchedVideoSelfVehicleParamParse = null; + int breakdownSlowDown = -1; if (param != null) { int size = param.getReqsCount(); if (size > 0) { @@ -127,6 +133,10 @@ public class AdasParam { e.printStackTrace(); } } + } else if (type == AdasConstants.MapSystemParamType.BREAKDOWN_SLOW_DOWN_VALUE) { + if (!TextUtils.isEmpty(value)) { + breakdownSlowDown = Integer.parseInt(value); + } } } } @@ -141,6 +151,7 @@ public class AdasParam { this.weakNetSlowDown = weakNetSlowDown; this.m1StitchedVideoSelfVehicleParam = m1StitchedVideoSelfVehicleParam; this.m1StitchedVideoSelfVehicleParamParse = m1StitchedVideoSelfVehicleParamParse; + this.breakdownSlowDown = breakdownSlowDown; } @Override @@ -149,11 +160,12 @@ public class AdasParam { "\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停车让行线前避让等待开关=" + (stopYieldValid == -1 ? "未知" : stopYieldValid == 0 ? "停车让行线前无需避让等待" : "停车让行线前需要避让等待") + + "\n地图限速功能开关=" + (hadmapSpeedLimitValid == -1 ? "未知" : hadmapSpeedLimitValid == 0 ? "不使用地图限速功能" : "使用地图限速功能") + "\n环岛模式开关=" + (rampThetaValid == -1 ? "未知" : rampThetaValid == 0 ? "普通模式" : "环岛模式") + - "\n弱网减速停车策略开关=" + (weakNetSlowDown == -1 ? "未知" : weakNetSlowDown == 0 ? "关闭" : "使用") + - "\nm1拼接视频自车位置参数=" + (m1StitchedVideoSelfVehicleParam == null ? "未知" : m1StitchedVideoSelfVehicleParam); + "\n弱网减速停车策略开关=" + (weakNetSlowDown == -1 ? "未知" : weakNetSlowDown == 0 ? "关闭弱网减速停车策略" : "使用弱网减速停车策略") + + "\nm1拼接视频自车位置参数=" + (m1StitchedVideoSelfVehicleParam == null ? "未知" : m1StitchedVideoSelfVehicleParam) + + "\n故障减速停车策路开关=" + (breakdownSlowDown == -1 ? "未知" : breakdownSlowDown == 0 ? "关闭故障减速停车策略" : "使用故障减速停车策略"); } public static class M1StitchedVideoSelfVehicleParam { 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 89b9f41d89..72bc9e8532 100644 --- a/libraries/mogo-adas-data/src/main/proto/message_pad.proto +++ b/libraries/mogo-adas-data/src/main/proto/message_pad.proto @@ -603,8 +603,9 @@ message SetOneParam // 5:停车让行线前避让等待开关(bool) 0:停车让行线前无需等待 1:停车让行线前需要等待 默认0 // 6:地图限速功能开关(bool) 0:不使用地图限速功能 1:使用地图限速功能 默认0 // 7:环岛模式开关(bool) 0:普通模式 1:环岛模式 默认0 - // 8:弱网减速停车策略开关(bool) 0:关闭弱网减速停车策略 1:使用弱网减速停车策略 + // 8:弱网减速停车策略开关(bool) 0:关闭弱网减速停车策略 1:使用弱网减速停车策略 默认1 // 9:m1拼接视频自车位置参数(string), 格式:x,y,width,height + // 10:故障减速停车策路开关(bool) 0:关闭故障减速停车策略 1:使用故障减速停车策略 默认1 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 d946df6068..4600eb9f22 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 @@ -14,5 +14,6 @@ enum MapSystemParamType{ RAMP_THETA_VALID = 7;//环岛模式开关 WEAK_NET_SLOW_DOWN = 8;//弱网减速停车策略开关 M1_STITCHED_VIDEO_SELF_VEHICLE_PARAM = 9;//m1拼接视频自车位置参数(string), 格式:x,y,width,height + BREAKDOWN_SLOW_DOWN = 10;//故障减速停车策路开关 } 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 7e65f7ede2..100b37c721 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 @@ -1623,6 +1623,17 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec return sendSetParamReq(AdasConstants.MapSystemParamType.WEAK_NET_SLOW_DOWN_VALUE, String.valueOf(enable)); } + /** + * 故障减速停车策路开关 + * + * @param enable 0:关闭故障减速停车策略 1:使用故障减速停车策略 + * @return boolean + */ + @Override + public boolean sendBreakdownSlowDown(int enable) { + return sendSetParamReq(AdasConstants.MapSystemParamType.BREAKDOWN_SLOW_DOWN_VALUE, String.valueOf(enable)); + } + /** * 获取全部参数 * 结果回调{@link OnAdasListener#onGetParamResp(MessagePad.Header, MessagePad.SetParamReq, AdasParam)} @@ -1656,6 +1667,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec .addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.RAMP_THETA_VALID_VALUE)) .addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.WEAK_NET_SLOW_DOWN_VALUE)) .addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.M1_STITCHED_VIDEO_SELF_VEHICLE_PARAM_VALUE)) + .addReqs(MessagePad.SetOneParam.newBuilder().setType(AdasConstants.MapSystemParamType.BREAKDOWN_SLOW_DOWN_VALUE)) .build(); } else { req = MessagePad.SetParamReq 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 2f8f243e19..cf5f5479b0 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 @@ -914,6 +914,17 @@ public class AdasManager implements IAdasNetCommApi { return mChannel != null && mChannel.sendWeakNetSlowDown(enable); } + /** + * 故障减速停车策路开关 + * + * @param enable 0:关闭故障减速停车策略 1:使用故障减速停车策略 + * @return boolean + */ + @Override + public boolean sendBreakdownSlowDown(int enable) { + return mChannel != null && mChannel.sendBreakdownSlowDown(enable); + } + /** * 获取全部参数 * 结果回调{@link OnAdasListener#onGetParamResp(MessagePad.Header, MessagePad.SetParamReq, AdasParam)} 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 aa2f466ba1..8aaa04d20c 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 @@ -562,6 +562,14 @@ public interface IAdasNetCommApi { */ boolean sendWeakNetSlowDown(int enable); + /** + * 故障减速停车策路开关 + * + * @param enable 0:关闭故障减速停车策略 1:使用故障减速停车策略 + * @return boolean + */ + boolean sendBreakdownSlowDown(int enable); + /** * 获取全部参数 *