From 0c956bd16ea1bd5aa4d2d031513ea2b97df230c6 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Tue, 18 Oct 2022 19:27:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E7=89=B9=E5=AE=9Atopic=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E5=BD=95=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhidao/support/adas/high/AdasChannel.java | 35 +++++++++++++++++++ .../zhidao/support/adas/high/AdasManager.java | 6 ++++ .../support/adas/high/IAdasNetCommApi.java | 12 +++++++ 3 files changed, 53 insertions(+) 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 62f257b274..5b4af674c5 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 @@ -47,6 +47,7 @@ import com.zhjt.service.chain.TracingConstants; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.Timer; @@ -364,6 +365,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec CupidLogUtils.i("TimeConsuming", who + " 从接收到解析耗时=" + time + "毫秒"); } } + //TODO 计算耗时 临时测试 public static void calculateTimeConsumingBusiness(String who, long receiveTime) { if (CupidLogUtils.isEnableLog()) { @@ -371,6 +373,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec CupidLogUtils.i("TimeConsuming", who + " 业务处理耗时=" + time + "毫秒"); } } + /** * 分发和解析 * @@ -837,6 +840,37 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec return sendRecordData(id, 0, type, false, -1); } + /** + * 选择具体topics进行录制 + * @param id + * @param duration + * @param type + * @param bduration + * @param topics + * @return + */ + @Override + public boolean startRecordPackage(int id, int duration, int type, int bduration, List topics) { + boolean sustain = false; + if (duration <= 0) { + duration = 0; + sustain = true; + } + + MessagePad.RecordData.Builder builder = MessagePad.RecordData + .newBuilder() + .setId(id) + .setDuration(duration) + .setType(type) + .setIsRecord(true) + .setSustain(sustain) + .addAllTopics(topics); + if (bduration > -1) { + builder.setBduration(bduration); + } + MessagePad.RecordData req = builder.build(); + return sendPBMessage(MessageType.TYPE_SEND_RECORD_DATA.typeCode, req.toByteArray()); + } /** * 数据采集请求 主动录制Bag包 @@ -1199,6 +1233,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec /** * 绕障开关和速度控制 + * * @param type * @param value */ 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 a682ee6249..3099a30f14 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 @@ -12,6 +12,7 @@ import com.zhidao.support.adas.high.common.MessageType; import com.zhidao.support.adas.high.common.ReceiveTimeoutManager; import java.util.HashSet; +import java.util.List; import java.util.Set; import mogo.telematics.pad.MessagePad; @@ -352,6 +353,11 @@ public class AdasManager implements IAdasNetCommApi { return mChannel != null && mChannel.startRecordPackage(id, duration, type, bduration); } + @Override + public boolean startRecordPackage(int id, int duration, int type, int bduration, List topics) { + return mChannel != null && mChannel.startRecordPackage(id, duration, type, bduration, topics); + } + /** * 同下 * 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 62f9a2fb14..1921831a6e 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 @@ -7,6 +7,7 @@ import com.zhidao.support.adas.high.common.Constants; import com.zhidao.support.adas.high.common.Define; import com.zhidao.support.adas.high.common.MessageType; +import java.util.List; import java.util.Set; import mogo.telematics.pad.MessagePad; @@ -132,6 +133,17 @@ public interface IAdasNetCommApi { */ boolean startRecordPackage(int id, int duration, int type, int bduration); + /** + * 同下 + * + * @param id + * @param duration + * @param type + * @param bduration + * @return 加入WS发送消息队列是否成功 + */ + boolean startRecordPackage(int id, int duration, int type, int bduration, List topics); + /** * 同下 *