Merge remote-tracking branch 'origin/dev_robotaxi-d_240715_6.4.4_pnc_park' into dev_robotaxi-d_240715_6.4.4_pnc_park
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 ->
|
||||
|
||||
@@ -410,6 +410,36 @@
|
||||
app:layout_constraintGuide_percent="0.5"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tvVehicleTitle"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
|
||||
<!--PNC-park-会车-->
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/scParkVehCross"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:scaleX="1.2"
|
||||
android:scaleY="1.2"
|
||||
android:text="PNC-park-会车"
|
||||
android:textSize="@dimen/sp_28"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="@id/vehicleGuideLine"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvVehicleTitle"
|
||||
/>
|
||||
|
||||
<!--PNC-park-超车-->
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/scParkVehOvertake"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_25"
|
||||
android:scaleX="1.2"
|
||||
android:scaleY="1.2"
|
||||
android:text="PNC-park-超车"
|
||||
android:textSize="@dimen/sp_28"
|
||||
app:layout_constraintLeft_toLeftOf="@id/vehicleGuideLine"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvVehicleTitle" />
|
||||
|
||||
<!--绕障类功能-->
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/scObstacleAvoidance"
|
||||
@@ -422,7 +452,7 @@
|
||||
android:textSize="@dimen/sp_28"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="@id/vehicleGuideLine"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvVehicleTitle" />
|
||||
app:layout_constraintTop_toBottomOf="@id/scParkVehCross" />
|
||||
|
||||
<!--雨天模式-->
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
@@ -436,7 +466,7 @@
|
||||
android:textSize="@dimen/sp_28"
|
||||
app:layout_constraintLeft_toLeftOf="@id/vehicleGuideLine"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvVehicleTitle" />
|
||||
app:layout_constraintTop_toBottomOf="@id/scParkVehOvertake" />
|
||||
<!--弱网减速停车-->
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/scWeakNetSlowDown"
|
||||
|
||||
@@ -52,6 +52,22 @@ object FunctionBuildConfig {
|
||||
@JvmField
|
||||
var isDetouring = true
|
||||
|
||||
/**
|
||||
* PNC-park-会车
|
||||
* 默认关闭
|
||||
*/
|
||||
@Volatile
|
||||
@JvmField
|
||||
var isOpenParkVehCross = false
|
||||
|
||||
/**
|
||||
* PNC-park-超车
|
||||
* 默认关闭
|
||||
*/
|
||||
@Volatile
|
||||
@JvmField
|
||||
var isOpenOvertake = false
|
||||
|
||||
/**
|
||||
* 变道绕障的目标障碍物速度阈值
|
||||
* 默认 3 m/s
|
||||
|
||||
@@ -183,6 +183,22 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider {
|
||||
*/
|
||||
fun sendDetouring(isEnable: Boolean): Boolean
|
||||
|
||||
/**
|
||||
* 会车开关
|
||||
* isEnable = true 开启
|
||||
* isEnable = false 关闭
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendParkVehCross(isEnable: Boolean): Boolean
|
||||
|
||||
/**
|
||||
* 超车开关
|
||||
* isEnable = true 开启
|
||||
* isEnable = false 关闭
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendParkVehOvertake(isEnable: Boolean): Boolean
|
||||
|
||||
/**
|
||||
* 变道绕障的目标障碍物速度阈值
|
||||
* @param speed 速度阈值 m/s
|
||||
|
||||
@@ -358,6 +358,26 @@ object CallerAutoPilotControlManager {
|
||||
return providerApi?.sendDetouring(isEnable)
|
||||
}
|
||||
|
||||
/**
|
||||
* 会车开关
|
||||
* isEnable = true 开启
|
||||
* isEnable = false 关闭
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendParkVehCross(isEnable: Boolean): Boolean?{
|
||||
return providerApi?.sendParkVehCross(isEnable)
|
||||
}
|
||||
|
||||
/**
|
||||
* 超车开关
|
||||
* isEnable = true 开启
|
||||
* isEnable = false 关闭
|
||||
* @return boolean
|
||||
*/
|
||||
fun sendParkVehOvertake(isEnable: Boolean): Boolean?{
|
||||
return providerApi?.sendParkVehOvertake(isEnable)
|
||||
}
|
||||
|
||||
/**
|
||||
* 变道绕障的目标障碍物速度阈值
|
||||
* @param speed 速度阈值 m/s
|
||||
|
||||
@@ -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; // 转成字符串的值
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
PARK_VEH_CROSS = 19;//19: 会车开关(bool) 0: off 1:on 默认0
|
||||
PARK_VEH_OVERTAKE = 20;//20: 超车开关(bool) 0: off 1:on 默认0
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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#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发送消息队列
|
||||
@@ -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 sendParkVehCross(int enable) {
|
||||
return sendSetParamReq(AdasConstants.MapSystemParamType.PARK_VEH_CROSS_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 sendParkVehOvertake(int enable) {
|
||||
return sendSetParamReq(AdasConstants.MapSystemParamType.PARK_VEH_OVERTAKE_VALUE, String.valueOf(enable));
|
||||
}
|
||||
|
||||
/**
|
||||
* 盲区数据开关
|
||||
* 此方法存在域控回执,监听{@link OnAdasListener#onReceiveReceivedAck(ReceivedAck)}回调.使用方法:将此方法的返回值与{@link ReceivedAck#getMsgId()}进行比较,如果相同判断{@link ReceivedAck#getStatus()}是否等于{@link ReceivedAck.Status#NORMAL},详情参见CheckSystemView中的onReceiveReceivedAck
|
||||
|
||||
@@ -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 sendParkVehCross(int enable) {
|
||||
return mChannel == null ? -1L : mChannel.sendParkVehCross(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 sendParkVehOvertake(int enable) {
|
||||
return mChannel == null ? -1L : mChannel.sendParkVehOvertake(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#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发送消息队列
|
||||
|
||||
@@ -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 sendParkVehCross(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 sendParkVehOvertake(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#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发送消息队列
|
||||
|
||||
Reference in New Issue
Block a user