[8.1.0]多链路数据控制
This commit is contained in:
@@ -1616,4 +1616,53 @@ class MoGoAutopilotControlProvider :
|
||||
return AdasManager.getInstance().sendCloudConfigRequest() > -1
|
||||
}
|
||||
|
||||
/**
|
||||
* NDE下行感知进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
*/
|
||||
override fun sendNdeDownPerceptionToPnc(enable: Int): Boolean {
|
||||
return AdasManager.getInstance().sendNdeDownPerceptionToPnc(enable) > -1
|
||||
}
|
||||
|
||||
/**
|
||||
* NDE下行事件进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
*/
|
||||
override fun sendNdeDownEventToPnc(enable: Int): Boolean {
|
||||
return AdasManager.getInstance().sendNdeDownEventToPnc(enable) > -1
|
||||
}
|
||||
|
||||
/**
|
||||
* V2I下行感知进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
*/
|
||||
override fun sendV2iDownPerceptionToPnc(enable: Int): Boolean {
|
||||
return AdasManager.getInstance().sendV2iDownPerceptionToPnc(enable) > -1
|
||||
}
|
||||
|
||||
/**
|
||||
* 云端配置控制
|
||||
* @param type 0:蘑菇云 1:NDE云 2:基础平台云
|
||||
* @param direction 0:上行和下行 1:上行 2:下行 当 type == 0 或 1 时 此值只能是 0(蘑菇云和NDE云只能上下行同时控制;当 type == 2 时 此值不能是 0(基础平台云只能上下行分开控制);
|
||||
* @param enable 连接使能开关, true:开 false:关闭
|
||||
*/
|
||||
override fun sendForceStopOrStartCloudReq(type: Int, direction: Int, enable: Boolean): Boolean {
|
||||
return AdasManager.getInstance().sendForceStopOrStartCloudReq(type, direction, enable) > -1
|
||||
}
|
||||
|
||||
/**
|
||||
* 域控上报OBU开关控制
|
||||
* @param enable 0:关 1:开
|
||||
*/
|
||||
override fun sendSetObuUploadReq(enable: Int): Boolean {
|
||||
return AdasManager.getInstance().sendSetObuUploadReq(enable) > -1
|
||||
}
|
||||
|
||||
/**
|
||||
* 域控上报OBU开关状态查询
|
||||
*/
|
||||
override fun sendObuUploadStatusQuery(): Boolean {
|
||||
return AdasManager.getInstance().sendObuUploadStatusQuery() > -1
|
||||
}
|
||||
|
||||
}
|
||||
@@ -88,7 +88,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerV2XListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerCaptureImgManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDiskCopyManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerImgUploadCloudManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerV2XManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerOTAManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.function.call.obu.CallerObuMapMathListenerManager
|
||||
@@ -1308,6 +1308,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
) {
|
||||
FunctionBuildConfig.fusionMode = adasParam.fusionMode
|
||||
CallerAutopilotGetParamResponseDispatcher.dispatchResponse(header, getParamResp, adasParam)
|
||||
CallerV2XManager.invokeGetParamResp(getParamResp, adasParam)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1485,13 +1486,14 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
|
||||
override fun onCloudConfig(header: MessagePad.Header, config: MessagePad.CloudConfig) {
|
||||
CallerCloudConfigListenerManager.invokeCloudConfig(config)
|
||||
CallerV2XManager.invokeCloudConfig(config)
|
||||
}
|
||||
|
||||
override fun onImgUploadCloudStatusResp(
|
||||
header: MessagePad.Header,
|
||||
resp: MessagePad.ImgUploadCloudStatusResp
|
||||
) {
|
||||
CallerImgUploadCloudManager.invokeImgUploadCloudStatusResp(resp)
|
||||
CallerV2XManager.invokeImgUploadCloudStatusResp(resp)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1594,6 +1596,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
* @param enable 数据
|
||||
*/
|
||||
override fun onObuUploadStatus(header: MessagePad.Header, enable: MessagePad.SetEnableReq) {
|
||||
CallerV2XManager.invokeObuUploadStatus(enable)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,10 +25,9 @@ import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.config.HmiBuildConfig
|
||||
import com.mogo.eagle.core.data.multidisplay.TelematicConstant
|
||||
import com.mogo.eagle.core.data.obu.MogoObuConst
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoGetParamResponseListener
|
||||
import com.mogo.eagle.core.function.api.devatools.IImgUploadCloudListener
|
||||
import com.mogo.eagle.core.function.api.devatools.IV2XListener
|
||||
import com.mogo.eagle.core.function.api.devatools.mofang.IMoGoMoFangProvider
|
||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener
|
||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_DEMO
|
||||
@@ -40,11 +39,10 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotGetParamResponseDispatcher
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerImgUploadCloudManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerV2XManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
|
||||
import com.mogo.eagle.core.function.call.obu.CallerObuApiManager
|
||||
import com.mogo.eagle.core.function.call.setting.CallerSopSettingManager
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
|
||||
@@ -324,18 +322,42 @@ class OperatePanelLayout : LinearLayout {
|
||||
}
|
||||
}
|
||||
|
||||
class V2XPreferenceFragmentCompat : OperatePanelDetailBase() {
|
||||
class V2XPreferenceFragmentCompat : OperatePanelDetailBase(), IV2XListener {
|
||||
|
||||
companion object {
|
||||
private const val KEY_V2X_TOTAL_SWITCH = "v2x_total_switch"
|
||||
private const val KEY_V2N_TOTAL_SWITCH = "v2n_total_switch"
|
||||
private const val KEY_V2N_NEW_LINKED_TO_PNC = "v2n_new_linked_to_pnc"
|
||||
private const val KEY_V2I_TOTAL_SWITCH = "v2i_total_switch"
|
||||
private const val KEY_V2I_TO_PNC = "v2i_to_pnc"
|
||||
private const val KEY_V2I_RED_LIGHT_WARNING = "v2i_red_light_warning"
|
||||
private const val KEY_V2I_WEAKNESS_TRAFFIC = "v2i_weakness_traffic"
|
||||
private const val KEY_V2V_TOTAL_SWITCH = "v2v_total_switch"
|
||||
private const val KEY_OBU_TOTAL_SWITCH = "obu_total_switch"
|
||||
private const val TAG = "V2XPreferenceFragmentCompat"
|
||||
private const val NDE_UPWARD_SWITCH = "nde_upward_switch" //NDE(数据上车)上行
|
||||
private const val IMAGE_UPLOAD_SWITCH = "image_upload_switch" //车辆图像上传行云大模型
|
||||
private const val NDE_DOWNWARD_SWITCH = "nde_downward_switch" //NDE(数据上车)下行
|
||||
private const val NDE_EVENT_DATA_TO_PNC = "nde_event_data_to_pnc" //事件数据进PNC应用
|
||||
private const val NDE_PERCEPTION_DATA_TO_PNC = "nde_perception_data_to_pnc" //感知数据进PNC应用
|
||||
private const val CLOUD_CONTROL_UPWARD = "cloud_control_upward" //云控基础平台上行
|
||||
private const val CLOUD_CONTROL_DOWNWARD = "cloud_control_downward" //云控基础平台下行
|
||||
private const val OBU_UPWARD_SWITCH = "obu_upward_switch" //OBU上报(V2I、V2V上行)
|
||||
private const val V2I_DOWNWARD_SWITCH = "v2i_downward_switch" //V2I下行
|
||||
private const val V2I_WEAK_TRAFFIC_PARTICIPANT = "v2i_weak_traffic_participant" //弱势交通参与者
|
||||
private const val V2I_PERCEPTION_DATA_TO_PNC = "v2i_perception_data_to_pnc" //感知数据进PNC应用
|
||||
private const val V2V_DOWNWARD_SWITCH = "v2v_downward_switch" //V2V下行
|
||||
}
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater,
|
||||
container: ViewGroup?, savedInstanceState: Bundle?
|
||||
): View {
|
||||
CallerV2XManager.addListener(TAG,this)
|
||||
if (AppConfigInfo.isConnectAutopilot){
|
||||
//云端配置查询
|
||||
CallerAutoPilotControlManager.sendCloudConfigRequest()
|
||||
//域控上报OBU开关状态查询
|
||||
CallerAutoPilotControlManager.sendObuUploadStatusQuery()
|
||||
//车辆图像上传行云大模型状态查询
|
||||
CallerAutoPilotControlManager.sendImgUploadCloudStatusQuery()
|
||||
}
|
||||
return super.onCreateView(inflater, container, savedInstanceState)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
CallerV2XManager.removeListener(TAG)
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
@@ -344,32 +366,53 @@ class OperatePanelLayout : LinearLayout {
|
||||
|
||||
override fun getDefaultVal(pref: Preference): Any? {
|
||||
when (pref.key) {
|
||||
KEY_V2X_TOTAL_SWITCH -> {
|
||||
return FunctionBuildConfig.v2xTotalSwitch
|
||||
//NDE(数据上车)上行
|
||||
NDE_UPWARD_SWITCH->{
|
||||
|
||||
}
|
||||
KEY_V2N_TOTAL_SWITCH -> {
|
||||
return FunctionBuildConfig.v2nTotalSwitch
|
||||
//车辆图像上传行云大模型
|
||||
IMAGE_UPLOAD_SWITCH->{
|
||||
return FunctionBuildConfig.isImageUpload
|
||||
}
|
||||
KEY_V2N_NEW_LINKED_TO_PNC -> {
|
||||
return FunctionBuildConfig.v2nNewLinkedToPNC
|
||||
//NDE(数据上车)下行
|
||||
NDE_DOWNWARD_SWITCH->{
|
||||
|
||||
}
|
||||
KEY_V2I_TOTAL_SWITCH -> {
|
||||
//事件数据进PNC应用
|
||||
NDE_EVENT_DATA_TO_PNC->{
|
||||
|
||||
}
|
||||
//感知数据进PNC应用
|
||||
NDE_PERCEPTION_DATA_TO_PNC->{
|
||||
|
||||
}
|
||||
//云控基础平台上行
|
||||
CLOUD_CONTROL_UPWARD->{
|
||||
|
||||
}
|
||||
//云控基础平台下行
|
||||
CLOUD_CONTROL_DOWNWARD->{
|
||||
|
||||
}
|
||||
//OBU上报(V2I、V2V上行)
|
||||
OBU_UPWARD_SWITCH->{
|
||||
|
||||
}
|
||||
//V2I下行
|
||||
V2I_DOWNWARD_SWITCH->{
|
||||
return HmiBuildConfig.v2iTotalSwitch
|
||||
}
|
||||
KEY_V2I_TO_PNC -> {
|
||||
return FunctionBuildConfig.v2iToPNC
|
||||
}
|
||||
KEY_V2I_RED_LIGHT_WARNING -> {
|
||||
return HmiBuildConfig.v2iRedLightWarning
|
||||
}
|
||||
KEY_V2I_WEAKNESS_TRAFFIC -> {
|
||||
//弱势交通参与者
|
||||
V2I_WEAK_TRAFFIC_PARTICIPANT->{
|
||||
return HmiBuildConfig.v2iWeaknessTraffic
|
||||
}
|
||||
KEY_V2V_TOTAL_SWITCH -> {
|
||||
return HmiBuildConfig.v2vTotalSwitch
|
||||
//感知数据进PNC应用
|
||||
V2I_PERCEPTION_DATA_TO_PNC->{
|
||||
|
||||
}
|
||||
KEY_OBU_TOTAL_SWITCH -> {
|
||||
return CallerObuApiManager.isConnected()
|
||||
//V2V下行
|
||||
V2V_DOWNWARD_SWITCH->{
|
||||
return HmiBuildConfig.v2vTotalSwitch
|
||||
}
|
||||
}
|
||||
return super.getDefaultVal(pref)
|
||||
@@ -378,110 +421,116 @@ class OperatePanelLayout : LinearLayout {
|
||||
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
|
||||
Log.d(TAG, "-- onPreferenceChange:($preference, $newValue)")
|
||||
when (preference.key) {
|
||||
KEY_V2X_TOTAL_SWITCH -> {
|
||||
//NDE(数据上车)上行
|
||||
NDE_UPWARD_SWITCH->{
|
||||
|
||||
}
|
||||
//车辆图像上传行云大模型
|
||||
IMAGE_UPLOAD_SWITCH->{
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
FunctionBuildConfig.v2xTotalSwitch = isChecked
|
||||
hmiAction("V2X总开关, ", isChecked)
|
||||
clickEventAnalytics("V2X总开关", isChecked)
|
||||
if (isChecked) {
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2N_TOTAL_SWITCH)?.also { changeValue(it, FunctionBuildConfig.v2nTotalSwitch) } // V2N总开关
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2I_TOTAL_SWITCH)?.also { changeValue(it, HmiBuildConfig.v2iTotalSwitch) } // V2I总开关
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2V_TOTAL_SWITCH)?.also { changeValue(it, HmiBuildConfig.v2vTotalSwitch) } // V2V总开关
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_OBU_TOTAL_SWITCH)?.also { changeValue(it, CallerObuApiManager.isConnected()) } // OBU总开关
|
||||
} else {
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2N_TOTAL_SWITCH)?.also { changeValue(it, false) } // V2N总开关
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2I_TOTAL_SWITCH)?.also { changeValue(it, false) } // V2I总开关
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2V_TOTAL_SWITCH)?.also { changeValue(it, false) } // V2V总开关
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_OBU_TOTAL_SWITCH)?.also { changeValue(it, false) } // OBU总开关
|
||||
}
|
||||
FunctionBuildConfig.isImageUpload = isChecked
|
||||
//域控摄像头上传NDE云开关命令
|
||||
CallerAutoPilotControlManager.sendImgUploadCloudEnable(isChecked)
|
||||
//查询域控摄像头上传NDE云开关状态查询,设置完成后延迟500毫秒进行查询
|
||||
UiThreadHandler.postDelayed({
|
||||
CallerAutoPilotControlManager.sendImgUploadCloudStatusQuery()
|
||||
}, 500)
|
||||
hmiAction("SOP 车辆图像上传行云大模型, ", isChecked)
|
||||
clickEventAnalytics("车辆图像上传行云大模型", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_V2N_TOTAL_SWITCH -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
FunctionBuildConfig.v2nTotalSwitch = isChecked
|
||||
hmiAction("V2N总开关, ", isChecked)
|
||||
clickEventAnalytics("V2N总开关", isChecked)
|
||||
if (!isChecked) { // preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2N_NEW_LINKED)?.also { changeValue(it, false) }
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2N_NEW_LINKED_TO_PNC)?.also { changeValue(it, false) }
|
||||
}
|
||||
val map = HashMap<String, Boolean>().also {
|
||||
it["f1"] = isChecked
|
||||
}
|
||||
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_NEW_LINK_SWITCH, toJson(map).toByteArray())
|
||||
return true
|
||||
//NDE(数据上车)下行
|
||||
NDE_DOWNWARD_SWITCH->{
|
||||
|
||||
}
|
||||
KEY_V2N_NEW_LINKED_TO_PNC -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
FunctionBuildConfig.v2nNewLinkedToPNC = isChecked
|
||||
clickEventAnalytics("V2N场景进PNC", isChecked)
|
||||
hmiAction("V2N场景进PNC, ", isChecked)
|
||||
CallerAutoPilotControlManager.sendV2nToPncCmd(isChecked)
|
||||
return true
|
||||
//事件数据进PNC应用
|
||||
NDE_EVENT_DATA_TO_PNC->{
|
||||
|
||||
}
|
||||
KEY_V2I_TOTAL_SWITCH -> {
|
||||
//感知数据进PNC应用
|
||||
NDE_PERCEPTION_DATA_TO_PNC->{
|
||||
|
||||
}
|
||||
//云控基础平台上行
|
||||
CLOUD_CONTROL_UPWARD->{
|
||||
|
||||
}
|
||||
//云控基础平台下行
|
||||
CLOUD_CONTROL_DOWNWARD->{
|
||||
|
||||
}
|
||||
//OBU上报(V2I、V2V上行)
|
||||
OBU_UPWARD_SWITCH->{
|
||||
|
||||
}
|
||||
//V2I下行
|
||||
V2I_DOWNWARD_SWITCH->{
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
HmiBuildConfig.v2iTotalSwitch = isChecked
|
||||
hmiAction("V2I总开关, ", isChecked)
|
||||
hmiAction("V2I下行, ", isChecked)
|
||||
if (!isChecked) {
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2I_TO_PNC)?.also { changeValue(it, false) }
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2I_RED_LIGHT_WARNING)?.also { changeValue(it, false) }
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_V2I_WEAKNESS_TRAFFIC)?.also { changeValue(it, false) }
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(V2I_WEAK_TRAFFIC_PARTICIPANT)?.also { changeValue(it, false) }
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(V2I_PERCEPTION_DATA_TO_PNC)?.also { changeValue(it, false) }
|
||||
}
|
||||
clickEventAnalytics("V2I总开关", isChecked)
|
||||
clickEventAnalytics("V2I下行", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_V2I_TO_PNC -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
FunctionBuildConfig.v2iToPNC = isChecked
|
||||
// FunctionBuildConfig.isFusionColor = isChecked //6.6.2版本基于运营需求-产品设计-v2i进pnc,感知目标颜色替换
|
||||
FunctionBuildConfig.fusionMode = 2
|
||||
CallerAutoPilotControlManager.sendFusionMode(2)
|
||||
CallerAutoPilotControlManager.setFusionColor(isChecked)
|
||||
CallerHmiViewControlListenerManager.invokeFuncMode(IViewControlListener.FUNC_FUSION_COLOR,isChecked)
|
||||
CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked)
|
||||
hmiAction("V2I场景进PNC, ", isChecked)
|
||||
clickEventAnalytics("V2I场景进PNC", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_V2I_RED_LIGHT_WARNING -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
HmiBuildConfig.v2iRedLightWarning = isChecked
|
||||
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, (if (isChecked) "1" else "0").toByteArray())
|
||||
clickEventAnalytics("V2I闯红灯预警", isChecked)
|
||||
hmiAction("V2I闯红灯预警, ", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_V2I_WEAKNESS_TRAFFIC -> {
|
||||
//弱势交通参与者
|
||||
V2I_WEAK_TRAFFIC_PARTICIPANT->{
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
HmiBuildConfig.v2iWeaknessTraffic = isChecked
|
||||
clickEventAnalytics("V2I弱势交通参与者", isChecked)
|
||||
hmiAction("V2I弱势交通参与者, ", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_V2V_TOTAL_SWITCH -> {
|
||||
//感知数据进PNC应用
|
||||
V2I_PERCEPTION_DATA_TO_PNC->{
|
||||
|
||||
}
|
||||
//V2V下行
|
||||
V2V_DOWNWARD_SWITCH->{
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
HmiBuildConfig.v2vTotalSwitch = isChecked
|
||||
clickEventAnalytics("V2V总开关", isChecked)
|
||||
hmiAction("V2V总开关, ", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_OBU_TOTAL_SWITCH -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
if (!isChecked) {
|
||||
CallerObuApiManager.disConnectObu() // 断开OBU连接
|
||||
} else {
|
||||
val isObuConnected = CallerObuApiManager.isConnected()
|
||||
if (isObuConnected) {
|
||||
CallerObuApiManager.resetObuIpAddress(MogoObuConst.OBU_DEFAULT_IP)
|
||||
}
|
||||
}
|
||||
clickEventAnalytics("OBU控制总开关", isChecked)
|
||||
hmiAction("OBU控制总开关, ", isChecked)
|
||||
clickEventAnalytics("V2V下行", isChecked)
|
||||
hmiAction("V2V下行, ", isChecked)
|
||||
return true
|
||||
}
|
||||
}
|
||||
return super.onPreferenceChange(preference, newValue)
|
||||
}
|
||||
|
||||
/**
|
||||
* 云端配置查询响应
|
||||
* @param config 数据
|
||||
*/
|
||||
override fun onCloudConfig(config: MessagePad.CloudConfig) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询摄像头上传NDE云状态返回
|
||||
*/
|
||||
override fun onImgUploadCloudStatusResp(resp: MessagePad.ImgUploadCloudStatusResp) {
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(IMAGE_UPLOAD_SWITCH)?.also { changeValue(it, resp.enable) }
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询 NDE下行事件数据进pnc 与 V2I下行感知数据进pnc 与 NDE下行感知数据进pnc参数获取应答
|
||||
* @param getParamResp 配置参数
|
||||
* @param adasParam 解析后的配置参数
|
||||
*/
|
||||
override fun onGetParamResp(getParamResp: MessagePad.SetParamReq, adasParam: AdasParam) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 域控上报OBU开关状态响应
|
||||
* @param enable 数据
|
||||
*/
|
||||
override fun onObuUploadStatus(enable: MessagePad.SetEnableReq) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class DemoPreferenceFragmentCompat : OperatePanelDetailBase(), IViewControlListener {
|
||||
@@ -1061,8 +1110,8 @@ class OperatePanelLayout : LinearLayout {
|
||||
}
|
||||
}
|
||||
|
||||
class VehiclesPreferenceFragmentCompat : OperatePanelDetailBase(), IMoGoAutopilotCarConfigListener, ISopSettingListener, IViewControlListener, IMoGoGetParamResponseListener,
|
||||
IImgUploadCloudListener {
|
||||
class VehiclesPreferenceFragmentCompat : OperatePanelDetailBase(), IMoGoAutopilotCarConfigListener,
|
||||
ISopSettingListener, IViewControlListener, IMoGoGetParamResponseListener{
|
||||
companion object {
|
||||
private const val TAG = "VehiclesPreferenceFragmentCompat"
|
||||
private const val KEY_PNC_PARK_INTERSECTION_CAR = "pnc_park_intersection_car"
|
||||
@@ -1072,7 +1121,6 @@ class OperatePanelLayout : LinearLayout {
|
||||
private const val KEY_FAULT_DECELERATION_PARK = "fault_deceleration_park"
|
||||
private const val KEY_WEAK_NET_DECELERATION_PARK = "weak_net_deceleration_park"
|
||||
private const val KEY_EXAM_FUNCTION_PANEL = "exam_function_panel"
|
||||
private const val KEY_IMAGE_UPLOAD = "image_upload"
|
||||
private const val KEY_ALL_MERGE_MODE = "all_merge_mode"
|
||||
private const val KEY_BLIND_AREA_MODE = "blind_area_mode"
|
||||
private const val KEY_BEYOND_VISUAL_RANGE_MODE = "beyond_visual_range_mode"
|
||||
@@ -1091,13 +1139,11 @@ class OperatePanelLayout : LinearLayout {
|
||||
CallerAutopilotCarConfigListenerManager.addListener(TAG, this)
|
||||
CallerSopSettingManager.addListener(TAG, this)
|
||||
CallerHmiViewControlListenerManager.addListener(TAG, this)
|
||||
CallerImgUploadCloudManager.addListener(TAG, this)
|
||||
if (AppConfigInfo.isConnectAutopilot) {
|
||||
Logger.d(TAG, "--- onCreateView --- 2 ---") //获取车辆配置
|
||||
CallerAutoPilotControlManager.getCarConfig() //查询融合模式
|
||||
CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.FUSION_MODE)
|
||||
CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.OVERTAKE_MAX_SPEED)
|
||||
CallerAutoPilotControlManager.sendImgUploadCloudStatusQuery()
|
||||
}
|
||||
return super.onCreateView(inflater, container, savedInstanceState)
|
||||
}
|
||||
@@ -1107,7 +1153,6 @@ class OperatePanelLayout : LinearLayout {
|
||||
CallerAutopilotCarConfigListenerManager.removeListener(TAG)
|
||||
CallerSopSettingManager.removeListener(TAG)
|
||||
CallerHmiViewControlListenerManager.removeListener(TAG)
|
||||
CallerImgUploadCloudManager.removeListener(TAG)
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
@@ -1245,9 +1290,6 @@ class OperatePanelLayout : LinearLayout {
|
||||
KEY_RAIN_DAY -> {
|
||||
return FunctionBuildConfig.isRainMode
|
||||
}
|
||||
KEY_IMAGE_UPLOAD -> {
|
||||
return FunctionBuildConfig.isImageUpload
|
||||
}
|
||||
KEY_WEAK_NET_DECELERATION_PARK -> {
|
||||
return FunctionBuildConfig.isWeakNetSlowDown
|
||||
}
|
||||
@@ -1397,19 +1439,6 @@ class OperatePanelLayout : LinearLayout {
|
||||
clickEventAnalytics("考试功能面板", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_IMAGE_UPLOAD -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
FunctionBuildConfig.isImageUpload = isChecked
|
||||
//域控摄像头上传NDE云开关命令
|
||||
CallerAutoPilotControlManager.sendImgUploadCloudEnable(isChecked)
|
||||
//查询域控摄像头上传NDE云开关状态查询,设置完成后延迟500毫秒进行查询
|
||||
UiThreadHandler.postDelayed({
|
||||
CallerAutoPilotControlManager.sendImgUploadCloudStatusQuery()
|
||||
}, 500)
|
||||
hmiAction("SOP 车辆图像上传行云大模型, ", isChecked)
|
||||
clickEventAnalytics("车辆图像上传行云大模型", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_ALL_MERGE_MODE -> {
|
||||
if (preference.extras.containsKey("is_checked")) {
|
||||
preference.extras.remove("is_checked")
|
||||
@@ -1514,12 +1543,6 @@ class OperatePanelLayout : LinearLayout {
|
||||
return super.onPreferenceChange(preference, newValue)
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询摄像头上传NDE云状态返回
|
||||
*/
|
||||
override fun onImgUploadCloudStatusResp(resp: MessagePad.ImgUploadCloudStatusResp) {
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_IMAGE_UPLOAD)?.also { changeValue(it, resp.enable) }
|
||||
}
|
||||
}
|
||||
|
||||
class WelcomeWordsPreferenceCompat : OperatePanelDetailBase() {
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@android:color/transparent"
|
||||
tools:background="#83000000"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
android:layout_marginEnd="@dimen/dp_30">
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:textColor="#FFFFFF"
|
||||
tools:ignore="SpUsage"
|
||||
android:layout_marginBottom="@dimen/dp_30"
|
||||
/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@android:id/widget_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_30"
|
||||
/>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_1"
|
||||
android:background="@color/white"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:paddingTop="@dimen/dp_30"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@android:color/transparent"
|
||||
tools:background="#83000000"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
android:layout_marginEnd="@dimen/dp_30"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:textColor="#FFFFFF"
|
||||
tools:ignore="SpUsage"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@android:id/widget_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
/>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_1"
|
||||
android:background="@color/white"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -2,87 +2,111 @@
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<PreferenceCategory android:title="V2X" android:layout="@layout/layout_operate_panel_preference_category_title">
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2x_total_switch"
|
||||
android:title="V2X总开关"
|
||||
android:key="nde_upward_switch"
|
||||
android:title="NDE(数据上车)上行"
|
||||
android:persistent="false"
|
||||
android:disableDependentsState="false"
|
||||
android:defaultValue="@bool/v2x_total_switch"
|
||||
android:defaultValue="@bool/nde_upward_switch"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2n_total_switch"
|
||||
android:title="V2N总开关"
|
||||
android:key="image_upload_switch"
|
||||
android:title="车辆图像上传行云大模型"
|
||||
android:persistent="false"
|
||||
android:defaultValue="@bool/image_upload_switch"
|
||||
android:dependency="nde_upward_switch"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="nde_downward_switch"
|
||||
android:title="NDE(数据上车)下行"
|
||||
android:persistent="false"
|
||||
android:disableDependentsState="false"
|
||||
android:dependency="v2x_total_switch"
|
||||
android:defaultValue="@bool/v2n_total_switch"
|
||||
android:defaultValue="@bool/nde_downward_switch"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
<!-- <SwitchPreferenceCompat-->
|
||||
<!-- android:key="v2n_new_linked"-->
|
||||
<!-- android:title="V2N新链路"-->
|
||||
<!-- android:persistent="false"-->
|
||||
<!-- android:dependency="v2n_total_switch"-->
|
||||
<!-- android:defaultValue="@bool/v2n_new_linked"-->
|
||||
<!-- android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"-->
|
||||
<!-- android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>-->
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2n_new_linked_to_pnc"
|
||||
android:title="V2N场景进PNC"
|
||||
android:key="nde_event_data_to_pnc"
|
||||
android:title="事件数据进PNC应用"
|
||||
android:persistent="false"
|
||||
android:dependency="v2n_total_switch"
|
||||
android:defaultValue="@bool/v2n_new_linked_to_pnc"
|
||||
android:dependency="nde_downward_switch"
|
||||
android:defaultValue="@bool/nde_event_data_to_pnc"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2i_total_switch"
|
||||
android:title="V2I总开关"
|
||||
android:key="nde_perception_data_to_pnc"
|
||||
android:title="感知数据进PNC应用"
|
||||
android:persistent="false"
|
||||
android:dependency="v2x_total_switch"
|
||||
android:dependency="nde_downward_switch"
|
||||
android:defaultValue="@bool/nde_perception_data_to_pnc"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="cloud_control_upward"
|
||||
android:title="云控基础平台上行"
|
||||
android:persistent="false"
|
||||
android:defaultValue="@bool/cloud_control_upward"
|
||||
android:disableDependentsState="false"
|
||||
android:defaultValue="@bool/v2i_total_switch"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat"
|
||||
android:layout="@layout/layout_operate_panel_preference_top_divider"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2i_to_pnc"
|
||||
android:title="V2I场景进PNC"
|
||||
android:key="cloud_control_downward"
|
||||
android:title="云控基础平台下行"
|
||||
android:persistent="false"
|
||||
android:defaultValue="@bool/v2i_from_pnc"
|
||||
android:dependency="v2i_total_switch"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2i_red_light_warning"
|
||||
android:title="闯红灯预警"
|
||||
android:persistent="false"
|
||||
android:dependency="v2i_total_switch"
|
||||
android:defaultValue="@bool/v2i_red_green_warning"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2i_weakness_traffic"
|
||||
android:title="路侧弱势交通参与者"
|
||||
android:persistent="false"
|
||||
android:dependency="v2i_total_switch"
|
||||
android:defaultValue="@bool/v2i_weakness_traffic"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2v_total_switch"
|
||||
android:title="V2V总开关"
|
||||
android:persistent="false"
|
||||
android:defaultValue="@bool/v2v_total_switch"
|
||||
android:defaultValue="@bool/cloud_control_downward"
|
||||
android:disableDependentsState="false"
|
||||
android:dependency="v2x_total_switch"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat"
|
||||
android:layout="@layout/layout_operate_panel_preference_bottom_divider"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="obu_total_switch"
|
||||
android:title="OBU总开关"
|
||||
android:key="obu_upward_switch"
|
||||
android:title="OBU上报(V2I、V2V上行)"
|
||||
android:persistent="false"
|
||||
android:defaultValue="@bool/obu_total_switch"
|
||||
android:dependency="v2x_total_switch"
|
||||
android:defaultValue="@bool/v2i_downward_switch"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2i_downward_switch"
|
||||
android:title="V2I下行"
|
||||
android:persistent="false"
|
||||
android:defaultValue="@bool/v2i_downward_switch"
|
||||
android:disableDependentsState="false"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2i_weak_traffic_participant"
|
||||
android:title="弱势交通参与者"
|
||||
android:persistent="false"
|
||||
android:defaultValue="@bool/v2i_weak_traffic_participant"
|
||||
android:dependency="v2i_downward_switch"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2i_perception_data_to_pnc"
|
||||
android:title="感知数据进PNC应用"
|
||||
android:persistent="false"
|
||||
android:defaultValue="@bool/v2i_perception_data_to_pnc"
|
||||
android:dependency="v2i_downward_switch"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat_dependee"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="v2v_downward_switch"
|
||||
android:title="V2V下行"
|
||||
android:persistent="false"
|
||||
android:defaultValue="@bool/v2v_downward_switch"
|
||||
android:disableDependentsState="false"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"/>
|
||||
|
||||
</PreferenceCategory>
|
||||
</androidx.preference.PreferenceScreen>
|
||||
@@ -45,13 +45,6 @@
|
||||
android:title="考试功能面板"
|
||||
android:persistent="false"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
|
||||
<SwitchPreferenceCompat
|
||||
android:key="image_upload"
|
||||
android:layout="@layout/layout_operate_panel_preference_switch_compat"
|
||||
android:title="车辆图像上传行云大模型"
|
||||
android:persistent="false"
|
||||
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat"
|
||||
/>
|
||||
<CheckBoxPreference
|
||||
android:key="all_merge_mode"
|
||||
android:layout="@layout/layout_operate_panel_preference_checkbox_compat"
|
||||
|
||||
@@ -774,4 +774,41 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider {
|
||||
*/
|
||||
fun sendCloudConfigRequest(): Boolean
|
||||
|
||||
/**
|
||||
* NDE下行感知进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
*/
|
||||
fun sendNdeDownPerceptionToPnc(enable: Int): Boolean
|
||||
|
||||
/**
|
||||
* NDE下行事件进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
*/
|
||||
fun sendNdeDownEventToPnc(enable: Int): Boolean
|
||||
|
||||
/**
|
||||
* V2I下行感知进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
*/
|
||||
fun sendV2iDownPerceptionToPnc(enable: Int): Boolean
|
||||
|
||||
/**
|
||||
* 云端配置控制
|
||||
* @param type 0:蘑菇云 1:NDE云 2:基础平台云
|
||||
* @param direction 0:上行和下行 1:上行 2:下行 当 type == 0 或 1 时 此值只能是 0(蘑菇云和NDE云只能上下行同时控制;当 type == 2 时 此值不能是 0(基础平台云只能上下行分开控制);
|
||||
* @param enable 连接使能开关, true:开 false:关闭
|
||||
*/
|
||||
fun sendForceStopOrStartCloudReq(type: Int,direction: Int,enable: Boolean): Boolean
|
||||
|
||||
/**
|
||||
* 域控上报OBU开关控制
|
||||
* @param enable 0:关 1:开
|
||||
*/
|
||||
fun sendSetObuUploadReq(enable: Int): Boolean
|
||||
|
||||
/**
|
||||
* 域控上报OBU开关状态查询
|
||||
*/
|
||||
fun sendObuUploadStatusQuery(): Boolean
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.mogo.eagle.core.function.api.devatools
|
||||
|
||||
import mogo.telematics.pad.MessagePad
|
||||
|
||||
/**
|
||||
* 域控摄像头上传NDE云开关状态回调
|
||||
*/
|
||||
interface IImgUploadCloudListener {
|
||||
|
||||
/**
|
||||
* 查询状态回调
|
||||
*/
|
||||
fun onImgUploadCloudStatusResp(resp: MessagePad.ImgUploadCloudStatusResp)
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.mogo.eagle.core.function.api.devatools
|
||||
|
||||
import com.zhjt.mogo.adas.data.bean.AdasParam
|
||||
import mogo.telematics.pad.MessagePad
|
||||
|
||||
/**
|
||||
* 域控摄像头上传NDE云开关状态回调
|
||||
*/
|
||||
interface IV2XListener {
|
||||
|
||||
/**
|
||||
* 云端配置查询响应
|
||||
* @param config 数据
|
||||
*/
|
||||
fun onCloudConfig(config: MessagePad.CloudConfig)
|
||||
|
||||
/**
|
||||
* 摄像头上传NDE云状态响应
|
||||
* @param resp 数据
|
||||
*/
|
||||
fun onImgUploadCloudStatusResp(resp: MessagePad.ImgUploadCloudStatusResp)
|
||||
|
||||
/**
|
||||
* 查询 NDE下行事件数据进pnc 与 V2I下行感知数据进pnc 与 NDE下行感知数据进pnc参数获取应答
|
||||
* @param getParamResp 配置参数
|
||||
* @param adasParam 解析后的配置参数
|
||||
*/
|
||||
fun onGetParamResp(getParamResp: MessagePad.SetParamReq,adasParam: AdasParam)
|
||||
|
||||
/**
|
||||
* 域控上报OBU开关状态响应
|
||||
* @param enable 数据
|
||||
*/
|
||||
fun onObuUploadStatus(enable: MessagePad.SetEnableReq)
|
||||
|
||||
}
|
||||
@@ -1154,4 +1154,55 @@ object CallerAutoPilotControlManager {
|
||||
fun sendCloudConfigRequest(): Boolean{
|
||||
return providerApi?.sendCloudConfigRequest()?:false
|
||||
}
|
||||
|
||||
/**
|
||||
* NDE下行感知进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
*/
|
||||
fun sendNdeDownPerceptionToPnc(enable: Int): Boolean{
|
||||
return providerApi?.sendNdeDownPerceptionToPnc(enable)?:false
|
||||
}
|
||||
|
||||
/**
|
||||
* NDE下行事件进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
*/
|
||||
fun sendNdeDownEventToPnc(enable: Int): Boolean{
|
||||
return providerApi?.sendNdeDownEventToPnc(enable)?:false
|
||||
}
|
||||
|
||||
/**
|
||||
* V2I下行感知进PNC开关
|
||||
* @param enable 0: 不发给PnC 1:发给Pnc
|
||||
*/
|
||||
fun sendV2iDownPerceptionToPnc(enable: Int): Boolean{
|
||||
return providerApi?.sendV2iDownPerceptionToPnc(enable)?:false
|
||||
}
|
||||
|
||||
/**
|
||||
* 云端配置控制
|
||||
* @param type 0:蘑菇云 1:NDE云 2:基础平台云
|
||||
* @param direction 0:上行和下行 1:上行 2:下行 当 type == 0 或 1 时 此值只能是 0(蘑菇云和NDE云只能上下行同时控制;当 type == 2 时 此值不能是 0(基础平台云只能上下行分开控制);
|
||||
* @param enable 连接使能开关, true:开 false:关闭
|
||||
*/
|
||||
fun sendForceStopOrStartCloudReq(type: Int,direction: Int,enable: Boolean): Boolean{
|
||||
return providerApi?. sendForceStopOrStartCloudReq(type, direction, enable)?:false
|
||||
}
|
||||
|
||||
/**
|
||||
* 域控上报OBU开关控制
|
||||
* @param enable 0:关 1:开
|
||||
*/
|
||||
fun sendSetObuUploadReq(enable: Int): Boolean{
|
||||
return providerApi?.sendSetObuUploadReq(enable)?:false
|
||||
}
|
||||
|
||||
/**
|
||||
* 域控上报OBU开关状态查询
|
||||
*/
|
||||
fun sendObuUploadStatusQuery(): Boolean{
|
||||
return providerApi?.sendObuUploadStatusQuery()?:false
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package com.mogo.eagle.core.function.call.devatools
|
||||
|
||||
import com.mogo.eagle.core.function.api.devatools.IImgUploadCloudListener
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import mogo.telematics.pad.MessagePad
|
||||
|
||||
/**
|
||||
* 域控摄像头上传NDE云开关状态回调管理
|
||||
*/
|
||||
object CallerImgUploadCloudManager: CallerBase<IImgUploadCloudListener>() {
|
||||
|
||||
/**
|
||||
* 查询摄像头上传NDE云状态返回
|
||||
*/
|
||||
fun invokeImgUploadCloudStatusResp(resp: MessagePad.ImgUploadCloudStatusResp){
|
||||
M_LISTENERS.forEach{
|
||||
val listener = it.value
|
||||
listener.onImgUploadCloudStatusResp(resp)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.mogo.eagle.core.function.call.devatools
|
||||
|
||||
import com.mogo.eagle.core.function.api.devatools.IV2XListener
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import com.zhjt.mogo.adas.data.bean.AdasParam
|
||||
import mogo.telematics.pad.MessagePad
|
||||
|
||||
/**
|
||||
* 域控摄像头上传NDE云开关状态回调管理
|
||||
*/
|
||||
object CallerV2XManager: CallerBase<IV2XListener>() {
|
||||
|
||||
/**
|
||||
* 云端配置查询响应
|
||||
* @param config 数据
|
||||
*/
|
||||
fun invokeCloudConfig(config: MessagePad.CloudConfig){
|
||||
M_LISTENERS.forEach{
|
||||
val listener = it.value
|
||||
listener.onCloudConfig(config)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询摄像头上传NDE云状态返回
|
||||
*/
|
||||
fun invokeImgUploadCloudStatusResp(resp: MessagePad.ImgUploadCloudStatusResp){
|
||||
M_LISTENERS.forEach{
|
||||
val listener = it.value
|
||||
listener.onImgUploadCloudStatusResp(resp)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询 NDE下行事件数据进pnc 与 V2I下行感知数据进pnc 与 NDE下行感知数据进pnc参数获取应答
|
||||
* @param getParamResp 配置参数
|
||||
* @param adasParam 解析后的配置参数
|
||||
*/
|
||||
fun invokeGetParamResp(getParamResp: MessagePad.SetParamReq,adasParam: AdasParam){
|
||||
M_LISTENERS.forEach{
|
||||
val listener = it.value
|
||||
listener.onGetParamResp(getParamResp, adasParam)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 域控上报OBU开关状态响应
|
||||
* @param enable 数据
|
||||
*/
|
||||
fun invokeObuUploadStatus(enable: MessagePad.SetEnableReq){
|
||||
M_LISTENERS.forEach{
|
||||
val listener = it.value
|
||||
listener.onObuUploadStatus(enable)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,38 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- V2X总开关-->
|
||||
<bool name="v2x_total_switch">true</bool>
|
||||
<!--NDE(数据上车)上行-->
|
||||
<bool name="nde_upward_switch">true</bool>
|
||||
|
||||
<!-- V2N总开关,其子开关包括V2N新链路、V2N场景进PNC、绿波通行-->
|
||||
<bool name="v2n_total_switch">true</bool>
|
||||
<!--车辆图像上传行云大模型开关-->
|
||||
<bool name="image_upload_switch">false</bool>
|
||||
|
||||
<!-- 是否是V2N新链路(云->工控机->App)-->
|
||||
<bool name="v2n_new_linked">true</bool>
|
||||
<!--NDE(数据上车)下行-->
|
||||
<bool name="nde_downward_switch">true</bool>
|
||||
|
||||
<!-- V2N场景进PNC -->
|
||||
<bool name="v2n_new_linked_to_pnc">true</bool>
|
||||
<!--事件数据进PNC应用-->
|
||||
<bool name="nde_event_data_to_pnc">true</bool>
|
||||
|
||||
<!-- 是否开启绿波通行, 默认关闭 -->
|
||||
<bool name="v2n_green_wave">false</bool>
|
||||
<!--感知数据进PNC应用-->
|
||||
<bool name="nde_perception_data_to_pnc">true</bool>
|
||||
|
||||
<!-- 是否展示obu的v2i-->
|
||||
<bool name="v2i_total_switch">true</bool>
|
||||
<!--云控基础平台上行-->
|
||||
<bool name="cloud_control_upward">false</bool>
|
||||
|
||||
<!-- 是否展示闯红灯预警-->
|
||||
<bool name="v2i_red_green_warning">false</bool>
|
||||
<!--云控基础平台下行-->
|
||||
<bool name="cloud_control_downward">false</bool>
|
||||
|
||||
<!-- 是否开启路侧弱势交通参与者-->
|
||||
<bool name="v2i_weakness_traffic">false</bool>
|
||||
<!--OBU上报(V2I、V2V上行)-->
|
||||
<bool name="obu_upward_switch">false</bool>
|
||||
|
||||
<!-- 是否开启V2I场景进PNC -->
|
||||
<bool name="v2i_from_pnc">true</bool>
|
||||
<!--V2I下行默认开关-->
|
||||
<bool name="v2i_downward_switch">false</bool>
|
||||
|
||||
<!-- 是否开启v2v总开关 -->
|
||||
<bool name="v2v_total_switch">false</bool>
|
||||
<!--是否开启路侧弱势交通参与者-->
|
||||
<bool name="v2i_weak_traffic_participant">false</bool>
|
||||
|
||||
<!-- 是否开启obu总开关 -->
|
||||
<bool name="obu_total_switch">false</bool>
|
||||
<!--感知数据进PNC应用-->
|
||||
<bool name="v2i_perception_data_to_pnc">false</bool>
|
||||
|
||||
<!--是否开启v2v下行开关 -->
|
||||
<bool name="v2v_downward_switch">false</bool>
|
||||
|
||||
|
||||
<!-- 危险障碍物颜色标记开关-->
|
||||
|
||||
Reference in New Issue
Block a user