From 178fa34eda4edff4751a0955de0300821d249711 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Tue, 22 Aug 2023 16:45:10 +0800 Subject: [PATCH] =?UTF-8?q?[6.0.0]=E8=BF=90=E8=90=A5=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=9E=8D=E5=90=88=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/ui/setting/SOPSettingView.kt | 86 ++++++++++++++++--- .../src/main/res/layout/view_sop_setting.xml | 60 +++++++++++++ .../core/data/config/FunctionBuildConfig.kt | 8 ++ 3 files changed, 143 insertions(+), 11 deletions(-) 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 3704c2ffec..ac1da819b8 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 @@ -11,12 +11,14 @@ import com.mogo.eagle.core.data.config.HmiBuildConfig import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig import com.mogo.eagle.core.data.multidisplay.TelematicConstant import com.mogo.eagle.core.data.obu.MogoObuConst +import com.mogo.eagle.core.function.api.autopilot.IMoGoGetParamResponseListener import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener import com.mogo.eagle.core.function.api.devatools.mofang.* import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_DEMO import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_RAIN import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotGetParamResponseDispatcher import com.mogo.eagle.core.function.call.devatools.* import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.obu.CallerObuApiManager @@ -25,11 +27,13 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager -import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction -import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView +import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.zhjt.mogo.adas.data.AdasConstants +import com.zhjt.mogo.adas.data.bean.AdasParam import kotlinx.android.synthetic.main.view_sop_setting.view.* import kotlinx.android.synthetic.main.view_sop_setting.view.tbRouteDynamicEffect +import mogo.telematics.pad.MessagePad /** * SOP设置窗口 @@ -39,7 +43,8 @@ internal class SOPSettingView @JvmOverloads constructor( attrs: AttributeSet? = null, defStyleAttr: Int = 0 ) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoDevaToolsFuncConfigListener, - IViewControlListener, IMoGoMoFangProvider.OnMoFangStatusListener { + IViewControlListener, IMoGoMoFangProvider.OnMoFangStatusListener, + IMoGoGetParamResponseListener { companion object { const val TAG = "SOPSettingView" @@ -277,6 +282,33 @@ internal class SOPSettingView @JvmOverloads constructor( FunctionBuildConfig.isShowBagRecordWindow = isChecked hmiAction("SOP 是否展示被动触发的录包弹窗, ",isChecked) } + //融合模式 + rgFusionMode.setOnCheckedChangeListener { _, p1 -> + when(p1){ + //全融合模式 + R.id.rbFullIntegration ->{ + FunctionBuildConfig.fusionMode = 1 + } + //盲区模式 + R.id.rbBlind ->{ + FunctionBuildConfig.fusionMode = 2 + } + //超视距模式 + R.id.rbBeyondSight ->{ + FunctionBuildConfig.fusionMode = 3 + } + //透传模式 + R.id.rbTransparent ->{ + FunctionBuildConfig.fusionMode = 4 + } + //纯路侧模式 + R.id.rbPureRoad ->{ + FunctionBuildConfig.fusionMode = 5 + } + } + CallerAutoPilotControlManager.sendFusionMode(FunctionBuildConfig.fusionMode) + } + //变道绕障的目标障碍物速度阈值 tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s" @@ -370,8 +402,9 @@ internal class SOPSettingView @JvmOverloads constructor( FuncBizConfig.FOUNDATION, TAG, true, this ) CallerHmiViewControlListenerManager.addListener(TAG,this) - // 开启定时查询速度 -// Timer().schedule(timerTaskRefresh, Date(), 500) + CallerAutopilotGetParamResponseDispatcher.addListener(TAG, this) + //查询融合模式 + CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.FUSION_MODE) } override fun updateFuncMode(tag: String, boolean: Boolean) { @@ -389,12 +422,7 @@ internal class SOPSettingView @JvmOverloads constructor( // 移除 业务配置监听 CallerDevaToolsFuncConfigListenerManager.unRegisterDevaToolsFuncConfigListener(FuncBizConfig.FOUNDATION, TAG) CallerHmiViewControlListenerManager.removeListener(TAG) -// try { -// timerTaskRefresh.cancel() -// } catch (e: Exception) { -// e.printStackTrace() -// } - + CallerAutopilotGetParamResponseDispatcher.removeListener(TAG) CallerDevaToolsManager.mofang()?.unRegisterMoFangStatusListener(this) } @@ -465,4 +493,40 @@ internal class SOPSettingView @JvmOverloads constructor( override fun onMoFangCombineClicked(vararg keyCodes: Int) {} override fun onMoFangStatusError(msg: String) {} + + /** + * 工控机配置参数获取 + */ + override fun onGetParamResp( + header: MessagePad.Header, + getParamResp: MessagePad.SetParamReq, + adasParam: AdasParam + ) { + //融合模式 + ThreadUtils.runOnUiThread { + FunctionBuildConfig.fusionMode = adasParam.fusionMode + when(FunctionBuildConfig.fusionMode){ + 1->{ + //全融合模式 + rgFusionMode.check(R.id.rbFullIntegration) + } + 2->{ + //盲区模式 + rgFusionMode.check(R.id.rbBlind) + } + 3->{ + //超视距模式 + rgFusionMode.check(R.id.rbBeyondSight) + } + 4->{ + //透传模式 + rgFusionMode.check(R.id.rbTransparent) + } + 5->{ + //纯路侧模式 + rgFusionMode.check(R.id.rbPureRoad) + } + } + } + } } \ 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 d962fb88f4..0f7ffcb25a 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 @@ -399,6 +399,7 @@ /> + + + + + + + + + + + + + + + diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index 483aff534c..c8342ec852 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -204,6 +204,14 @@ object FunctionBuildConfig { @JvmField var isShowBagRecordWindow = true + /** + * 融合模式(int) 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认1 + * /telematics/fusion/fusion_mode + */ + @Volatile + @JvmField + var fusionMode = 1 + /** * 是否是V2N新链路(云->工控机->App) */