From a8ed79ad9874207780a6bc2048e5c64abb1ab50a Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Tue, 4 Apr 2023 16:28:52 +0800 Subject: [PATCH] =?UTF-8?q?[2.15.0][mogo-adas]=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=99=90=E5=88=B6=E7=BB=95=E9=9A=9C=E5=BC=80=E5=85=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E3=80=81=E5=81=9C=E8=BD=A6=E8=AE=A9=E8=A1=8C=E7=BA=BF?= =?UTF-8?q?=E5=89=8D=E9=81=BF=E8=AE=A9=E7=AD=89=E5=BE=85=E5=BC=80=E5=85=B3?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E3=80=81=E5=9C=B0=E5=9B=BE=E9=99=90=E9=80=9F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=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 --- .../com/zhidao/adas/client/bean/SendCmd.java | 24 ++++++++++ .../adas/client/bean/SendCmdOption.java | 3 ++ .../zhidao/adas/client/ui/MainActivity.java | 19 +++++++- .../zhidao/adas/client/ui/SendCmdDialog.java | 12 +++++ .../zhidao/adas/client/utils/Constants.java | 3 ++ .../src/main/proto/message_pad.proto | 1 + .../zhidao/support/adas/high/AdasChannel.java | 47 +++++++++++++++++-- .../zhidao/support/adas/high/AdasManager.java | 42 +++++++++++++++-- .../support/adas/high/IAdasNetCommApi.java | 32 ++++++++++++- 9 files changed, 172 insertions(+), 11 deletions(-) diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SendCmd.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SendCmd.java index 5deea1e6e3..341774e497 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SendCmd.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SendCmd.java @@ -75,4 +75,28 @@ public class SendCmd { cmds.add(new SendCmdOption("关", SendCmdOption.TAG.AEB, 0)); return new SendCmd(Constants.TITLE.SEND_AEB, cmds); } + + //限制绕障开关 + public static SendCmd getSendLaneChangeRestrainVaild() { + List> cmds = new ArrayList<>(); + cmds.add(new SendCmdOption("限制绕障", SendCmdOption.TAG.LANE_CHANGE_RESTRAIN_VAILD, 1)); + cmds.add(new SendCmdOption("正常绕障", SendCmdOption.TAG.LANE_CHANGE_RESTRAIN_VAILD, 0)); + return new SendCmd(Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VAILD, cmds); + } + + //停车让行线前避让等待开关 + public static SendCmd getSendStopYieldVaild() { + List> cmds = new ArrayList<>(); + cmds.add(new SendCmdOption("停车让行线前需要避让等待", SendCmdOption.TAG.STOP_YIELD_VAILD, 1)); + cmds.add(new SendCmdOption("停车让行线前无需避让等待", SendCmdOption.TAG.STOP_YIELD_VAILD, 0)); + return new SendCmd(Constants.TITLE.SEND_STOP_YIELD_VAILD, cmds); + } + + //地图限速功能开关 + public static SendCmd getSendHadmapSpeedLimitVaild() { + List> cmds = new ArrayList<>(); + cmds.add(new SendCmdOption("使用地图限速功能", SendCmdOption.TAG.HADMAP_SPEED_LIMIT_VAILD, 1)); + cmds.add(new SendCmdOption("不使用地图限速功能", SendCmdOption.TAG.HADMAP_SPEED_LIMIT_VAILD, 0)); + return new SendCmd(Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VAILD, cmds); + } } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SendCmdOption.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SendCmdOption.java index 194b9f6555..64bc689a21 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SendCmdOption.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/SendCmdOption.java @@ -10,6 +10,9 @@ public class SendCmdOption { int DETOURING = 5;//绕障类功能 int V2N_TO_PNC = 6;//V2N数据到PnC int AEB = 7;//AEB开关 + int LANE_CHANGE_RESTRAIN_VAILD = 8;//限制绕障开关 + int STOP_YIELD_VAILD = 9;//停车让行线前避让等待开关 + int HADMAP_SPEED_LIMIT_VAILD = 10;//地图限速功能开关 } public final String name; diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java index 660731c9ea..e38cfeb1af 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java @@ -851,14 +851,17 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas titleBtnData.add(Constants.TITLE.SEND_RECORD_CAUSE); titleBtnData.add(Constants.TITLE.SEND_SET_DEMO_MODE_REQ); titleBtnData.add(Constants.TITLE.SEND_SET_RAIN_MODE_REQ); - titleBtnData.add(Constants.TITLE.SEND_DETOURING); titleBtnData.add(Constants.TITLE.SEND_SYSTEM_CMD_REQ_REBOOT); + titleBtnData.add(Constants.TITLE.SEND_DETOURING); titleBtnData.add(Constants.TITLE.SEND_DETOURING_SPEED); + titleBtnData.add(Constants.TITLE.SEND_AEB); + titleBtnData.add(Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VAILD); + titleBtnData.add(Constants.TITLE.SEND_STOP_YIELD_VAILD); + titleBtnData.add(Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VAILD); titleBtnData.add(Constants.TITLE.SEND_TRIP_INFO); titleBtnData.add(Constants.TITLE.SEND_PLANNING_CMD); titleBtnData.add(Constants.TITLE.SEND_BLIND_AREA); titleBtnData.add(Constants.TITLE.SEND_V2N_TO_PNC); - titleBtnData.add(Constants.TITLE.SEND_AEB); } private void initBtnRecyclerView() { @@ -1670,6 +1673,18 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas //AEB new SendCmdDialog(this, SendCmd.getSendAeb()).show(); break; + case Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VAILD: + //限制绕障开关 + new SendCmdDialog(this, SendCmd.getSendLaneChangeRestrainVaild()).show(); + break; + case Constants.TITLE.SEND_STOP_YIELD_VAILD: + //停车让行线前避让等待开关 + new SendCmdDialog(this, SendCmd.getSendStopYieldVaild()).show(); + break; + case Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VAILD: + //地图限速功能开关 + new SendCmdDialog(this, SendCmd.getSendHadmapSpeedLimitVaild()).show(); + break; case Constants.TITLE.SEND_DETOURING_SPEED: //绕障速度设置 showDetouringSpeedDialog(); diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/SendCmdDialog.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/SendCmdDialog.java index 7bac67a8ba..237f7cc637 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/SendCmdDialog.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/SendCmdDialog.java @@ -96,6 +96,18 @@ public class SendCmdDialog extends Dialog { if (data.tag == SendCmdOption.TAG.AEB) { AdasManager.getInstance().sendAebCmd((int) data.value); } + } else if (Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VAILD.equals(name)) { + if (data.tag == SendCmdOption.TAG.LANE_CHANGE_RESTRAIN_VAILD) { + AdasManager.getInstance().sendLaneChangeRestrainVaild((int) data.value); + } + } else if (Constants.TITLE.SEND_STOP_YIELD_VAILD.equals(name)) { + if (data.tag == SendCmdOption.TAG.STOP_YIELD_VAILD) { + AdasManager.getInstance().sendStopYieldVaild((int) data.value); + } + } else if (Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VAILD.equals(name)) { + if (data.tag == SendCmdOption.TAG.HADMAP_SPEED_LIMIT_VAILD) { + AdasManager.getInstance().sendHadmapSpeedLimitVaild((int) data.value); + } } } }); diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/Constants.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/Constants.java index 569de0d7a1..c621600b6b 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/Constants.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/Constants.java @@ -204,6 +204,9 @@ public class Constants { String SEND_BLIND_AREA = "盲区数据开关"; String SEND_V2N_TO_PNC = "V2N数据到PnC"; String SEND_AEB = "AEB开关"; + String SEND_LANE_CHANGE_RESTRAIN_VAILD = "限制绕障开关"; + String SEND_STOP_YIELD_VAILD = "停车让行线前避让等待开关"; + String SEND_HADMAP_SPEED_LIMIT_VAILD = "地图限速开关"; } } 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 8f04a4664f..1b8597cbe5 100644 --- a/libraries/mogo-adas-data/src/main/proto/message_pad.proto +++ b/libraries/mogo-adas-data/src/main/proto/message_pad.proto @@ -576,6 +576,7 @@ message PlanningActionMsg message SetOneParam { uint32 type = 1; // 0:default 1:绕障类功能开关(bool) 2:变道绕障的目标障碍物速度阈值(double, m/s) 3:AEB开关(bool) + // 4:限制绕障开关(bool) 5:停车让行线前避让等待开关(bool) 6:地图限速功能开关(bool) string value = 2; // 转成字符串的值 } 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 fa74bc73ed..a76a80f6ab 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 @@ -1245,7 +1245,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec /** * 给Planning发送变道指令 - * TODO 目前此功能仅襄阳牌照考试支持 + * TODO 目前仅襄阳牌照考试支持 * * @param laneChangeCmd 命令 0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策 * @return boolean 是否加入发送队列 @@ -1258,8 +1258,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec /** * 给Planning发送指令 * - * @param pullOverCmd 命令 0: default 1: 靠边停车 2:重新起步 3:紧急停车 TODO 值3 仅襄阳牌照考试支持 - * @param laneChangeCmd 命令 0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策 TODO laneChangeCmd 仅襄阳牌照考试支持 + * @param pullOverCmd 命令 0: default 1: 靠边停车 2:重新起步 3:紧急停车 TODO 值3 目前仅襄阳牌照考试支持 + * @param laneChangeCmd 命令 0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策 TODO laneChangeCmd 目前仅襄阳牌照考试支持 * @return boolean 是否加入发送队列 */ @Override @@ -1517,6 +1517,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec * 设置参数命令 * * @param type 0:default 1:绕障类功能开关(bool) 2:变道绕障的目标障碍物速度阈值(double, m/s) + * 3:AEB开关(bool) 4:限制绕障开关(bool) + * 5:停车让行线前避让等待开关(bool) 6:地图限速功能开关(bool) * @param value 转成字符串的值 * @return boolean */ @@ -1555,7 +1557,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec /** * AEB开关 - * TODO 目前仅襄阳牌照考试支持 + * TODO 目前仅襄阳牌照考试支持 * * @param enable 0:关闭,1:开启 * @return boolean @@ -1565,6 +1567,43 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec return sendSetParamReq(3, String.valueOf(enable)); } + /** + * 限制绕障开关 + * TODO 目前仅襄阳牌照考试支持 + * + * @param enable 0:正常绕障 1:限制绕障 + * @return boolean + */ + @Override + public boolean sendLaneChangeRestrainVaild(int enable) { + return sendSetParamReq(4, String.valueOf(enable)); + } + + /** + * 停车让行线前避让等待开关 + * TODO 目前仅襄阳牌照考试支持 + * + * @param enable 0:停车让行线前无需避让等待 1:停车让行线前需要避让等待 + * @return boolean + */ + @Override + public boolean sendStopYieldVaild(int enable) { + return sendSetParamReq(5, String.valueOf(enable)); + } + + + /** + * 地图限速功能开关 + * TODO 目前仅襄阳牌照考试支持 + * + * @param enable 0:不使用地图限速功能 1:使用地图限速功能 + * @return boolean + */ + @Override + public boolean sendHadmapSpeedLimitVaild(int enable) { + return sendSetParamReq(6, String.valueOf(enable)); + } + /** * 发生行程相关 * type=1或2的时 需要参数 lineName 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 c619375b84..b597261f67 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 @@ -621,7 +621,7 @@ public class AdasManager implements IAdasNetCommApi { /** * 给Planning发送变道指令 - * TODO 目前此功能仅襄阳牌照考试支持 + * TODO 目前仅襄阳牌照考试支持 * * @param laneChangeCmd 命令 0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策 * @return boolean 是否加入发送队列 @@ -634,8 +634,8 @@ public class AdasManager implements IAdasNetCommApi { /** * 给Planning发送指令 * - * @param pullOverCmd 命令 0: default 1: 靠边停车 2:重新起步 3:紧急停车 TODO 值3 仅襄阳牌照考试支持 - * @param laneChangeCmd 命令 0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策 TODO laneChangeCmd 仅襄阳牌照考试支持 + * @param pullOverCmd 命令 0: default 1: 靠边停车 2:重新起步 3:紧急停车 TODO 值3 目前仅襄阳牌照考试支持 + * @param laneChangeCmd 命令 0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策 TODO laneChangeCmd 目前仅襄阳牌照考试支持 * @return boolean 是否加入发送队列 */ @Override @@ -846,6 +846,42 @@ public class AdasManager implements IAdasNetCommApi { return mChannel != null && mChannel.sendAebCmd(enable); } + /** + * 限制绕障开关 + * TODO 目前仅襄阳牌照考试支持 + * + * @param enable 0:正常绕障 1:限制绕障 + * @return boolean + */ + @Override + public boolean sendLaneChangeRestrainVaild(int enable) { + return mChannel != null && mChannel.sendLaneChangeRestrainVaild(enable); + } + + /** + * 停车让行线前避让等待开关 + * TODO 目前仅襄阳牌照考试支持 + * + * @param enable 0:停车让行线前无需避让等待 1:停车让行线前需要避让等待 + * @return boolean + */ + @Override + public boolean sendStopYieldVaild(int enable) { + return mChannel != null && mChannel.sendStopYieldVaild(enable); + } + + /** + * 地图限速功能开关 + * TODO 目前仅襄阳牌照考试支持 + * + * @param enable 0:不使用地图限速功能 1:使用地图限速功能 + * @return boolean + */ + @Override + public boolean sendHadmapSpeedLimitVaild(int enable) { + return mChannel != null && mChannel.sendHadmapSpeedLimitVaild(enable); + } + /** * 发生行程相关 * type=1或2的时 需要参数 lineName 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 ff38cfe0cc..7829041bcf 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 @@ -331,7 +331,7 @@ public interface IAdasNetCommApi { /** * 给Planning发送变道指令 - * TODO 目前此功能仅襄阳牌照考试支持 + * TODO 目前仅襄阳牌照考试支持 * * @param laneChangeCmd 命令 0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策 * @return boolean 是否加入发送队列 @@ -342,7 +342,7 @@ public interface IAdasNetCommApi { * 给Planning发送指令 * * @param pullOverCmd 命令 0: default 1: 靠边停车 2:重新起步 3:紧急停车 TODO 值3 目前仅襄阳牌照考试支持 - * @param laneChangeCmd 命令 0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策 TODO laneChangeCmd 仅襄阳牌照考试支持 + * @param laneChangeCmd 命令 0: default 1: 左变道 2:右变道 3:超车 4:恢复自动决策 TODO laneChangeCmd 目前仅襄阳牌照考试支持 * @return boolean 是否加入发送队列 */ boolean sendPlanningCmd(int pullOverCmd, int laneChangeCmd); @@ -510,6 +510,34 @@ public interface IAdasNetCommApi { */ boolean sendAebCmd(int enable); + + /** + * 限制绕障开关 + * TODO 目前仅襄阳牌照考试支持 + * + * @param enable 0:正常绕障 1:限制绕障 + * @return boolean + */ + boolean sendLaneChangeRestrainVaild(int enable); + + /** + * 停车让行线前避让等待开关 + * TODO 目前仅襄阳牌照考试支持 + * + * @param enable 0:停车让行线前无需避让等待 1:停车让行线前需要避让等待 + * @return boolean + */ + boolean sendStopYieldVaild(int enable); + + /** + * 地图限速功能开关 + * TODO 目前仅襄阳牌照考试支持 + * + * @param enable 0:不使用地图限速功能 1:使用地图限速功能 + * @return boolean + */ + boolean sendHadmapSpeedLimitVaild(int enable); + /** * 发生行程相关 * type=1或2的时 需要参数 lineName