From 43e4112206995e33193a02f8a3885ee82e8d1480 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Fri, 3 Nov 2023 11:10:30 +0800 Subject: [PATCH] [6.2.0] overtake speed limit set --- .../autopilot/adapter/MoGoAdasListenerImpl.kt | 7 +++ .../function/hmi/ui/setting/SOPSettingView.kt | 54 +++++-------------- .../src/main/res/layout/view_sop_setting.xml | 20 +++---- .../core/data/deva/chain/ChainConstant.kt | 1 + 4 files changed, 31 insertions(+), 51 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt index ceb751d72d..e1ba0949fa 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt @@ -17,6 +17,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_AD import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_VEHICLE import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_CAR_CONFIG import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_CAR_LOC +import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_MAP_PARAM import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_PARALLEL import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_P_ACTIONS import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_P_OBJECTS @@ -871,6 +872,12 @@ class MoGoAdasListenerImpl : OnAdasListener { * @param getParamResp 配置参数 * @param adasParam 解析后的配置参数 */ + @ChainLog( + linkChainLog = CHAIN_TYPE_SOCKET_AUTOPILOT, + linkCode = CHAIN_SOURCE_ADAS, + nodeAliasCode = CHAIN_CODE_ADAS_MAP_PARAM, + paramIndexes = [0, 1, 2] + ) override fun onGetParamResp( header: MessagePad.Header, getParamResp: MessagePad.SetParamReq, 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 fe2c71d4ff..36d15a2f70 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 @@ -495,7 +495,7 @@ internal class SOPSettingView @JvmOverloads constructor( } } - private var overTakeEditText:String = "" + private var overTakeEditText: String = "" private var overTakeEditDel = false /** @@ -595,43 +595,12 @@ internal class SOPSettingView @JvmOverloads constructor( } } - etOverTake.addTextChangedListener(object : TextWatcher { - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) { - } - - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { - CallerLogger.d(M_HMI + TAG, "onTextChanged before: $before , start: $start ,count: $count") - overTakeEditDel = before > 0 - } - - override fun afterTextChanged(s: Editable?) { - CallerLogger.d(M_HMI + TAG, "afterTextChanged s: $s , et:$overTakeEditText") - if(overTakeEditDel){ - overTakeEditDel = false - return - } - s?.let { - if(it.toString() == overTakeEditText){ - return - } - if(it.toString().isEmpty()){ - return - } - val edit = it.toString().replace("m","").replace("/","").replace("s","").trim().toFloat() - val result = if (edit >= 12.5) 12.5f else if (edit <= 3) 3f else edit - FunctionBuildConfig.overTakeSpeed = result - overTakeEditText = "$result m/s" - etOverTake.setText(overTakeEditText) - CallerLogger.d(M_HMI + TAG, "result: $overTakeEditText") - } - } - }) ivSpeedOverTakeReduce.setOnClickListener { if (FunctionBuildConfig.overTakeSpeed <= 3) { ToastUtils.showShort("阈值最小可为3 m/s") } else { FunctionBuildConfig.overTakeSpeed -= 0.5f - etOverTake.setText("${FunctionBuildConfig.overTakeSpeed} m/s") + tvOverTakeLimit.text = "${FunctionBuildConfig.overTakeSpeed} m/s" } hmiAction("SOP 超车目标障碍物速度阈值", FunctionBuildConfig.overTakeSpeed) } @@ -640,19 +609,19 @@ internal class SOPSettingView @JvmOverloads constructor( ToastUtils.showShort("阈值最大可为12.5 m/s") } else { FunctionBuildConfig.overTakeSpeed += 0.5f - etOverTake.setText("${FunctionBuildConfig.overTakeSpeed} m/s") + tvOverTakeLimit.text = "${FunctionBuildConfig.overTakeSpeed} m/s" } hmiAction("SOP 超车目标障碍物速度阈值", FunctionBuildConfig.overTakeSpeed) } btnSpeedOverTakeSet.setOnClickListener { val isSuccess = - CallerAutoPilotControlManager.sendDetouringSpeed(FunctionBuildConfig.overTakeSpeed.toDouble()) + CallerAutoPilotControlManager.sendOvertakeMaxSpeed(FunctionBuildConfig.overTakeSpeed.toDouble()) if (isSuccess == true) { - ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置成功") - hmiAction("SOP 变道绕障的目标障碍物速度阈值设置", "成功") + ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置成功") + hmiAction("SOP 超车目标障碍物速度阈值设置", "成功") } else { - ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置失败") - hmiAction("SOP 变道绕障的目标障碍物速度阈值设置", "失败") + ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置失败") + hmiAction("SOP 超车目标障碍物速度阈值设置", "失败") } } @@ -665,7 +634,7 @@ internal class SOPSettingView @JvmOverloads constructor( tvSpeedOverTakeLimit.visibility = View.GONE ivSpeedOverTakeReduce.visibility = View.GONE - etOverTake.visibility = View.GONE + tvOverTakeLimit.visibility = View.GONE ivSpeedOverTakeAdd.visibility = View.GONE btnSpeedOverTakeSet.visibility = View.GONE } @@ -720,7 +689,6 @@ internal class SOPSettingView @JvmOverloads constructor( } - override fun onAttachedToWindow() { super.onAttachedToWindow() //添加 业务配置监听 @@ -731,6 +699,7 @@ internal class SOPSettingView @JvmOverloads constructor( CallerAutopilotGetParamResponseDispatcher.addListener(TAG, this) //查询融合模式 CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.FUSION_MODE) + CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.OVERTAKE_MAX_SPEED) //雨天、美化、点云设置同步 CallerSopSettingManager.addListener(TAG, this) } @@ -879,6 +848,9 @@ internal class SOPSettingView @JvmOverloads constructor( rgFusionMode.check(R.id.rbPureRoad) } } + + val overTakeSpeed = adasParam.overtakeMaxSpeed + tvOverTakeLimit.text = "$overTakeSpeed m/s" } } } \ No newline at end of file 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 4beca0b11f..add4a3d93e 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 @@ -621,11 +621,11 @@ android:id="@+id/btnSpeedSet" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="10dp" + android:layout_marginEnd="10dp" android:padding="@dimen/dp_20" android:text="设置阈值" app:layout_constraintBottom_toBottomOf="@id/ivSpeedAdd" - app:layout_constraintLeft_toRightOf="@id/ivSpeedAdd" + app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="@id/ivSpeedAdd" /> - + app:layout_constraintBottom_toBottomOf="@id/tvOverTakeLimit" + app:layout_constraintLeft_toRightOf="@id/tvOverTakeLimit" + app:layout_constraintTop_toTopOf="@id/tvOverTakeLimit" />