From b2cb355c5ab613643128188969b6e9449d58e7be Mon Sep 17 00:00:00 2001 From: renwj Date: Fri, 10 Nov 2023 12:00:53 +0800 Subject: [PATCH] =?UTF-8?q?[6.2.0][=E8=98=91=E6=96=B9]=20=E8=98=91?= =?UTF-8?q?=E6=96=B9=E5=91=BD=E4=BB=A4=E4=B8=8B=E5=8F=91=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B7=A5=E6=8E=A7=E6=9C=BA=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=9B=9E=E6=89=A7=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mofang/MoFangAnalyticUtils.kt | 32 ++- .../mofang/MoFangCommandExecutor.kt | 221 ++++++++++++++++++ 2 files changed, 243 insertions(+), 10 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangAnalyticUtils.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangAnalyticUtils.kt index c7acda810c..9a99c41274 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangAnalyticUtils.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangAnalyticUtils.kt @@ -45,17 +45,29 @@ internal class MoFangAnalyticUtils { const val EVENT_EXECUTE_PARAMS_LINE_ID = "line_id" // 执行时的路线id - // 魔方按键指令回执 - const val EVENT_EXECUTE_FEEDBACK = "event_mofang_feedback" - const val EVENT_EXECUTE_FEEDBACK_PARAMS_CODE = "code" - const val EVENT_EXECUTE_FEEDBACK_PARAMS_MSG = "msg" - const val EVENT_EXECUTE_FEEDBACK_PARAMS_LON = "lon" // 执行时自车经度 - const val EVENT_EXECUTE_FEEDBACK_PARAMS_LAT = "lat" // 执行时自车纬度 - const val EVENT_EXECUTE_FEEDBACK_PARAMS_SPEED = "speed" // 执行时自车速度 - const val EVENT_EXECUTE_FEEDBACK_PARAMS_ACC = "acc" // 执行时自车加速度 - const val EVENT_EXECUTE_FEEDBACK_PARAMS_HEADING = "head" // 执行时自车航向角 - const val EVENT_EXECUTE_FEEDBACK_PARAMS_LINE_ID = "line_id" // 执行时的路线id + // 魔方按键指令回执-工控机收到 + const val EVENT_EXECUTE_FEEDBACK_RECEIVE = "event_mofang_fb_receive" + const val EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_NODE = "node" + const val EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_CODE = "code" + const val EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_MSG = "msg" + const val EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LON = "lon" // 时自车经度 + const val EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LAT = "lat" // 执行时自车纬度 + const val EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_SPEED = "speed" // 执行时自车速度 + const val EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_ACC = "acc" // 执行时自车加速度 + const val EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_HEADING = "head" // 执行时自车航向角 + const val EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LINE_ID = "line_id" // 执行时的路线id + // 魔方按键指令回执-工控机执行 + const val EVENT_EXECUTE_FEEDBACK_EXECUTE = "event_mofang_fb_execute" + const val EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_NODE = "node" + const val EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_CODE = "code" + const val EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_MSG = "msg" + const val EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LON = "lon" // 执行时自车经度 + const val EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LAT = "lat" // 执行时自车纬度 + const val EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_SPEED = "speed" // 执行时自车速度 + const val EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_ACC = "acc" // 执行时自车加速度 + const val EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_HEADING = "head" // 执行时自车航向角 + const val EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LINE_ID = "line_id" // 执行时的路线id private val handler by lazy { HandlerThread("mofang-analytic-worker", Process.THREAD_PRIORITY_BACKGROUND).let { it.start(); Handler(it.looper) } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangCommandExecutor.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangCommandExecutor.kt index 671928a546..1c6886ccd8 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangCommandExecutor.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangCommandExecutor.kt @@ -3,11 +3,34 @@ package com.zhjt.mogo_core_function_devatools.mofang import android.os.* import android.util.* import android.view.KeyEvent +import com.mogo.commons.utils.MogoAnalyticUtils import com.mogo.eagle.core.data.config.* +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.network.utils.GsonUtil import com.mogo.eagle.core.utilcode.mogo.* +import com.zhjt.mogo.adas.data.bean.MogoReport.Code.Info.IMF import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_ACC +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_CODE +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_HEADING +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LAT +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LINE_ID +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LON +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_MSG +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_NODE +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_SPEED +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_ACC +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_CODE +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_HEADING +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LAT +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LINE_ID +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LON +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_MSG +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_NODE +import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_SPEED import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_ACC import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_HEADING import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_KEYCODE @@ -16,6 +39,8 @@ import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companio import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_LON import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_SPEED import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_TYPE +import mogo_msg.MogoReportMsg +import java.util.concurrent.atomic.AtomicBoolean internal class MoFangCommandExecutor { @@ -38,7 +63,48 @@ internal class MoFangCommandExecutor { this.linkedLog = log } + private val isRegister by lazy { AtomicBoolean(false) } + + private val listener = object : IMoGoAutopilotStatusListener { + + override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { + super.onAutopilotGuardian(guardianInfo) + guardianInfo?.also { + when (it.code) { + IMF.SPEED_CHANGE_RECEIVE -> { + reportIPCReceive(it.src, it.code, it.msg) + } + IMF.SPEED_CHANGE_EXECUTE -> { + reportIPCExecute(it.src, it.code, it.msg) + } + IMF.SPEED_RESET_RECEIVE -> { + reportIPCReceive(it.src, it.code, it.msg) + } + IMF.SPEED_RESET_EXECUTE -> { + reportIPCExecute(it.src, it.code, it.msg) + } + IMF.LAN_CHANG_RECEIVE -> { + reportIPCReceive(it.src, it.code, it.msg) + } + IMF.LAN_CHANG_EXECUTE -> { + reportIPCExecute(it.src, it.code, it.msg) + } + IMF.HORN_RECEIVE -> { + reportIPCReceive(it.src, it.code, it.msg) + } + IMF.HORN_EXECUTE -> { + reportIPCExecute(it.src, it.code, it.msg) + } + } + } + + } + } + private val handlerCallback = Handler.Callback { msg -> + if (isRegister.compareAndSet(false, true)) { + CallerAutoPilotStatusListenerManager.addListener(TAG, listener) + } val message = whatToString(msg.what, ", msg_info:[obj:${msg.obj}, arg1: ${msg.arg1}, arg2: ${msg.arg2}]") linkedLog?.record(mapOf("收到:${System.currentTimeMillis()}" to "$message")) val location = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() @@ -343,4 +409,159 @@ internal class MoFangCommandExecutor { } return false } + + private fun reportIPCReceive(node: String?, code: String, message: String?) { + try { + val location = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + when (code) { + IMF.HORN_RECEIVE -> { + MogoAnalyticUtils.track(EVENT_EXECUTE_FEEDBACK_RECEIVE, mutableMapOf().also { + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_NODE] = node ?: "" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_CODE] = "E2" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_MSG] = message ?: "" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LON] = location.longitude + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LAT] = location.latitude + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_ACC] = location.acceleration + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_SPEED] = location.gnssSpeed + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_HEADING] = location.heading + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LINE_ID] = CallerAutoPilotStatusListenerManager.getLineId() + }) + } + + IMF.LAN_CHANG_RECEIVE -> { + if (message != null && message.contains("$$")) { + val isLeft = message.substringBefore("$$") == "-1" + MogoAnalyticUtils.track(EVENT_EXECUTE_FEEDBACK_RECEIVE, mutableMapOf().also { + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_NODE] = node ?: "" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_CODE] = if (isLeft) "C1" else "D1" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_MSG] = message + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LON] = location.longitude + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LAT] = location.latitude + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_ACC] = location.acceleration + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_SPEED] = location.gnssSpeed + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_HEADING] = location.heading + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LINE_ID] = CallerAutoPilotStatusListenerManager.getLineId() + }) + } + } + + IMF.SPEED_RESET_RECEIVE -> { + MogoAnalyticUtils.track(EVENT_EXECUTE_FEEDBACK_RECEIVE, mutableMapOf().also { + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_NODE] = node ?: "" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_CODE] = "B1" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_MSG] = message ?: "" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LON] = location.longitude + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LAT] = location.latitude + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_ACC] = location.acceleration + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_SPEED] = location.gnssSpeed + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_HEADING] = location.heading + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LINE_ID] = CallerAutoPilotStatusListenerManager.getLineId() + }) + } + + + IMF.SPEED_CHANGE_RECEIVE -> { + if (message != null && message.contains("$$")) { + val isSpeedUp = try { + message.substringBefore("$$").toFloat() > 0f + } catch (ignore: Throwable) { + null + } + if (isSpeedUp != null) { + MogoAnalyticUtils.track(EVENT_EXECUTE_FEEDBACK_RECEIVE, mutableMapOf().also { + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_NODE] = node ?: "" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_CODE] = if (isSpeedUp) "AB" else "A1" + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_MSG] = message + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LON] = location.longitude + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LAT] = location.latitude + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_ACC] = location.acceleration + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_SPEED] = location.gnssSpeed + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_HEADING] = location.heading + it[EVENT_EXECUTE_FEEDBACK_RECEIVE_PARAMS_LINE_ID] = CallerAutoPilotStatusListenerManager.getLineId() + }) + } + } + } + } + } catch (t: Throwable) { + t.printStackTrace() + } + } + + private fun reportIPCExecute(node:String?, code: String, message: String?) { + try { + val location = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + when (code) { + IMF.HORN_EXECUTE -> { + MogoAnalyticUtils.track(EVENT_EXECUTE_FEEDBACK_EXECUTE, mutableMapOf().also { + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_NODE] = node ?: "" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_CODE] = "E2" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_MSG] = message ?: "" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LON] = location.longitude + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LAT] = location.latitude + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_ACC] = location.acceleration + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_SPEED] = location.gnssSpeed + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_HEADING] = location.heading + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LINE_ID] = CallerAutoPilotStatusListenerManager.getLineId() + }) + } + + IMF.LAN_CHANG_EXECUTE -> { + if (message != null && message.contains("$$")) { + val isLeft = message.substringBefore("$$") == "-1" + MogoAnalyticUtils.track(EVENT_EXECUTE_FEEDBACK_EXECUTE, mutableMapOf().also { + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_NODE] = node ?: "" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_CODE] = if (isLeft) "C1" else "D1" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_MSG] = message + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LON] = location.longitude + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LAT] = location.latitude + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_ACC] = location.acceleration + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_SPEED] = location.gnssSpeed + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_HEADING] = location.heading + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LINE_ID] = CallerAutoPilotStatusListenerManager.getLineId() + }) + } + } + + IMF.SPEED_RESET_EXECUTE -> { + MogoAnalyticUtils.track(EVENT_EXECUTE_FEEDBACK_EXECUTE, mutableMapOf().also { + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_NODE] = node ?: "" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_CODE] = "B1" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_MSG] = message ?: "" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LON] = location.longitude + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LAT] = location.latitude + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_ACC] = location.acceleration + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_SPEED] = location.gnssSpeed + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_HEADING] = location.heading + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LINE_ID] = CallerAutoPilotStatusListenerManager.getLineId() + }) + } + IMF.SPEED_CHANGE_EXECUTE -> { + if (message != null && message.contains("$$")) { + val isSpeedUp = try { + message.substringBefore("$$").toFloat() > 0f + } catch (ignore: Throwable) { + null + } + + if (isSpeedUp != null) { + MogoAnalyticUtils.track(EVENT_EXECUTE_FEEDBACK_EXECUTE, mutableMapOf().also { + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_NODE] = node ?: "" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_CODE] = if (isSpeedUp) "AB" else "A1" + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_MSG] = message + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LON] = location.longitude + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LAT] = location.latitude + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_ACC] = location.acceleration + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_SPEED] = location.gnssSpeed + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_HEADING] = location.heading + it[EVENT_EXECUTE_FEEDBACK_EXECUTE_PARAMS_LINE_ID] = CallerAutoPilotStatusListenerManager.getLineId() + }) + } + } + } + } + } catch (t: Throwable) { + t.printStackTrace() + } + } } \ No newline at end of file