diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java index 42b4d0f7fc..22966ce87b 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java @@ -43,6 +43,8 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.SimpleItemAnimator; +import com.google.protobuf.InvalidProtocolBufferException; +import com.google.protobuf.TextFormat; import com.mogo.telematic.MogoProtocolMsg; import com.mogo.telematic.NSDNettyManager; import com.mogo.telematic.client.listener.NettyClientListener; @@ -854,6 +856,12 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas @Override public void onPointCloud(byte[] pointCloud) { +// try { +// MogoPointCloudOuterClass.MogoPointCloud bean = MogoPointCloudOuterClass.MogoPointCloud.parseFrom(pointCloud); +// Log.i("ddd","MogoPointCloud="+ TextFormat.printer().escapingNonAscii(false).printToString(bean)); +// } catch (InvalidProtocolBufferException e) { +// e.printStackTrace(); +// } OriginalPointCloudData base = new OriginalPointCloudData(pointCloud); DataDistribution.getInstance().addData(base); } diff --git a/gradle.properties b/gradle.properties index 58af36d966..26b0016f00 100644 --- a/gradle.properties +++ b/gradle.properties @@ -164,7 +164,7 @@ MOGO_V2X_SDK_VERSION=1.4.3.6 # ADAS LIB Maven配置(用于地图部门测试使用,鹰眼项目中使用本地依赖) # ADAS_LIB_GROUP=com.zhidao.support.adas ADAS_LIB_POM_ARTIFACT_ID=high -ADAS_LIB_CHILD_VERSION=.0 +ADAS_LIB_CHILD_VERSION=.1 ADAS_DATA_LIB_GROUP=com.zhjt.mogo.adas.data ADAS_DATA_LIB_POM_ARTIFACT_ID=adas-data 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 5f12e90f58..9ef634f638 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 @@ -308,11 +308,14 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec */ @Override public void onDispatchRaw(String threadName, RawData raw) { - //分发点云原始数据 - if (THREAD_NAME_DISPATCH_POINT_CLOUD.equals(threadName)) { - mAdasListener.onPointCloud(raw.originalData.toByteArray()); - } else { - try { + try { + //分发点云原始数据 + if (THREAD_NAME_DISPATCH_POINT_CLOUD.equals(threadName)) { + int len = raw.getPackageLengthValue() - raw.getOffsetValue(); + byte[] bytes = new byte[len]; + System.arraycopy(raw.originalData.toByteArray(), raw.getOffsetValue(), bytes, 0, len); + mAdasListener.onPointCloud(bytes); + } else { if (rawUnpack != null) { if (raw.getProtocolStatus() == ProtocolStatus.SUCCEED) { MessagePad.Header header = raw.getHeader(); @@ -327,10 +330,10 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec callError(raw.getProtocolStatus(), raw.originalData.toByteArray()); } } - } catch (Exception e) { - callError(ProtocolStatus.BUSINESS_DATA_PARSE_FAILED, raw.originalData.toByteArray()); - CupidLogUtils.e(TAG, "原始数据:" + ByteUtil.byteArrToHex(raw.originalData.toByteArray()), e); } + } catch (Exception e) { + callError(ProtocolStatus.BUSINESS_DATA_PARSE_FAILED, raw.originalData.toByteArray()); + CupidLogUtils.e(TAG, "原始数据:" + ByteUtil.byteArrToHex(raw.originalData.toByteArray()), e); } } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/OnAdasListener.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/OnAdasListener.java index 15e4327228..078ee82b9f 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/OnAdasListener.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/OnAdasListener.java @@ -100,7 +100,7 @@ public interface OnAdasListener { /** * 透传的点云数据 * - * @param pointCloud 原始数据 包括Header+pointCloud + * @param pointCloud 原始数据 只包含PointCloud数据 */ void onPointCloud(byte[] pointCloud);