diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt index c42b02b60c..20c8b349f9 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt @@ -52,7 +52,7 @@ internal class RTKImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotStatu return } check?.takeIf { it.isActive }?.cancel() - launch(Dispatchers.Unconfined) { + launch(Dispatchers.Default) { CallerAutoPilotControlManager.sendStatusQueryReq() delay(5000) isOldVersion.set(true) @@ -87,10 +87,9 @@ internal class RTKImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotStatu override fun onChassisLocationWGS84(gnssInfo: MogoLocation) { if (isOldVersion.get()) { - if (isRTKEnabled()) { + if ((timeOutCheck == null || timeOutCheck?.isCompleted == true) && isRTKEnabled()) { send(RTKStatus("RTK", 0)) - timeOutCheck?.takeIf { it.isActive }?.cancel() - launch(Dispatchers.Unconfined) { + launch(Dispatchers.Default) { delay(4000) send(RTKStatus("", -1)) }.also {