From 1070a27b34fef64b8309ff68fb8603095283dd37 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 2 Jun 2022 18:48:05 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=8A=B6=E6=80=81=E6=A0=8F]Can=E5=92=8CRTK?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A2=9E=E5=8A=A0Code=E7=BB=B4=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [状态栏]Can和RTK异常增加Code维度1 --- .../status/flow/can/CanImpl.kt | 19 ++++++++++++++----- .../status/flow/rtk/RTKImpl.kt | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/can/CanImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/can/CanImpl.kt index c5fc03d2a9..d5b6e167e1 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/can/CanImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/can/CanImpl.kt @@ -10,6 +10,7 @@ import com.mogo.eagle.core.utilcode.kotlin.* import com.zhjt.mogo_core_function_devatools.status.flow.IFlow import com.zhjt.mogo_core_function_devatools.status.entity.CanStatus import kotlinx.coroutines.* +import mogo_msg.MogoReportMsg.MogoReportMessage internal class CanImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotVehicleStateListener, IMoGoAutopilotStatusListener { @@ -27,38 +28,46 @@ internal class CanImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotVehic } override fun onAutopilotLightSwitchData(lightSwitch: LightSwitch?) { - send(CanStatus(CallerAutoPilotManager.isConnected())) + send(CanStatus(isCanEnabled())) timeOutCheck() } + private fun isCanEnabled() = CallerAutoPilotManager.isConnected() && CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() != "EHW_CAN" + override fun onAutopilotBrakeLightData(brakeLight: Boolean) { - send(CanStatus(CallerAutoPilotManager.isConnected())) + send(CanStatus(isCanEnabled())) timeOutCheck() } override fun onAutopilotSteeringData(steering: Float) { - send(CanStatus(CallerAutoPilotManager.isConnected())) + send(CanStatus(isCanEnabled())) timeOutCheck() } override fun onAutopilotGearData(gear: GearPosition) { - send(CanStatus(CallerAutoPilotManager.isConnected())) + send(CanStatus(isCanEnabled())) timeOutCheck() } override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) { super.onAutopilotIpcConnectStatusChanged(status, reason) - send(CanStatus(CallerAutoPilotManager.isConnected())) + send(CanStatus(isCanEnabled())) timeOutCheck() } override fun onAutopilotDataException(timestamp: Long) { super.onAutopilotDataException(timestamp) send(CanStatus(false)) + } + + override fun onAutopilotGuardian(guardianInfo: MogoReportMessage?) { + super.onAutopilotGuardian(guardianInfo) + send(CanStatus(isCanEnabled())) timeOutCheck() } + private fun timeOutCheck() { job?.safeCancel() launch(Dispatchers.Default) { 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 ab22453700..1e99a5fcec 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 @@ -25,7 +25,7 @@ internal class RTKImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotCarSt } private fun isRTKEnabled() = - CallerAutoPilotManager.isConnected() && CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() != "EHW_RTK" && CallerAutopilotCarStatusListenerManager.getCurrentGnssInfo() != null + CallerAutoPilotManager.isConnected() && (CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() != "EHW_RTK" && CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() != "EHW_GNSS") && CallerAutopilotCarStatusListenerManager.getCurrentGnssInfo() != null override fun onAutopilotCarStateData(gnssInfo: GnssInfo?) { send(RTKStatus(isRTKEnabled()))