[630][adas] 新增域控认证;优化重连机制:无限重连、用不重连、指定次数重连;优化连接状态;新增设置是否启用超时检测;新增是否自动连接;

This commit is contained in:
xinfengkun
2024-02-28 14:13:19 +08:00
parent 6371ed33c4
commit 58e533bb2f
43 changed files with 1198 additions and 640 deletions

View File

@@ -8,6 +8,7 @@ import chassis.ChassisStatesOuterClass
import com.mogo.eagle.core.function.api.autopilot.*
import com.mogo.eagle.core.function.call.autopilot.*
import com.mogo.eagle.core.utilcode.kotlin.safeCancel
import com.zhjt.mogo.adas.data.AdasConstants
import com.zhjt.mogo_core_function_devatools.status.entity.CanStatus
import com.zhjt.mogo_core_function_devatools.status.flow.IFlow
import kotlinx.coroutines.Job
@@ -74,7 +75,7 @@ internal class CanImpl(ctx: Context) :
send(CanStatus(isCanEnabled()))
}
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {
super.onAutopilotIpcConnectStatusChanged(status, reason)
send(CanStatus(isCanEnabled()))
}

View File

@@ -3,6 +3,7 @@ package com.zhjt.mogo_core_function_devatools.status.flow.ipc
import android.content.*
import com.mogo.eagle.core.function.api.autopilot.*
import com.mogo.eagle.core.function.call.autopilot.*
import com.zhjt.mogo.adas.data.AdasConstants
import com.zhjt.mogo_core_function_devatools.status.flow.IFlow
import com.zhjt.mogo_core_function_devatools.status.entity.IpcStatus
@@ -12,14 +13,14 @@ internal class IpcImpl(ctx: Context): IFlow<IpcStatus>(ctx), IMoGoAutopilotStatu
const val TAG = "IpcImpl"
}
private var state: Int = -1
private var state: AdasConstants.IpcConnectionStatus? = null
override fun onCreate() {
checkAndSend()
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
}
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {
super.onAutopilotIpcConnectStatusChanged(status, reason)
if (state != status) {
checkAndSend()

View File

@@ -9,6 +9,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
import com.zhjt.mogo.adas.data.AdasConstants
import com.zhjt.mogo_core_function_devatools.status.entity.RTKStatus
import com.zhjt.mogo_core_function_devatools.status.flow.IFlow
import kotlinx.coroutines.Dispatchers
@@ -83,7 +84,7 @@ internal class RTKImpl(ctx: Context): IFlow<RTKStatus>(ctx), IMoGoAutopilotStatu
}
}
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {
super.onAutopilotIpcConnectStatusChanged(status, reason)
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
CallerLogger.d("$M_DEVA$TAG", "工控机断开了....")

View File

@@ -4,6 +4,7 @@ import android.content.*
import com.mogo.eagle.core.function.api.autopilot.*
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener.Companion.STATUS_AUTOPILOT_RUNNING
import com.mogo.eagle.core.function.call.autopilot.*
import com.zhjt.mogo.adas.data.AdasConstants
import com.zhjt.mogo_core_function_devatools.status.entity.*
import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing.*
import com.zhjt.mogo_core_function_devatools.status.flow.*
@@ -19,7 +20,7 @@ internal class TracingImpl(ctx: Context): IFlow<TracingStatus>(ctx), IMoGoAutopi
private var old: TracingStatus.Tracing = UNKNOWN
private val ipcConnectStatus by lazy { AtomicInteger() }
private val ipcConnectStatus by lazy { AtomicReference<AdasConstants.IpcConnectionStatus>() }
private val ipcStatus by lazy { AtomicInteger() }
@@ -54,7 +55,7 @@ internal class TracingImpl(ctx: Context): IFlow<TracingStatus>(ctx), IMoGoAutopi
}
}
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
override fun onAutopilotIpcConnectStatusChanged(status: AdasConstants.IpcConnectionStatus, reason: String?) {
super.onAutopilotIpcConnectStatusChanged(status, reason)
try {
if (ipcConnectStatus.get() != status) {