[6.0.0] fix bug of autopilot connect status

This commit is contained in:
zhongchao
2023-08-30 19:30:09 +08:00
parent 06ae16037a
commit 7142122e69
10 changed files with 15 additions and 20 deletions

View File

@@ -19,7 +19,6 @@ import kotlinx.coroutines.flow.*
import mogo.telematics.pad.MessagePad.Header
import mogo.telematics.pad.MessagePad.SetParamReq
import java.util.concurrent.atomic.AtomicInteger
import kotlin.concurrent.*
internal class MoGoLookAroundProviderImpl: IMoGoLookAroundProvider, IMoGoBackCameraVideoListener, IMoGoRoboBusJinlvM1StitchedVideoListener, IMoGoGetParamResponseListener {
@@ -69,7 +68,9 @@ internal class MoGoLookAroundProviderImpl: IMoGoLookAroundProvider, IMoGoBackCam
private fun sendReqForParamPeriod() {
scope.launch {
while (targetX.get() == 0 || targetY.get() == 0) {
CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.M1_STITCHED_VIDEO_SELF_VEHICLE_PARAM)
if(CallerAutoPilotStatusListenerManager.isConnect()){
CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.M1_STITCHED_VIDEO_SELF_VEHICLE_PARAM)
}
delay(2000)
}
}.also {

View File

@@ -40,7 +40,7 @@ internal class CanImpl(ctx: Context) :
private val state: AtomicInteger by lazy { AtomicInteger(Int.MIN_VALUE) }
override fun onCreate() {
send(CanStatus(CallerAutoPilotControlManager.isConnected()))
send(CanStatus(CallerAutoPilotStatusListenerManager.isConnect()))
CallerChassisAccStateListenerManager.addListener(TAG, this)
CallerChassisBrakeStateListenerManager.addListener(TAG, this)
@@ -58,7 +58,7 @@ internal class CanImpl(ctx: Context) :
private fun isCanEnabled(): Boolean {
val code = CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode()
return CallerAutoPilotControlManager.isConnected() && code != "EHW_CAN" && (state.get() == Int.MIN_VALUE || state.get() == 0)
return CallerAutoPilotStatusListenerManager.isConnect() && code != "EHW_CAN" && (state.get() == Int.MIN_VALUE || state.get() == 0)
}

View File

@@ -28,7 +28,7 @@ internal class IpcImpl(ctx: Context): IFlow<IpcStatus>(ctx), IMoGoAutopilotStatu
}
private fun checkAndSend() {
send(IpcStatus(CallerAutoPilotControlManager.isConnected()))
send(IpcStatus(CallerAutoPilotStatusListenerManager.isConnect()))
}
override fun onDestroy() {

View File

@@ -43,7 +43,7 @@ internal class RTKImpl(ctx: Context): IFlow<RTKStatus>(ctx), IMoGoAutopilotStatu
CallerLogger.d("$M_DEVA$TAG", "-- onCreate --")
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
CallerChassisLocationWGS84ListenerManager.addListener(TAG, this)
if (CallerAutoPilotControlManager.isConnected()) {
if (CallerAutoPilotStatusListenerManager.isConnect()) {
check()
}
}
@@ -86,13 +86,13 @@ internal class RTKImpl(ctx: Context): IFlow<RTKStatus>(ctx), IMoGoAutopilotStatu
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
super.onAutopilotIpcConnectStatusChanged(status, reason)
if (!CallerAutoPilotControlManager.isConnected()) {
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
CallerLogger.d("$M_DEVA$TAG", "工控机断开了....")
healthInfo.set(null)
send(RTKStatus("", -1))
}
if (CallerAutoPilotControlManager.isConnected() && check == null && !isOldVersion.get()) {
if (CallerAutoPilotStatusListenerManager.isConnect() && check == null && !isOldVersion.get()) {
check()
}
}
@@ -114,7 +114,7 @@ internal class RTKImpl(ctx: Context): IFlow<RTKStatus>(ctx), IMoGoAutopilotStatu
private fun isRTKEnabled(): Boolean {
val code = CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode()
val gnssInfo = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
return CallerAutoPilotControlManager.isConnected() && (
return CallerAutoPilotStatusListenerManager.isConnect() && (
code != "EHW_RTK" &&
code != "EHW_GNSS" &&
code != "ESYS_RTK_STATUS_FAULT" &&

View File

@@ -58,7 +58,7 @@ internal class TracingImpl(ctx: Context): IFlow<TracingStatus>(ctx), IMoGoAutopi
super.onAutopilotIpcConnectStatusChanged(status, reason)
try {
if (ipcConnectStatus.get() != status) {
if (!CallerAutoPilotControlManager.isConnected()) {
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
old = UNKNOWN
send(TracingStatus(UNKNOWN))
}

View File

@@ -15,7 +15,7 @@ internal class StatusModel : ViewModel() {
const val TAG = "StatusModel"
val DEFAULTS = Pair(null, ArrayList<Status>().also {
it += OverViewStatus()
it += IpcStatus(CallerAutoPilotControlManager.isConnected())
it += IpcStatus(CallerAutoPilotStatusListenerManager.isConnect())
it += CanStatus(false)
// it += TracingStatus(UNKNOWN)
it += RTKStatus("", -1)