From 59b2c7d90000d82a98d56146aa21e26eacc9fe07 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Mon, 15 Jul 2024 19:38:21 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[644=20pnc][adas]=20=E5=A2=9E=E5=8A=A0=20PN?= =?UTF-8?q?C=20=E4=BC=9A=E8=BD=A6=E8=B6=85=E8=BD=A6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/proto/message_pad.proto | 3 ++ .../main/proto/personal/adas_constants.proto | 3 ++ .../zhidao/support/adas/high/AdasChannel.java | 33 +++++++++++++++++++ .../zhidao/support/adas/high/AdasManager.java | 33 +++++++++++++++++++ .../support/adas/high/IAdasNetCommApi.java | 28 ++++++++++++++++ 5 files changed, 100 insertions(+) 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 54a15f6401..6afa88ad92 100644 --- a/libraries/mogo-adas-data/src/main/proto/message_pad.proto +++ b/libraries/mogo-adas-data/src/main/proto/message_pad.proto @@ -643,6 +643,9 @@ message SetOneParam // 15:座椅状态(int) 0:表示仅主驾位有人,1:表示仅副驾位有人,2:表示主驾和副驾同时有人,3:表示仅后排有人,4:表示主驾有人+后排有人,5:表示副驾有人+后排有人,6:表示主驾和副驾同时有人+后排有人,7: 所有座位都无人, 255:缺省 // 16: 超车的最大速度阈值(double, m/s) T1/T2: 范围[3, 12.5], 默认值10 // 17: 故障模拟指令(int) default:0, 1:线控失效 + // 18: 碰撞上报(null) + // 19: 会车开关(bool) 0: off 1:on 默认0 + // 20: 超车开关(bool) 0: off 1:on 默认0 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 3048898afc..a540f15908 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 @@ -22,6 +22,9 @@ enum MapSystemParamType{ 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]) FAULT_SIMULATION_CMD = 17;//17: 故障模拟指令(int) default:0(do nothing), 1:线控失效 + COLLISION_REPORTING = 18;//18: 碰撞上报(null) + PASS_EACH_OTHER = 19;//19: 会车开关(bool) 0: off 1:on 默认0 + OVERTAKE = 20;//20: 超车开关(bool) 0: off 1:on 默认0 } /** 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 6460ecf0bf..25a4ba6fd5 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 @@ -2248,6 +2248,9 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec * {@link AdasConstants.MapSystemParamType#SEAT_STATE Value类型:int或int类型String} * {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型:double或double类型String} * {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#COLLISION_REPORTING Value类型:null} + * {@link AdasConstants.MapSystemParamType#PASS_EACH_OTHER Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#OVERTAKE Value类型:int或int类型String} * @return 消息是否添加到WS消息发送队列。由于批量设置参数,调用的域控接口存在不同,实际调用域控最多2个接口,调用次数最多4次,所以最多返回4条ID数据 * * 返回值为非0的正整数时表示下发消息的消息ID * * >=0:表示添加到WS发送消息队列 @@ -2455,6 +2458,36 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec return sendSetParamReq(AdasConstants.MapSystemParamType.OVERTAKE_MAX_SPEED_VALUE, String.valueOf(maxSpeed)); } + /** + * 会车开关 + * 此方法存在域控回执,监听{@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 sendPassEachOther(int enable) { + return sendSetParamReq(AdasConstants.MapSystemParamType.PASS_EACH_OTHER_VALUE, String.valueOf(enable)); + } + + /** + * 超车开关 + * 此方法存在域控回执,监听{@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 sendOvertake(int enable) { + return sendSetParamReq(AdasConstants.MapSystemParamType.OVERTAKE_VALUE, String.valueOf(enable)); + } + /** * 盲区数据开关 * 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck 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 f29f121e3c..43ad5dc024 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 @@ -1371,6 +1371,36 @@ public class AdasManager implements IAdasNetCommApi { return mChannel == null ? -1L : mChannel.sendOvertakeMaxSpeed(maxSpeed); } + /** + * 会车开关 + * 此方法存在域控回执,监听{@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 sendPassEachOther(int enable) { + return mChannel == null ? -1L : mChannel.sendPassEachOther(enable); + } + + /** + * 超车开关 + * 此方法存在域控回执,监听{@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 sendOvertake(int enable) { + return mChannel == null ? -1L : mChannel.sendOvertake(enable); + } + /** * 盲区数据开关 * 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck @@ -1436,6 +1466,9 @@ public class AdasManager implements IAdasNetCommApi { * {@link AdasConstants.MapSystemParamType#SEAT_STATE Value类型:int或int类型String} * {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型:double或double类型String} * {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#COLLISION_REPORTING Value类型:null} + * {@link AdasConstants.MapSystemParamType#PASS_EACH_OTHER Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#OVERTAKE Value类型:int或int类型String} * @return 消息是否添加到WS消息发送队列。由于批量设置参数,调用的域控接口存在不同,实际调用域控最多2个接口,调用次数最多4次,所以最多返回4条ID数据 * * 返回值为非0的正整数时表示下发消息的消息ID * * >=0:表示添加到WS发送消息队列 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 5ba39f8bf5..53a94eceff 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 @@ -946,6 +946,31 @@ public interface IAdasNetCommApi { */ long sendOvertakeMaxSpeed(double maxSpeed); + /** + * 会车开关 + * 此方法存在域控回执,监听{@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 sendPassEachOther(int enable); + + /** + * 超车开关 + * 此方法存在域控回执,监听{@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 sendOvertake(int enable); + + /*******************************设置参数命令 V2************************************/ /** * 盲区数据开关 @@ -1005,6 +1030,9 @@ public interface IAdasNetCommApi { * {@link AdasConstants.MapSystemParamType#SEAT_STATE Value类型:int或int类型String} * {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型:double或double类型String} * {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#COLLISION_REPORTING Value类型:null} + * {@link AdasConstants.MapSystemParamType#PASS_EACH_OTHER Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#OVERTAKE Value类型:int或int类型String} * @return 消息是否添加到WS消息发送队列。由于批量设置参数,调用的域控接口存在不同,实际调用域控最多2个接口,调用次数最多4次,所以最多返回4条ID数据 * * 返回值为非0的正整数时表示下发消息的消息ID * * >=0:表示添加到WS发送消息队列 From 5084d329152ee0be83768976a749baace609e4fc Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Mon, 15 Jul 2024 19:49:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[644=20pnc][adas]=20=E5=A2=9E=E5=8A=A0=20PN?= =?UTF-8?q?C=20=E4=BC=9A=E8=BD=A6=E8=B6=85=E8=BD=A6=E6=8E=A5=E5=8F=A3=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3=E5=8F=98=E9=87=8F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/proto/personal/adas_constants.proto | 4 ++-- .../com/zhidao/support/adas/high/AdasChannel.java | 12 ++++++------ .../com/zhidao/support/adas/high/AdasManager.java | 12 ++++++------ .../zhidao/support/adas/high/IAdasNetCommApi.java | 8 ++++---- 4 files changed, 18 insertions(+), 18 deletions(-) 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 a540f15908..3b62c37d9c 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 @@ -23,8 +23,8 @@ enum MapSystemParamType{ OVERTAKE_MAX_SPEED = 16;//16: 超车的最大速度阈值(double, m/s, 范围[3, 12.5]) FAULT_SIMULATION_CMD = 17;//17: 故障模拟指令(int) default:0(do nothing), 1:线控失效 COLLISION_REPORTING = 18;//18: 碰撞上报(null) - PASS_EACH_OTHER = 19;//19: 会车开关(bool) 0: off 1:on 默认0 - OVERTAKE = 20;//20: 超车开关(bool) 0: off 1:on 默认0 + PARK_VEH_CROSS = 19;//19: 会车开关(bool) 0: off 1:on 默认0 + PARK_VEH_OVERTAKE = 20;//20: 超车开关(bool) 0: off 1:on 默认0 } /** 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 25a4ba6fd5..306c78bd6b 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 @@ -2249,8 +2249,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec * {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型:double或double类型String} * {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD Value类型:int或int类型String} * {@link AdasConstants.MapSystemParamType#COLLISION_REPORTING Value类型:null} - * {@link AdasConstants.MapSystemParamType#PASS_EACH_OTHER Value类型:int或int类型String} - * {@link AdasConstants.MapSystemParamType#OVERTAKE Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#PARK_VEH_CROSS Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#PARK_VEH_OVERTAKE Value类型:int或int类型String} * @return 消息是否添加到WS消息发送队列。由于批量设置参数,调用的域控接口存在不同,实际调用域控最多2个接口,调用次数最多4次,所以最多返回4条ID数据 * * 返回值为非0的正整数时表示下发消息的消息ID * * >=0:表示添加到WS发送消息队列 @@ -2469,8 +2469,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec * * -1L:添加到WS发送消息队列失败 */ @Override - public long sendPassEachOther(int enable) { - return sendSetParamReq(AdasConstants.MapSystemParamType.PASS_EACH_OTHER_VALUE, String.valueOf(enable)); + public long sendParkVehCross(int enable) { + return sendSetParamReq(AdasConstants.MapSystemParamType.PARK_VEH_CROSS_VALUE, String.valueOf(enable)); } /** @@ -2484,8 +2484,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec * * -1L:添加到WS发送消息队列失败 */ @Override - public long sendOvertake(int enable) { - return sendSetParamReq(AdasConstants.MapSystemParamType.OVERTAKE_VALUE, String.valueOf(enable)); + public long sendParkVehOvertake(int enable) { + return sendSetParamReq(AdasConstants.MapSystemParamType.PARK_VEH_OVERTAKE_VALUE, String.valueOf(enable)); } /** 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 43ad5dc024..a82e210b6f 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 @@ -1382,8 +1382,8 @@ public class AdasManager implements IAdasNetCommApi { * * -1L:添加到WS发送消息队列失败 */ @Override - public long sendPassEachOther(int enable) { - return mChannel == null ? -1L : mChannel.sendPassEachOther(enable); + public long sendParkVehCross(int enable) { + return mChannel == null ? -1L : mChannel.sendParkVehCross(enable); } /** @@ -1397,8 +1397,8 @@ public class AdasManager implements IAdasNetCommApi { * * -1L:添加到WS发送消息队列失败 */ @Override - public long sendOvertake(int enable) { - return mChannel == null ? -1L : mChannel.sendOvertake(enable); + public long sendParkVehOvertake(int enable) { + return mChannel == null ? -1L : mChannel.sendParkVehOvertake(enable); } /** @@ -1467,8 +1467,8 @@ public class AdasManager implements IAdasNetCommApi { * {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型:double或double类型String} * {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD Value类型:int或int类型String} * {@link AdasConstants.MapSystemParamType#COLLISION_REPORTING Value类型:null} - * {@link AdasConstants.MapSystemParamType#PASS_EACH_OTHER Value类型:int或int类型String} - * {@link AdasConstants.MapSystemParamType#OVERTAKE Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#PARK_VEH_CROSS Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#PARK_VEH_OVERTAKE Value类型:int或int类型String} * @return 消息是否添加到WS消息发送队列。由于批量设置参数,调用的域控接口存在不同,实际调用域控最多2个接口,调用次数最多4次,所以最多返回4条ID数据 * * 返回值为非0的正整数时表示下发消息的消息ID * * >=0:表示添加到WS发送消息队列 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 53a94eceff..0fb65021f7 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 @@ -956,7 +956,7 @@ public interface IAdasNetCommApi { * * =0:表示乘客屏模式添加到WS发送消息队列 * * -1L:添加到WS发送消息队列失败 */ - long sendPassEachOther(int enable); + long sendParkVehCross(int enable); /** * 超车开关 @@ -968,7 +968,7 @@ public interface IAdasNetCommApi { * * =0:表示乘客屏模式添加到WS发送消息队列 * * -1L:添加到WS发送消息队列失败 */ - long sendOvertake(int enable); + long sendParkVehOvertake(int enable); /*******************************设置参数命令 V2************************************/ @@ -1031,8 +1031,8 @@ public interface IAdasNetCommApi { * {@link AdasConstants.MapSystemParamType#OVERTAKE_MAX_SPEED Value类型:double或double类型String} * {@link AdasConstants.MapSystemParamType#FAULT_SIMULATION_CMD Value类型:int或int类型String} * {@link AdasConstants.MapSystemParamType#COLLISION_REPORTING Value类型:null} - * {@link AdasConstants.MapSystemParamType#PASS_EACH_OTHER Value类型:int或int类型String} - * {@link AdasConstants.MapSystemParamType#OVERTAKE Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#PARK_VEH_CROSS Value类型:int或int类型String} + * {@link AdasConstants.MapSystemParamType#PARK_VEH_OVERTAKE Value类型:int或int类型String} * @return 消息是否添加到WS消息发送队列。由于批量设置参数,调用的域控接口存在不同,实际调用域控最多2个接口,调用次数最多4次,所以最多返回4条ID数据 * * 返回值为非0的正整数时表示下发消息的消息ID * * >=0:表示添加到WS发送消息队列 From 4d3ddd72913b175bf425b21c54b809d9fc14c4fd Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Mon, 15 Jul 2024 20:28:09 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[6.4.4=5Fpnc=5Fpark]=E8=BF=90=E8=90=A5?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E5=A2=9E=E5=8A=A0PNC=5Fpar=5F=E4=BC=9A?= =?UTF-8?q?=E8=BD=A6=E3=80=81=E8=B6=85=E8=BD=A6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autopilot/MoGoAutopilotControlProvider.kt | 28 +++++++++++++++ .../function/hmi/ui/setting/SOPSettingView.kt | 18 ++++++++++ .../src/main/res/layout/view_sop_setting.xml | 34 +++++++++++++++++-- .../core/data/config/FunctionBuildConfig.kt | 16 +++++++++ .../IMoGoAutopilotControlProvider.kt | 16 +++++++++ .../CallerAutoPilotControlManager.kt | 20 +++++++++++ 6 files changed, 130 insertions(+), 2 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 9849c55113..9b06a4edfb 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 @@ -619,6 +619,34 @@ class MoGoAutopilotControlProvider : } } + /** + * 会车开关 + * isEnable = true 开启 + * isEnable = false 关闭 + * @return boolean + */ + override fun sendParkVehCross(isEnable: Boolean): Boolean { + return if (isEnable) { + AdasManager.getInstance().sendParkVehCross(1) > -1 + } else { + AdasManager.getInstance().sendParkVehCross(0) > -1 + } + } + + /** + * 超车开关 + * isEnable = true 开启 + * isEnable = false 关闭 + * @return boolean + */ + override fun sendParkVehOvertake(isEnable: Boolean): Boolean { + return if (isEnable) { + AdasManager.getInstance().sendParkVehOvertake(1) > -1 + } else { + AdasManager.getInstance().sendParkVehOvertake(0) > -1 + } + } + /** * 变道绕障的目标障碍物速度阈值 * @param speed 速度阈值 m/s diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index 368e2d6a61..b0fa1c1e75 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -71,6 +71,8 @@ import kotlinx.android.synthetic.main.view_sop_setting.view.scObstacleAvoidance import kotlinx.android.synthetic.main.view_sop_setting.view.scObu import kotlinx.android.synthetic.main.view_sop_setting.view.scObuV2vView import kotlinx.android.synthetic.main.view_sop_setting.view.scObuWeaknessTrafficSop +import kotlinx.android.synthetic.main.view_sop_setting.view.scParkVehCross +import kotlinx.android.synthetic.main.view_sop_setting.view.scParkVehOvertake import kotlinx.android.synthetic.main.view_sop_setting.view.scRainMode import kotlinx.android.synthetic.main.view_sop_setting.view.scRouteDynamicEffect import kotlinx.android.synthetic.main.view_sop_setting.view.scRunRedLightSop @@ -511,6 +513,22 @@ internal class SOPSettingView @JvmOverloads constructor( * 与车相关类设置 */ private fun vehicleSetting() { + //PNC-park-会车 + scParkVehCross.isChecked = FunctionBuildConfig.isOpenParkVehCross + scParkVehCross.setOnCheckedChangeListener { _, isChecked -> + hmiAction("SOP PNC-park-会车, ", isChecked) + CallerAutoPilotControlManager.sendParkVehCross(isChecked) + FunctionBuildConfig.isOpenParkVehCross = isChecked + } + //PNC-park-超车 + scParkVehOvertake.isChecked = FunctionBuildConfig.isOpenOvertake + scParkVehOvertake.setOnCheckedChangeListener { _, isChecked -> + hmiAction("SOP PNC-park-超车, ", isChecked) + CallerAutoPilotControlManager.sendParkVehOvertake(isChecked) + FunctionBuildConfig.isOpenOvertake = isChecked + } + + //绕障类功能 scObstacleAvoidance.isChecked = FunctionBuildConfig.isDetouring scObstacleAvoidance.setOnCheckedChangeListener { _, isChecked -> diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml index c41a080f15..f94f9a8ae7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml @@ -410,6 +410,36 @@ app:layout_constraintGuide_percent="0.5" app:layout_constraintLeft_toLeftOf="@id/tvVehicleTitle" app:layout_constraintRight_toRightOf="parent" /> + + + + + + + + app:layout_constraintTop_toBottomOf="@id/scParkVehCross" /> + app:layout_constraintTop_toBottomOf="@id/scParkVehOvertake" />