A、增加点云动态订阅功能

Signed-off-by: “donghongyu-mackbook” <donghongyu@zhidaoauto.com>
This commit is contained in:
“donghongyu-mackbook”
2022-08-25 15:29:48 +08:00
parent b6b77e8b02
commit cb054276b5
4 changed files with 33 additions and 6 deletions

View File

@@ -51,7 +51,9 @@ import com.zhidao.support.adas.high.OnMultiDeviceListener
import com.zhidao.support.adas.high.common.Constants
import com.zhidao.support.adas.high.common.Constants.IPC_CONNECTION_STATUS
import com.zhidao.support.adas.high.common.CupidLogUtils
import com.zhidao.support.adas.high.common.MessageType
import com.zhidao.support.adas.high.common.MogoReport
import com.zhidao.support.adas.high.subscribe.SubscribeInterfaceOptions
import com.zhjt.service.chain.ChainLog
import com.zhjt.service.chain.TracingConstants
import io.netty.channel.Channel
@@ -86,12 +88,22 @@ class MoGoAutopilotProvider :
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {// 司机
// 注册地图采集功能
CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this)
// 配置默认关闭的连接topic
val messageTypes: MutableSet<MessageType> = HashSet()
messageTypes.add(MessageType.TYPE_RECEIVE_POINT_CLOUD)
val subscribeInterfaceOptions = SubscribeInterfaceOptions.newBuilder()
.setRole(Constants.TERMINAL_ROLE.DRIVER)
.setType(Constants.SUBSCRIBE_TYPE.UNSUBSCRIBE)
.setMessageTypes(messageTypes).build()
// "192.168.1.102"
val options = AdasOptions.Builder()
.setIpcConnectionMode(AdasOptions.IPC_CONNECTION_MODE.FIXATION)
.setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(mContext))
.setClient(false)
.build()
.setIpcConnectionMode(AdasOptions.IPC_CONNECTION_MODE.FIXATION)
.setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(mContext))
.setClient(false)
.setSubscribeInterfaceOptions(subscribeInterfaceOptions)
.build()
AdasManager.getInstance().create(options, MoGoAdasMsgConnectStatusListenerImpl())
NSDNettyManager.getInstance().startNSDNettyServerWithSN(context, object :

View File

@@ -53,7 +53,6 @@ dependencies {
implementation rootProject.ext.dependencies.rxandroid
kapt rootProject.ext.dependencies.aroutercompiler
//implementation rootProject.ext.dependencies.adasHigh
implementation (rootProject.ext.dependencies.mogocustommapoperational) {
exclude group: 'com.zhidaoauto.machine', module: 'map'
}

View File

@@ -56,6 +56,7 @@ dependencies {
implementation rootProject.ext.dependencies.mogo_core_function_api
implementation rootProject.ext.dependencies.mogoserviceapi
} else {
implementation project(':libraries:mogo-adas')
implementation project(':core:mogo-core-data')
implementation project(':core:mogo-core-utils')
implementation project(':core:mogo-core-function-api')

View File

@@ -7,6 +7,9 @@ import com.mogo.eagle.core.data.constants.MoGoFragmentPaths
import com.mogo.eagle.core.data.map.CenterLine
import com.mogo.eagle.core.function.api.map.hd.IMoGoMapFragmentProvider
import com.mogo.eagle.core.function.call.base.CallerBase
import com.zhidao.support.adas.high.AdasManager
import com.zhidao.support.adas.high.common.Constants
import com.zhidao.support.adas.high.common.MessageType
/**
* @author xiaoyuzhou
@@ -67,6 +70,18 @@ object CallerHDMapManager : CallerBase() {
* @param isDrawPointCloud 是否绘制点云
*/
fun setIsDrawPointCloud(isDrawPointCloud: Boolean) {
if (isDrawPointCloud) {
AdasManager.getInstance().subscribeInterface(
Constants.TERMINAL_ROLE.DRIVER,
Constants.SUBSCRIBE_TYPE.SUBSCRIBE,
MessageType.TYPE_RECEIVE_POINT_CLOUD)
} else {
AdasManager.getInstance().subscribeInterface(
Constants.TERMINAL_ROLE.DRIVER,
Constants.SUBSCRIBE_TYPE.UNSUBSCRIBE,
MessageType.TYPE_RECEIVE_POINT_CLOUD)
}
FunctionBuildConfig.isDrawPointCloudData = isDrawPointCloud
return mapProviderApi.setIsDrawPointCloud(isDrawPointCloud)
}
@@ -92,7 +107,7 @@ object CallerHDMapManager : CallerBase() {
* 设置地图是否是Debug模式
* @param debugMode 是否开启Debug模式
*/
fun setDebugMode(debugMode: Boolean){
fun setDebugMode(debugMode: Boolean) {
return mapProviderApi.setDebugMode(debugMode)
}
}