From cde1338251b77d1d24555aeebabc04f8c7e2fac0 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Tue, 9 Nov 2021 19:58:03 +0800 Subject: [PATCH] =?UTF-8?q?[Add=20function]=E5=A2=9E=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=95=B0=E6=8D=AE=E7=BB=99=E5=9F=9F=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E5=99=A8=E7=9A=84=E6=96=B9=E6=B3=95=EF=BC=8CTODO?= =?UTF-8?q?=E9=9C=80=E8=A6=81=20@=E9=92=9F=E8=B6=85=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../autopilot/MoGoAutopilotProvider.kt | 16 +++++---- .../MoGoAutopilotStatusListenerImpl.java | 6 +--- .../server/AsyncDataToAutopilotServer.kt | 33 +++++++++++++++++++ .../core/function/v2x/vip/VipCarManager.kt | 4 --- .../api/autopilot/IMoGoAutopilotProvider.java | 8 +++++ .../trafficlight/IMoGoTrafficLightListener.kt | 3 +- .../call/autopilot/CallerAutoPilotManager.kt | 8 +++++ 7 files changed, 61 insertions(+), 17 deletions(-) create mode 100644 core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/server/AsyncDataToAutopilotServer.kt diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt index 9afb6537b2..d3dc200c61 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt @@ -6,6 +6,7 @@ import com.mogo.eagle.core.data.autopilot.AutopilotControlCmdParameter import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotProvider +import com.mogo.eagle.core.function.autopilot.server.AsyncDataToAutopilotServer import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.LogUtils import com.zhidao.support.adas.high.AdasManager @@ -26,16 +27,11 @@ class MoGoAutopilotProvider : override fun init(context: Context) { // 初始化ADAS 域控制器 //AdasManager.getInstance().create(context) - - } - - override fun onDestroy() { - + AsyncDataToAutopilotServer.INSTANCE.initServer() } override fun connectAutoPilot() { - } override fun startAutoPilot(result: AutopilotControlParameters) { @@ -47,6 +43,10 @@ class MoGoAutopilotProvider : } } + override fun sendMessageToAutopilot(jsonString: String) { + AdasManager.getInstance().sendMessage(jsonString) + } + override fun cancelAutoPilot() { if (AdasManager.getInstance().isSocketConnect) { AdasManager.getInstance().controlAutopilotCarHead() @@ -59,4 +59,8 @@ class MoGoAutopilotProvider : return AdasManager.getInstance().recordPackage() } + override fun onDestroy() { + + } + } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAutopilotStatusListenerImpl.java b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAutopilotStatusListenerImpl.java index 0dcc5de694..b4ef89d40c 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAutopilotStatusListenerImpl.java +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAutopilotStatusListenerImpl.java @@ -3,19 +3,15 @@ package com.mogo.eagle.core.function.autopilot.adapter; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo; import com.mogo.eagle.core.data.autopilot.AutopilotGuardianStatusInfo; import com.mogo.eagle.core.data.autopilot.AutopilotStationInfo; import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; -import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage; -import com.mogo.eagle.core.data.traffic.TrafficData; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; -import java.util.ArrayList; - /** * @author xiaoyuzhou * @date 2021/10/20 1:02 下午 + * 自动驾驶状态回调用 */ public class MoGoAutopilotStatusListenerImpl implements IMoGoAutopilotStatusListener { @Override diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/server/AsyncDataToAutopilotServer.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/server/AsyncDataToAutopilotServer.kt new file mode 100644 index 0000000000..85119fd3ea --- /dev/null +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/server/AsyncDataToAutopilotServer.kt @@ -0,0 +1,33 @@ +package com.mogo.eagle.core.function.autopilot.server + +import com.mogo.eagle.core.data.trafficlight.TrafficLightResult +import com.mogo.eagle.core.function.api.trafficlight.IMoGoTrafficLightListener +import com.mogo.eagle.core.function.call.trafficlight.CallTrafficLightListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.Logger + +/** + * @author xiaoyuzhou + * @date 2021/11/08 8:43 下午 + * + * + * 异步同步数据给 Autopilot 控制器 + * 数据源(不限于):OBU、网络等 + */ +class AsyncDataToAutopilotServer private constructor() : IMoGoTrafficLightListener { + companion object { + const val TAG = "AsyncDataToAutopilotServer" + val INSTANCE: AsyncDataToAutopilotServer by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { + AsyncDataToAutopilotServer() + } + } + + fun initServer() { + Logger.d(TAG, "initServer……") + CallTrafficLightListenerManager.registerTrafficLightListener(TAG, this) + } + + override fun onTrafficLightStatus(trafficLightResult: TrafficLightResult) { + // TODO 这里替换成与克难沟通的JSON格式 @钟超 +// CallerAutoPilotManager.sendDataToAutopilot() + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt index 0c3492011c..255bb1170a 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt @@ -35,10 +35,6 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe private var turnLightEnd = true private var result: TrafficLightResult? = null - override fun init(context: Context?) { - Logger.d(TAG, "init provider") - } - fun initServer(context: Context) { mContext = context MogoApisHandler.getInstance().apis.registerCenterApi.registerCarLocationChangedListener(TAG, this) diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.java index 3265d2fdfa..ad19b07fff 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.java +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.java @@ -1,5 +1,7 @@ package com.mogo.eagle.core.function.api.autopilot; +import androidx.annotation.NonNull; + import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider; @@ -22,6 +24,12 @@ public interface IMoGoAutopilotProvider extends IMoGoFunctionServerProvider { */ void startAutoPilot(AutopilotControlParameters controlParameters); + /** + * 发送json数据给 Autopilot 自动驾驶控制器 + * 具体的json格式需要与@宋克难 进行沟通 + */ + void sendMessageToAutopilot(@NonNull String jsonString); + /** * 结束自动驾驶 */ diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/trafficlight/IMoGoTrafficLightListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/trafficlight/IMoGoTrafficLightListener.kt index d5feef61a6..2a6f6b745b 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/trafficlight/IMoGoTrafficLightListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/trafficlight/IMoGoTrafficLightListener.kt @@ -1,9 +1,8 @@ package com.mogo.eagle.core.function.api.trafficlight -import com.alibaba.android.arouter.facade.template.IProvider import com.mogo.eagle.core.data.trafficlight.TrafficLightResult -interface IMoGoTrafficLightListener :IProvider{ +interface IMoGoTrafficLightListener { /** * 当前红绿灯状态,包含红绿灯灯态,倒计时秒数,灯态经纬度,时间戳,剩余时间 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt index 7e17c20cd2..266ad67156 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt @@ -33,6 +33,14 @@ object CallerAutoPilotManager { providerApi.startAutoPilot(controlParameters) } + /** + * 发送json数据给 Autopilot 自动驾驶控制器 + * 具体的json格式需要与@宋克难 进行沟通 + */ + fun sendDataToAutopilot(jsonString: String) { + providerApi.sendMessageToAutopilot(jsonString) + } + /** * 结束自动驾驶 */