diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 4232005431..3518080771 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -18,6 +18,7 @@
+
diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java
index 88b3cfad93..1f343a7c16 100644
--- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java
+++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java
@@ -12,7 +12,6 @@ import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.data.BaseData;
import com.mogo.commons.mvp.Presenter;
import com.mogo.commons.network.SubscribeImpl;
-import com.mogo.commons.network.Utils;
import com.mogo.commons.voice.AIAssist;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.constants.HostConst;
@@ -31,12 +30,11 @@ import com.mogo.och.bus.bean.UpdateSiteStatusRequest;
import com.mogo.och.bus.fragment.OchBusFragment;
import com.mogo.och.bus.net.IOchBusApiService;
import com.mogo.service.adas.IMogoAdasOCHCallback;
-import com.mogo.service.adas.RemoteControlAutoPilotParameters;
-import com.mogo.service.adas.entity.AdasOCHData;
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
+import com.mogo.eagle.core.data.autopilot.AdasOCHData;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.RequestOptions;
import com.mogo.utils.network.utils.GsonUtil;
-import com.mogo.utils.storage.SharedPrefsMgr;
import java.util.ArrayList;
import java.util.List;
diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java
index 0af32891ae..1ea5b41f81 100644
--- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java
+++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java
@@ -15,8 +15,8 @@ import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.constants.HostConst;
import com.mogo.och.taxi.ui.OCHTaxiUiController;
import com.mogo.service.adas.IMogoAdasOCHCallback;
-import com.mogo.service.adas.RemoteControlAutoPilotParameters;
-import com.mogo.service.adas.entity.AdasOCHData;
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
+import com.mogo.eagle.core.data.autopilot.AdasOCHData;
import com.mogo.service.cloud.socket.IMogoLifecycleListener;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.service.intent.IMogoIntentListener;
diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java
index be246c3d75..d03c206237 100644
--- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java
+++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java
@@ -26,7 +26,7 @@ import com.mogo.och.taxi.R;
import com.mogo.och.view.SlidePanelView;
import com.mogo.service.adas.IMogoAdasOCHCallback;
import com.mogo.service.adas.IMogoAdasRouteCallBack;
-import com.mogo.service.adas.entity.AdasOCHData;
+import com.mogo.eagle.core.data.autopilot.AdasOCHData;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.StatusDescriptor;
import com.mogo.utils.logger.Logger;
diff --git a/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java b/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java
index 394fbebf61..887ffdbf1e 100644
--- a/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java
+++ b/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java
@@ -17,7 +17,7 @@ import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.view.OnPreventFastClickListener;
import com.mogo.och.view.SlidePanelView;
import com.mogo.service.adas.IMogoAdasOCHCallback;
-import com.mogo.service.adas.RemoteControlAutoPilotParameters;
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
import com.mogo.utils.logger.Logger;
/**
diff --git a/core/function-impl/mogo-core-function-autopilot/.gitignore b/core/function-impl/mogo-core-function-autopilot/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/core/function-impl/mogo-core-function-autopilot/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-autopilot/build.gradle b/core/function-impl/mogo-core-function-autopilot/build.gradle
new file mode 100644
index 0000000000..bd30d9d646
--- /dev/null
+++ b/core/function-impl/mogo-core-function-autopilot/build.gradle
@@ -0,0 +1,67 @@
+plugins {
+ id 'com.android.library'
+ id 'kotlin-android'
+ id 'kotlin-android-extensions'
+ id 'kotlin-kapt'
+ id 'com.alibaba.arouter'
+}
+android {
+ compileSdkVersion rootProject.ext.android.compileSdkVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
+ defaultConfig {
+ minSdkVersion rootProject.ext.android.minSdkVersion
+ targetSdkVersion rootProject.ext.android.targetSdkVersion
+ versionCode Integer.valueOf(VERSION_CODE)
+ versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles 'consumer-rules.pro'
+ //ARouter apt 参数
+ kapt {
+ useBuildCache = false
+ arguments {
+ arg("AROUTER_MODULE_NAME", project.getName())
+ }
+ }
+
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ implementation rootProject.ext.dependencies.kotlinstdlibjdk7
+ implementation rootProject.ext.dependencies.androidxccorektx
+ implementation rootProject.ext.dependencies.androidxappcompat
+ implementation rootProject.ext.dependencies.androidxconstraintlayout
+ implementation rootProject.ext.dependencies.arouter
+ implementation rootProject.ext.dependencies.rxandroid
+
+ kapt rootProject.ext.dependencies.aroutercompiler
+
+ implementation "com.zhidao.support.adas:high:1.2.0.2"
+
+ if (Boolean.valueOf(RELEASE)) {
+
+ } else {
+
+ implementation project(':core:mogo-core-data')
+ implementation project(':core:mogo-core-utils')
+ implementation project(':core:mogo-core-function-api')
+ implementation project(':core:mogo-core-function-call')
+ }
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
diff --git a/core/function-impl/mogo-core-function-autopilot/consumer-rules.pro b/core/function-impl/mogo-core-function-autopilot/consumer-rules.pro
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/core/function-impl/mogo-core-function-autopilot/gradle.properties b/core/function-impl/mogo-core-function-autopilot/gradle.properties
new file mode 100644
index 0000000000..1126e026c9
--- /dev/null
+++ b/core/function-impl/mogo-core-function-autopilot/gradle.properties
@@ -0,0 +1,3 @@
+GROUP=com.mogo.eagle.core
+POM_ARTIFACT_ID=function-autopilot
+VERSION_CODE=1
diff --git a/core/function-impl/mogo-core-function-autopilot/proguard-rules.pro b/core/function-impl/mogo-core-function-autopilot/proguard-rules.pro
new file mode 100644
index 0000000000..481bb43481
--- /dev/null
+++ b/core/function-impl/mogo-core-function-autopilot/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-autopilot/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..7e30806cb7
--- /dev/null
+++ b/core/function-impl/mogo-core-function-autopilot/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ 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/MoGoAutoPilotProvider.java b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutoPilotProvider.java
new file mode 100644
index 0000000000..dd0bf443e9
--- /dev/null
+++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutoPilotProvider.java
@@ -0,0 +1,56 @@
+package com.mogo.eagle.core.function.autopilot;
+
+import android.content.Context;
+
+import com.mogo.eagle.core.data.autopilot.AdasControlCommandParameter;
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
+import com.mogo.eagle.core.function.api.autopilot.IMoGoAutoPilotProvider;
+import com.mogo.eagle.core.function.api.autopilot.IMoGoAutoPilotStatusListener;
+import com.mogo.eagle.core.utilcode.util.GsonUtils;
+import com.mogo.eagle.core.utilcode.util.LogUtils;
+import com.zhidao.support.adas.high.AdasManager;
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/9/22 8:43 下午
+ */
+public class MoGoAutoPilotProvider implements IMoGoAutoPilotProvider {
+
+ private static final String TAG = "MogoAutoPilotProvider";
+
+ @Override
+ public void init(Context context) {
+
+ }
+
+ @Override
+ public void startAutoPilot(RemoteControlAutoPilotParameters result) {
+ if (AdasManager.getInstance().isSocketConnect()) {
+ AdasControlCommandParameter parameter = new AdasControlCommandParameter(TAG, result);
+ AdasManager.getInstance().aiCloudToAdasData(GsonUtils.toJson(parameter));
+ } else {
+ LogUtils.eTag(TAG, "车机与工控机链接失败,无法开启自动驾驶");
+ }
+ }
+
+ @Override
+ public void cancelAutoPilot() {
+ if (AdasManager.getInstance().isSocketConnect()) {
+ AdasManager.getInstance().controlAutopilotCarHead();
+ } else {
+ LogUtils.eTag(TAG, "车机与工控机链接失败,无法断开自动驾驶");
+ }
+ }
+
+ @Override
+ public int getAutopilotStatus() {
+// int status = IMoGoAutoPilotStatusListener.STATUS_AUTOPILOT_DISABLE;
+// try {
+// status = adasProvider.autopilotStateCall().getState();
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+ return 0;
+ }
+
+}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasControlCommandParameter.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AdasControlCommandParameter.java
similarity index 87%
rename from services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasControlCommandParameter.java
rename to core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AdasControlCommandParameter.java
index 391b8fcb72..66bcbd48fd 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasControlCommandParameter.java
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AdasControlCommandParameter.java
@@ -1,4 +1,4 @@
-package com.mogo.service.impl.adas;
+package com.mogo.eagle.core.data.autopilot;
public
/**
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/entity/AdasOCHData.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AdasOCHData.java
similarity index 88%
rename from services/mogo-service-api/src/main/java/com/mogo/service/adas/entity/AdasOCHData.java
rename to core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AdasOCHData.java
index d9d8f501b6..248be4cbf7 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/entity/AdasOCHData.java
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AdasOCHData.java
@@ -1,4 +1,4 @@
-package com.mogo.service.adas.entity;
+package com.mogo.eagle.core.data.autopilot;
public
/**
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/RemoteControlAutoPilotParameters.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/RemoteControlAutoPilotParameters.java
similarity index 79%
rename from services/mogo-service-api/src/main/java/com/mogo/service/adas/RemoteControlAutoPilotParameters.java
rename to core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/RemoteControlAutoPilotParameters.java
index 9089d57260..42dbb6571f 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/RemoteControlAutoPilotParameters.java
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/RemoteControlAutoPilotParameters.java
@@ -1,18 +1,17 @@
-package com.mogo.service.adas;
+package com.mogo.eagle.core.data.autopilot;
import java.util.List;
-public
/**
- * @author congtaowang
- * @since 2020/10/16
- *
- * 自动驾驶参数
+ * @author donghongyu
+ * @since 2021/09/22
+ *
+ * 启动自动驾驶参数
*/
-class RemoteControlAutoPilotParameters {
+public class RemoteControlAutoPilotParameters {
public AutoPilotLonLat startLatLon;
- public List< AutoPilotLonLat > wayLatLons;
+ public List wayLatLons;
public AutoPilotLonLat endLatLon;
public float speedLimit;
public int vehicleType;// 运营类型
@@ -28,7 +27,7 @@ class RemoteControlAutoPilotParameters {
public AutoPilotLonLat() {
}
- public AutoPilotLonLat( double lat, double lon ) {
+ public AutoPilotLonLat(double lat, double lon) {
this.lat = lat;
this.lon = lon;
}
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/model/V2XThreatIndInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/model/V2XThreatIndInfo.kt
deleted file mode 100644
index 43e103e990..0000000000
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/model/V2XThreatIndInfo.kt
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.mogo.eagle.core.data.model
-
-/**
- *@author xiaoyuzhou
- *@date 2021/9/14 3:51 下午
- */
-class V2XThreatIndInfo {
-// /**
-// * RV temperary vehicle ID
-// */
-// private val vehicle_id: String? = null
-// /**
-// * V2V threat status 0: update 1: add 2: delete
-// * range(0..2)
-// * [com.zhidao.support.obu.constants.ObuConstants.STATUS]
-// */
-// private val status = 0
-//
-// /**
-// * RV threat information 目前判断RV方向使用的是 ext_info 中的 target_classification 变量
-// */
-// private val threat_info: V2vThreat? = null
-//
-// /**
-// * 目前判断RV方向使用的是 ext_info 中的 target_classification 变量
-// * The extension information of V2V threat
-// */
-// private val ext_info: V2vThreatExt? = null
-//
-// /**
-// * RV basic information
-// */
-// private val basic_info: MovingObjectInfo? = null
-// /**
-// * Wgs84坐标系,线性经纬度轨迹列表
-// */
-// private val locus_list: List? = null
-//
-// /**
-// * 高德坐标系Gcj,线性经纬度轨迹列表
-// */
-// private val gd_locus_list: List? = null
-
-}
\ No newline at end of file
diff --git a/core/mogo-core-function-api/README.md b/core/mogo-core-function-api/README.md
index de56e4f933..eb29446f79 100644
--- a/core/mogo-core-function-api/README.md
+++ b/core/mogo-core-function-api/README.md
@@ -1,5 +1,10 @@
### 模块说明
本模块定义业务层具备那些功能,不提供具体业务实现;所有具体业务实现均在mogo-core-function-impl模块中
+
+base
+ IMoGoFunctionProvider--------带界面的功能模块
+ IMoGoFunctionServerProvider--服务类型的功能模块
+
adas--域控制器相关
chat--车聊聊相关
check--车辆检测相关
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
new file mode 100644
index 0000000000..6c19059386
--- /dev/null
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutoPilotProvider.java
@@ -0,0 +1,32 @@
+package com.mogo.eagle.core.function.api.autopilot;
+
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
+import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider;
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/9/22 8:27 下午
+ * 自动驾驶节点
+ */
+public interface IMoGoAutoPilotProvider extends IMoGoFunctionServerProvider {
+
+ /**
+ * 开启自动驾驶
+ *
+ * @param result
+ */
+ void startAutoPilot(RemoteControlAutoPilotParameters result);
+
+ /**
+ * 结束自动驾驶
+ */
+ void cancelAutoPilot();
+
+ /**
+ * 获取车辆自动驾驶状态
+ *
+ * @return
+ */
+ int getAutopilotStatus();
+
+}
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutoPilotStatusListener.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutoPilotStatusListener.java
new file mode 100644
index 0000000000..70fc0a5efa
--- /dev/null
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutoPilotStatusListener.java
@@ -0,0 +1,38 @@
+package com.mogo.eagle.core.function.api.autopilot;
+
+import com.mogo.eagle.core.data.autopilot.AdasOCHData;
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/9/22 8:59 下午
+ * 自动驾驶状态回调监听
+ */
+public interface IMoGoAutoPilotStatusListener {
+
+ /**
+ * 不可自动驾驶,目前场景是刚开机,adas还未和工控机连接
+ */
+ int STATUS_AUTOPILOT_DISABLE = 0;
+ /**
+ * 可自动驾驶,工控机连接正常,且处于人工干预状态
+ */
+ int STATUS_AUTOPILOT_ENABLE = 1;
+ /**
+ * 自动驾驶中,可能是停车,可能是行进,但是是机器在处理车的前进后退,不是人
+ */
+ int STATUS_AUTOPILOT_RUNNING = 2;
+
+
+ /**
+ * 到站
+ * @param data 所到车站的简单信息
+ */
+ void onArriveAt( AdasOCHData data );
+
+ /**
+ * 自动驾驶状态发生改变
+ * @param state {@link #STATUS_AUTOPILOT_DISABLE}
+ * @param reason 不能自动驾驶的原因
+ */
+ void onStateChanged(int state, String reason);
+}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
index bddd39a1c2..9222f2e503 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
@@ -14,7 +14,6 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
-import android.widget.CheckedTextView;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageButton;
@@ -73,7 +72,7 @@ import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.module.share.manager.ServiceApisManager;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.adas.IMogoAdasOCHCallback;
-import com.mogo.service.adas.entity.AdasOCHData;
+import com.mogo.eagle.core.data.autopilot.AdasOCHData;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.service.entrance.ButtonIndex;
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/autopilot/AutoPilotRemoteController.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/autopilot/AutoPilotRemoteController.java
index acd8e143a5..b47d2c7884 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/autopilot/AutoPilotRemoteController.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/autopilot/AutoPilotRemoteController.java
@@ -2,7 +2,7 @@ package com.mogo.module.service.autopilot;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.module.common.MogoApisHandler;
-import com.mogo.service.adas.RemoteControlAutoPilotParameters;
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.service.cloud.socket.IMogoSocketManager;
import com.mogo.utils.logger.Logger;
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/dispatch/DispatchAutoPilotManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/dispatch/DispatchAutoPilotManager.java
index b86dd5b92b..d9072f5020 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/dispatch/DispatchAutoPilotManager.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/dispatch/DispatchAutoPilotManager.java
@@ -19,8 +19,8 @@ import com.mogo.module.service.dispatch.model.DispatchServiceModel;
import com.mogo.module.service.dispatch.model.IDispatch;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.adas.IMogoAdasOCHCallback;
-import com.mogo.service.adas.RemoteControlAutoPilotParameters;
-import com.mogo.service.adas.entity.AdasOCHData;
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
+import com.mogo.eagle.core.data.autopilot.AdasOCHData;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.service.entrance.IMogoEntranceAutopilotStatusClickListener;
import com.mogo.utils.logger.Logger;
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java
index 49e85549d5..09e151a475 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java
@@ -38,7 +38,7 @@ import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.module.service.R;
import com.mogo.module.service.status.EnvStatusManager;
import com.mogo.module.service.timedelay.TimeDelayUploadManager;
-import com.mogo.service.adas.RemoteControlAutoPilotParameters;
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
import com.mogo.service.adas.entity.ADASCarStateInfo;
import com.mogo.service.adas.entity.ADASRecognizedResult;
import com.mogo.service.entrance.ButtonIndex;
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
index a51025c29d..f513af0775 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
@@ -1,6 +1,7 @@
package com.mogo.service.adas;
import com.alibaba.android.arouter.facade.template.IProvider;
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.service.adas.entity.ADASRecognizedResult;
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasOCHCallback.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasOCHCallback.java
index 81998f8a6b..c09a6113b5 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasOCHCallback.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasOCHCallback.java
@@ -1,6 +1,6 @@
package com.mogo.service.adas;
-import com.mogo.service.adas.entity.AdasOCHData;
+import com.mogo.eagle.core.data.autopilot.AdasOCHData;
public
/**
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
index 9b7690056e..7721ef5944 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
@@ -13,6 +13,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
+import com.mogo.eagle.core.data.autopilot.AdasControlCommandParameter;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.adas.AdasProvider;
@@ -26,11 +27,11 @@ import com.mogo.service.adas.IMogoAdasOCHCallback;
import com.mogo.service.adas.IMogoAdasRecognizedDataCallback;
import com.mogo.service.adas.IMogoAdasRouteCallBack;
import com.mogo.service.adas.IMogoAdasWarnMessageCallback;
-import com.mogo.service.adas.RemoteControlAutoPilotParameters;
+import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
import com.mogo.service.adas.entity.ADASCarStateInfo;
import com.mogo.service.adas.entity.ADASRecognizedResult;
import com.mogo.service.adas.entity.ADASWarnMessage;
-import com.mogo.service.adas.entity.AdasOCHData;
+import com.mogo.eagle.core.data.autopilot.AdasOCHData;
import com.mogo.service.adas.entity.CarModelListResponse;
import com.mogo.service.datamanager.IMogoDataManager;
import com.mogo.service.impl.singleton.SingletonsHolder;
diff --git a/settings.gradle b/settings.gradle
index 76ddba2563..8beb0265f7 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -27,6 +27,8 @@ include ':core:function-impl:mogo-core-function-obu-mogo'
include ':core:function-impl:mogo-core-function-check'
// 云公告相关的业务,UI写到HMI,这里只处理数据及功能逻辑
include ':core:function-impl:mogo-core-function-notice'
+// 自动驾驶相关能力,控制自动驾驶,获取自动驾驶识别信息,自车感知预警等
+include ':core:function-impl:mogo-core-function-autopilot'
// 服务