diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index 79e53dc4d6..e8bc3ae8eb 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -408,6 +408,10 @@ class MoGoAutopilotControlProvider : AdasManager.getInstance().sendTrajectoryDownloadReq(autoPilotLine.toAutoPilotLine()) } + override fun sendTrajectoryDownloadReq(autoPilotLine: AutopilotControlParameters.AutoPilotLine, downloadType: Int) { + AdasManager.getInstance().sendTrajectoryDownloadReq(autoPilotLine.toAutoPilotLine(), downloadType) + } + override fun cancelAutoPilot() { if (AdasManager.getInstance().ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED) { AdasManager.getInstance().sendAutoPilotModeReq(0, 1, null) diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt index fb3f4990d8..29ef4d612e 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt @@ -55,6 +55,11 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider { */ fun sendTrajectoryDownloadReq(autoPilotLine: AutopilotControlParameters.AutoPilotLine) + /** + * 发送 轨迹下载请求 + * @param downloadType 下载类型: 0:正常下载 1:预下载 + */ + fun sendTrajectoryDownloadReq(autoPilotLine: AutopilotControlParameters.AutoPilotLine, downloadType: Int) /** * 结束自动驾驶 */ diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt index 915c46d2ee..db83797db7 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt @@ -106,6 +106,16 @@ object CallerAutoPilotControlManager { } } + /** + * 发送 轨迹下载请求 + * @param downloadType 下载类型: 0:正常下载 1:预下载 + */ + fun sendTrajectoryDownloadReq(autoPilotLine: AutopilotControlParameters.AutoPilotLine, downloadType: Int) { + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + providerApi?.sendTrajectoryDownloadReq(autoPilotLine, downloadType) + } + } + /** * 结束自动驾驶 */ diff --git a/libraries/mogo-adas-data/src/main/proto/message_pad.proto b/libraries/mogo-adas-data/src/main/proto/message_pad.proto index 72bc9e8532..c54fbd3545 100644 --- a/libraries/mogo-adas-data/src/main/proto/message_pad.proto +++ b/libraries/mogo-adas-data/src/main/proto/message_pad.proto @@ -253,6 +253,7 @@ message TrajectoryDownloadReq { Line line = 1; //路线 uint32 source = 2; //指令来源: 0: default, 1:pad, 2:aicloud + uint32 downloadType = 3; //下载类型: 0:正常下载 1:预下载 } // message definition for MessageType: MsgTypeBasicInfoReq diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java index 100b37c721..623a821b63 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java @@ -1090,7 +1090,8 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec /** * 发送 轨迹下载请求 * - * @param line 线路相关参数详情见PB message_pad.proto -> Line + * @param line 线路相关参数详情见PB message_pad.proto -> Line + * @param downloadType 下载类型: 0:正常下载 1:预下载 * @return boolean */ @ChainLog( @@ -1100,10 +1101,13 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec paramIndexes = {0} ) @Override - public boolean sendTrajectoryDownloadReq(MessagePad.Line line) { + public boolean sendTrajectoryDownloadReq(MessagePad.Line line, int downloadType) { MessagePad.TrajectoryDownloadReq.Builder builder = MessagePad.TrajectoryDownloadReq.newBuilder(); builder.setSource(1);//指令来源: 0: default, 1:pad, 2:aicloud builder.setLine(line); + if (downloadType > -1) { + builder.setDownloadType(downloadType); + } MessagePad.TrajectoryDownloadReq req = builder.build(); return sendPBMessage(MessageType.TYPE_SEND_TRAJECTORY_DOWNLOAD_REQ.typeCode, req.toByteArray()); } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java index cf5f5479b0..d15953ae0e 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java @@ -514,9 +514,20 @@ public class AdasManager implements IAdasNetCommApi { * @param line 线路相关参数详情见PB message_pad.proto -> Line * @return boolean */ - @Override public boolean sendTrajectoryDownloadReq(MessagePad.Line line) { - return mChannel != null && mChannel.sendTrajectoryDownloadReq(line); + return mChannel != null && mChannel.sendTrajectoryDownloadReq(line, -1); + } + + /** + * 发送 轨迹下载请求 + * + * @param line 线路相关参数详情见PB message_pad.proto -> Line + * @param downloadType 下载类型: 0:正常下载 1:预下载 + * @return boolean + */ + @Override + public boolean sendTrajectoryDownloadReq(MessagePad.Line line, int downloadType) { + return mChannel != null && mChannel.sendTrajectoryDownloadReq(line, downloadType); } /** diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java index 8aaa04d20c..e0f4ed0d09 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java @@ -251,10 +251,11 @@ public interface IAdasNetCommApi { /** * 发送 轨迹下载请求 * - * @param line 线路相关参数详情见PB message_pad.proto -> Line + * @param line 线路相关参数详情见PB message_pad.proto -> Line + * @param downloadType 下载类型: 0:正常下载 1:预下载 * @return 加入WS发送消息队列是否成功 */ - boolean sendTrajectoryDownloadReq(MessagePad.Line line); + boolean sendTrajectoryDownloadReq(MessagePad.Line line, int downloadType); /** * 发送 状态查询请求