[Update]这个版本注释掉多屏功能

This commit is contained in:
chenfufeng
2022-02-28 18:44:55 +08:00
parent ae91a0a204
commit 44d984fa57

View File

@@ -21,21 +21,11 @@ import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.telematic.MogoProtocolMsg
import com.mogo.telematic.MogoProtocolMsg.NORMAL_DATA
import com.mogo.telematic.NSDNettyManager
import com.mogo.telematic.client.listener.NettyClientListener
import com.mogo.telematic.client.status.ConnectState
import com.mogo.telematic.server.netty.NettyServerListener
import com.zhidao.support.adas.high.AdasManager
import com.zhidao.support.adas.high.AdasOptions
import com.zhidao.support.adas.high.bean.IPCUpgradeInfo
import com.zhidao.support.adas.high.common.CupidLogUtils
import io.netty.channel.Channel
import java.util.concurrent.TimeUnit
import io.netty.channel.ChannelFuture
import java.util.*
/**
@@ -45,7 +35,7 @@ import java.util.*
*/
@Route(path = MogoServicePaths.PATH_AUTO_PILOT)
class MoGoAutopilotProvider :
IMoGoAutopilotProvider, IMoGoMapDataCollectProvider.OnMapCollectCmdListener {
IMoGoAutopilotProvider, IMoGoMapDataCollectProvider.OnMapCollectCmdListener {
private val TAG = "MoGoAutoPilotProvider"
private var mContext: Context? = null
@@ -67,36 +57,36 @@ class MoGoAutopilotProvider :
CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this)
// "192.168.1.102"
val options = AdasOptions.Builder()
.setIPCIp(FunctionBuildConfig.adasConnectIP)
.setClient(false)
.build()
.setIPCIp(FunctionBuildConfig.adasConnectIP)
.setClient(false)
.build()
AdasManager.getInstance().create(context, options)
NSDNettyManager.getInstance().startNSDNettyServer(context, object : NettyServerListener<MogoProtocolMsg> {
override fun onMessageResponseServer(msg: MogoProtocolMsg?, channel: Channel?) {
Logger.d(TAG, "Receive client data is:${msg?.toString()}")
}
override fun onStartServer() {
ToastUtils.showShort("司机端服务启动成功!")
Logger.d(TAG, "onStartServer")
}
override fun onStopServer() {
ToastUtils.showLong("司机端服务停止!")
Logger.d(TAG, "onStopServer")
}
override fun onChannelConnect(channel: Channel?) {
NSDNettyManager.getInstance().selectChannel(channel)
val socketAddress = channel?.remoteAddress().toString()
Logger.d(TAG, "Client ip is:${socketAddress}")
}
override fun onChannelDisConnect(channel: Channel?) {
Logger.d(TAG, "onChannelDisConnect")
}
})
// NSDNettyManager.getInstance().startNSDNettyServer(context, object : NettyServerListener<MogoProtocolMsg> {
// override fun onMessageResponseServer(msg: MogoProtocolMsg?, channel: Channel?) {
// Logger.d(TAG, "Receive client data is:${msg?.toString()}")
// }
//
// override fun onStartServer() {
// ToastUtils.showShort("司机端服务启动成功!")
// Logger.d(TAG, "onStartServer")
// }
//
// override fun onStopServer() {
// ToastUtils.showLong("司机端服务停止!")
// Logger.d(TAG, "onStopServer")
// }
//
// override fun onChannelConnect(channel: Channel?) {
// NSDNettyManager.getInstance().selectChannel(channel)
// val socketAddress = channel?.remoteAddress().toString()
// Logger.d(TAG, "Client ip is:${socketAddress}")
// }
//
// override fun onChannelDisConnect(channel: Channel?) {
// Logger.d(TAG, "onChannelDisConnect")
// }
// })
}
0x01 -> // 乘客
{
@@ -105,78 +95,79 @@ class MoGoAutopilotProvider :
//FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true
// "192.168.1.102"
val options = AdasOptions
.Builder()
.setIPCIp(FunctionBuildConfig.adasConnectIP)
.build()
.Builder()
.setClient(true)
.build()
AdasManager.getInstance().create(context, options)
NSDNettyManager.getInstance().searchAndConnectServer(context, MoGoAiCloudClientConfig.getInstance().sn, object : NettyClientListener<MogoProtocolMsg> {
override fun onMessageResponseClient(msg: MogoProtocolMsg?, sign: String?) {
Logger.d(TAG, "收到司机端的数据!")
// 乘客端收到adas数据直接解析后续分发解析后的数据流程同司机端
msg?.let {
AdasManager.getInstance().parseIPCData(it.body)
Logger.d(TAG, "解析司机端数据完毕!")
}
}
override fun onClientStatusConnectChanged(statusCode: Int, sign: String?) {
when (statusCode) {
ConnectState.STATUS_CONNECT_SUCCESS -> Logger.d(TAG, "乘客端连接司机端服务成功! sign is:${sign}")
else -> {
ToastUtils.showLong("和司机端连接异常!")
Logger.d(TAG, "client statusCode is:${statusCode}")
}
}
}
})
// NSDNettyManager.getInstance().searchAndConnectServer(context, MoGoAiCloudClientConfig.getInstance().sn, object : NettyClientListener<MogoProtocolMsg> {
// override fun onMessageResponseClient(msg: MogoProtocolMsg?, sign: String?) {
// Logger.d(TAG, "收到司机端的数据!")
// // 乘客端收到adas数据直接解析后续分发解析后的数据流程同司机端
// msg?.let {
// AdasManager.getInstance().parseIPCData(it.body)
// Logger.d(TAG, "解析司机端数据完毕!")
// }
// }
//
// override fun onClientStatusConnectChanged(statusCode: Int, sign: String?) {
// when (statusCode) {
// ConnectState.STATUS_CONNECT_SUCCESS -> Logger.d(TAG, "乘客端连接司机端服务成功! sign is:${sign}")
// else -> {
// ToastUtils.showLong("和司机端连接异常!")
// Logger.d(TAG, "client statusCode is:${statusCode}")
// }
// }
// }
// })
}
//
else -> // 默认采用UDP寻址方式
{
val options = AdasOptions.Builder()
.setClient(false)
.setIPCIp(FunctionBuildConfig.adasConnectIP)
.build()
.setClient(false)
.setIPCIp(FunctionBuildConfig.adasConnectIP)
.build()
AdasManager.getInstance().create(context, options)
}
}
//////////////////////////////////注意先后顺序AdasManager.getInstance().create后才可以设置监听/////////////////////////////////////////////
// 监听 adas 连接状态
AdasManager.getInstance().setOnAdasConnectStatusListener(MoGoAdasMsgConnectStatusListenerImpl())
AdasManager.getInstance()
.setOnAdasConnectStatusListener(MoGoAdasMsgConnectStatusListenerImpl())
// 监听ADAS-SDK获取到的工控机数据(乘客也需注册)
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
// 司机端监听
if (FunctionBuildConfig.appIdentityMode == 0) {
AdasManager.getInstance().setOnMultiDeviceListener { bytes ->
Logger.d(
TAG,
"司机端接收到工控机吐出来的数据为:${Arrays.toString(bytes)}"
)
// 发送数据给乘客端
if (NSDNettyManager.getInstance().isServerStart) {
Logger.d(
TAG,
"司机端透传数据给乘客端!"
)
NSDNettyManager.getInstance().sendMsgToAllClients(MogoProtocolMsg(NORMAL_DATA, bytes.size, bytes))
// NSDNettyManager.getInstance().sendMogoProtocolMsgToClient(MogoProtocolMsg(NORMAL_DATA, bytes.size, bytes)) { channelFuture: ChannelFuture ->
// if (channelFuture.isSuccess) {
// Logger.d(
// TAG,
// "Send data to client is success."
// )
// } else {
// Logger.d(
// TAG,
// "Send data to client is failure."
// )
// }
// }
} else {
Logger.d(TAG, "司机端Server未启动")
}
}
}
// // 司机端监听
// if (FunctionBuildConfig.appIdentityMode == 0) {
// AdasManager.getInstance().setOnMultiDeviceListener { bytes ->
// Logger.d(
// TAG,
// "司机端接收到工控机吐出来的数据为:${Arrays.toString(bytes)}"
// )
// // 发送数据给乘客端
// if (NSDNettyManager.getInstance().isServerStart) {
// Logger.d(
// TAG,
// "司机端透传数据给乘客端!"
// )
// NSDNettyManager.getInstance().sendMsgToAllClients(MogoProtocolMsg(NORMAL_DATA, bytes.size, bytes))
//// NSDNettyManager.getInstance().sendMogoProtocolMsgToClient(MogoProtocolMsg(NORMAL_DATA, bytes.size, bytes)) { channelFuture: ChannelFuture ->
//// if (channelFuture.isSuccess) {
//// Logger.d(
//// TAG,
//// "Send data to client is success."
//// )
//// } else {
//// Logger.d(
//// TAG,
//// "Send data to client is failure."
//// )
//// }
//// }
// } else {
// Logger.d(TAG, "司机端Server未启动")
// }
// }
// }
// 同步数据给工控机的服务
AsyncDataToAutopilotServer.INSTANCE.initServer()
// 同步是否开启美化模式
@@ -196,7 +187,9 @@ class MoGoAutopilotProvider :
@RequiresPermission(permission.INTERNET)
override fun doInBackground(): String {
// 保存本地 AutoPilot IP地址
mContext?.let { SharedPrefsMgr.getInstance(it).putString(MoGoConfig.AUTOPILOT_IP, autoPilotIp) }
mContext?.let {
SharedPrefsMgr.getInstance(it).putString(MoGoConfig.AUTOPILOT_IP, autoPilotIp)
}
// 设置IP地址
AdasManager.getInstance().setIPCIp(autoPilotIp)
// 打开通讯连接
@@ -243,7 +236,7 @@ class MoGoAutopilotProvider :
override fun recordPackage(): Boolean {
return AdasManager.getInstance()
.recordPackage(1, (System.currentTimeMillis() / 1000).toInt())
.recordPackage(1, (System.currentTimeMillis() / 1000).toInt())
}
override fun recordPackage(type: Int, id: Int): Boolean {