diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index c8033afb04..aa51d5e2ed 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -368,7 +368,7 @@ class OperatePanelLayout : LinearLayout { when (pref.key) { //NDE(数据上车)上行 NDE_UPWARD_SWITCH->{ - + return FunctionBuildConfig.ndeUpwardSwitch } //车辆图像上传行云大模型 IMAGE_UPLOAD_SWITCH->{ @@ -376,27 +376,27 @@ class OperatePanelLayout : LinearLayout { } //NDE(数据上车)下行 NDE_DOWNWARD_SWITCH->{ - + return FunctionBuildConfig.ndeDownwardSwitch } //事件数据进PNC应用 NDE_EVENT_DATA_TO_PNC->{ - + return FunctionBuildConfig.ndeEventDataToPnc } //感知数据进PNC应用 NDE_PERCEPTION_DATA_TO_PNC->{ - + return FunctionBuildConfig.ndePerceptionDataToPnc } //云控基础平台上行 CLOUD_CONTROL_UPWARD->{ - + return FunctionBuildConfig.cloudControlUpward } //云控基础平台下行 CLOUD_CONTROL_DOWNWARD->{ - + return FunctionBuildConfig.cloudControlDownward } //OBU上报(V2I、V2V上行) OBU_UPWARD_SWITCH->{ - + return FunctionBuildConfig.obuUpwardSwitch } //V2I下行 V2I_DOWNWARD_SWITCH->{ @@ -408,7 +408,7 @@ class OperatePanelLayout : LinearLayout { } //感知数据进PNC应用 V2I_PERCEPTION_DATA_TO_PNC->{ - + return FunctionBuildConfig.v2iPerceptionDataToPnc } //V2V下行 V2V_DOWNWARD_SWITCH->{ @@ -423,7 +423,28 @@ class OperatePanelLayout : LinearLayout { when (preference.key) { //NDE(数据上车)上行 NDE_UPWARD_SWITCH->{ - + val isChecked = newValue as? Boolean ?: false + FunctionBuildConfig.ndeUpwardSwitch = isChecked + //NDE(数据上车)上行命令开关 + CallerAutoPilotControlManager.sendForceStopOrStartCloudReq(1,1,isChecked) + //查询NDE(数据上车)上行设置状态,设置完成后延迟500毫秒进行查询 + UiThreadHandler.postDelayed({ + CallerAutoPilotControlManager.sendCloudConfigRequest() + }, 500) + if(isChecked){ + preferenceScreen.findPreferenceReal(IMAGE_UPLOAD_SWITCH)?.also { changeValue(it, FunctionBuildConfig.isImageUpload) }//车辆图像上传行云大模型 + }else{ + preferenceScreen.findPreferenceReal(IMAGE_UPLOAD_SWITCH)?.also { changeValue(it, false) }//车辆图像上传行云大模型 + //域控摄像头上传NDE云开关命令 + CallerAutoPilotControlManager.sendImgUploadCloudEnable(false) + //查询域控摄像头上传NDE云开关状态查询,设置完成后延迟500毫秒进行查询 + UiThreadHandler.postDelayed({ + CallerAutoPilotControlManager.sendImgUploadCloudStatusQuery() + }, 500) + } + hmiAction("NDE(数据上车)上行, ", isChecked) + clickEventAnalytics("NDE(数据上车)上行", isChecked) + return true } //车辆图像上传行云大模型 IMAGE_UPLOAD_SWITCH->{ @@ -435,43 +456,124 @@ class OperatePanelLayout : LinearLayout { UiThreadHandler.postDelayed({ CallerAutoPilotControlManager.sendImgUploadCloudStatusQuery() }, 500) - hmiAction("SOP 车辆图像上传行云大模型, ", isChecked) + hmiAction("车辆图像上传行云大模型, ", isChecked) clickEventAnalytics("车辆图像上传行云大模型", isChecked) return true } //NDE(数据上车)下行 NDE_DOWNWARD_SWITCH->{ - + val isChecked = newValue as? Boolean ?: false + FunctionBuildConfig.ndeDownwardSwitch = isChecked + CallerAutoPilotControlManager.sendForceStopOrStartCloudReq(1,2,isChecked) + //查询NDE(数据上车)上行设置状态,设置完成后延迟500毫秒进行查询 + UiThreadHandler.postDelayed({ + CallerAutoPilotControlManager.sendCloudConfigRequest() + }, 500) + hmiAction("NDE(数据上车)下行, ", isChecked) + clickEventAnalytics("NDE(数据上车)下行", isChecked) + if(isChecked){ + preferenceScreen.findPreferenceReal(NDE_EVENT_DATA_TO_PNC)?.also { changeValue(it, FunctionBuildConfig.ndeEventDataToPnc) }//事件数据进PNC应用 + preferenceScreen.findPreferenceReal(NDE_PERCEPTION_DATA_TO_PNC)?.also { changeValue(it, FunctionBuildConfig.ndePerceptionDataToPnc) }//感知数据进PNC应用 + }else{ + preferenceScreen.findPreferenceReal(NDE_EVENT_DATA_TO_PNC)?.also { changeValue(it, false) }//事件数据进PNC应用 + preferenceScreen.findPreferenceReal(NDE_PERCEPTION_DATA_TO_PNC)?.also { changeValue(it, false) }//感知数据进PNC应用 + } + return true } //事件数据进PNC应用 NDE_EVENT_DATA_TO_PNC->{ - + val isChecked = newValue as? Boolean ?: false + FunctionBuildConfig.ndeEventDataToPnc = isChecked + if(isChecked){ + CallerAutoPilotControlManager.sendNdeDownEventToPnc(1) + }else{ + CallerAutoPilotControlManager.sendNdeDownEventToPnc(0) + } + //查询事件数据进PNC应用 + UiThreadHandler.postDelayed({ + CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.V2N_TO_PNC) + }, 500) + hmiAction("事件数据进PNC应用, ", isChecked) + clickEventAnalytics("事件数据进PNC应用", isChecked) + return true } //感知数据进PNC应用 NDE_PERCEPTION_DATA_TO_PNC->{ - + val isChecked = newValue as? Boolean ?: false + FunctionBuildConfig.ndePerceptionDataToPnc = isChecked + if(isChecked){ + CallerAutoPilotControlManager.sendNdeDownPerceptionToPnc(1) + }else{ + CallerAutoPilotControlManager.sendNdeDownPerceptionToPnc(0) + } + //查询感知数据进PNC应用 + UiThreadHandler.postDelayed({ + CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.PERCEPTION_TO_PNC) + }, 500) + hmiAction("感知数据进PNC应用, ", isChecked) + clickEventAnalytics("感知数据进PNC应用", isChecked) + return true } //云控基础平台上行 CLOUD_CONTROL_UPWARD->{ - + val isChecked = newValue as? Boolean ?: false + FunctionBuildConfig.cloudControlUpward = isChecked + CallerAutoPilotControlManager.sendForceStopOrStartCloudReq(2,1,isChecked) + //查询云控基础平台上行状态 + UiThreadHandler.postDelayed({ + CallerAutoPilotControlManager.sendCloudConfigRequest() + }, 500) + hmiAction("云控基础平台上行, ", isChecked) + clickEventAnalytics("云控基础平台上行", isChecked) + return true } //云控基础平台下行 CLOUD_CONTROL_DOWNWARD->{ - + val isChecked = newValue as? Boolean ?: false + FunctionBuildConfig.cloudControlDownward = isChecked + CallerAutoPilotControlManager.sendForceStopOrStartCloudReq(2,2,isChecked) + //查询云控基础平台下行状态 + UiThreadHandler.postDelayed({ + CallerAutoPilotControlManager.sendCloudConfigRequest() + }, 500) + hmiAction("云控基础平台下行, ", isChecked) + clickEventAnalytics("云控基础平台下行", isChecked) + return true } //OBU上报(V2I、V2V上行) OBU_UPWARD_SWITCH->{ - + val isChecked = newValue as? Boolean ?: false + FunctionBuildConfig.obuUpwardSwitch = isChecked + //域控上报OBU开关控制 + if(isChecked){ + CallerAutoPilotControlManager.sendSetObuUploadReq(1) + }else{ + CallerAutoPilotControlManager.sendSetObuUploadReq(0) + } + //域控上报OBU开关状态查询,设置完成后延迟500毫秒进行查询 + UiThreadHandler.postDelayed({ + CallerAutoPilotControlManager.sendObuUploadStatusQuery() + }, 500) + hmiAction("OBU上报(V2I、V2V上行), ", isChecked) + clickEventAnalytics("OBU上报(V2I、V2V上行)", isChecked) + return true } //V2I下行 V2I_DOWNWARD_SWITCH->{ val isChecked = newValue as? Boolean ?: false FunctionBuildConfig.v2iDownwardSwitch = isChecked - hmiAction("V2I下行, ", isChecked) if (!isChecked) { preferenceScreen.findPreferenceReal(V2I_WEAK_TRAFFIC_PARTICIPANT)?.also { changeValue(it, false) } preferenceScreen.findPreferenceReal(V2I_PERCEPTION_DATA_TO_PNC)?.also { changeValue(it, false) } } + if(isChecked){ + CallerAutoPilotControlManager.sendV2iDownPerceptionToPnc(1) + }else{ + CallerAutoPilotControlManager.sendV2iDownPerceptionToPnc(0) + } + //TODO 查询 + + hmiAction("V2I下行, ", isChecked) clickEventAnalytics("V2I下行", isChecked) return true } @@ -485,14 +587,20 @@ class OperatePanelLayout : LinearLayout { } //感知数据进PNC应用 V2I_PERCEPTION_DATA_TO_PNC->{ + val isChecked = newValue as? Boolean ?: false + FunctionBuildConfig.v2iPerceptionDataToPnc = isChecked + //TODO + hmiAction("感知数据进PNC应用, ", isChecked) + clickEventAnalytics("感知数据进PNC应用", isChecked) + return true } //V2V下行 V2V_DOWNWARD_SWITCH->{ val isChecked = newValue as? Boolean ?: false FunctionBuildConfig.v2vDownwardSwitch = isChecked - clickEventAnalytics("V2V下行", isChecked) hmiAction("V2V下行, ", isChecked) + clickEventAnalytics("V2V下行", isChecked) return true } } @@ -504,7 +612,23 @@ class OperatePanelLayout : LinearLayout { * @param config 数据 */ override fun onCloudConfig(config: MessagePad.CloudConfig) { - + //TODO +// //云连接地址 +// message CloudLinkAddr +// { +// uint32 type = 1;//0:蘑菇云 1:NDE云 2:基础平台云 +// uint32 direction = 2;//0:上行和下行 1:上行 2:下行 +// string domain = 3;//域名 +// uint32 port = 4;//端口 0xFFFFFFFF 无效值 +// bool enable = 5;//连接使能开关, true:开 false:关闭 +// string ip = 6;//ip +// } +// +////域控连接的云端配置 +// message CloudConfig +// { +// repeated CloudLinkAddr addrs = 1; +// } } /** @@ -520,7 +644,12 @@ class OperatePanelLayout : LinearLayout { * @param adasParam 解析后的配置参数 */ override fun onGetParamResp(getParamResp: MessagePad.SetParamReq, adasParam: AdasParam) { - + //融合v2n开关 NDE下行事件数据进pnc + preferenceScreen.findPreferenceReal(NDE_EVENT_DATA_TO_PNC)?.also { changeValue(it,adasParam.v2nToPnc==1) } + //融合v2i开关 V2I下行感知数据进pnc + preferenceScreen.findPreferenceReal(V2I_PERCEPTION_DATA_TO_PNC)?.also { changeValue(it,adasParam.v2iToPnc==1) } + //NDE下行感知数据进pnc + preferenceScreen.findPreferenceReal(NDE_PERCEPTION_DATA_TO_PNC)?.also { changeValue(it,adasParam.perceptionToPnc==1) } } /** @@ -528,7 +657,7 @@ class OperatePanelLayout : LinearLayout { * @param enable 数据 */ override fun onObuUploadStatus(enable: MessagePad.SetEnableReq) { - + preferenceScreen.findPreferenceReal(OBU_UPWARD_SWITCH)?.also { changeValue(it, enable.enable==1) } } } @@ -1346,7 +1475,9 @@ class OperatePanelLayout : LinearLayout { return true } KEY_CHANGE_LANE_SPEED_THRESHOLDS -> { - FunctionBuildConfig.detouringSpeed = preference.extras.getDouble(PreferenceWithSpeedSetting.KEY_BUNDLE_CURRENT_VALUE, FunctionBuildConfig.detouringSpeed.toDouble()) + FunctionBuildConfig.detouringSpeed = preference.extras.getDouble(PreferenceWithSpeedSetting.KEY_BUNDLE_CURRENT_VALUE, + FunctionBuildConfig.detouringSpeed + ) hmiAction("SOP 变道绕障的目标障碍物速度阈值", FunctionBuildConfig.detouringSpeed) val isSuccess = CallerAutoPilotControlManager.sendDetouringSpeed(FunctionBuildConfig.detouringSpeed) if (isSuccess == true) {