[add]增加感知透传障碍物接口,获取基础配置信息修改为延时获取

This commit is contained in:
xinfengkun
2022-04-28 19:22:57 +08:00
parent a501bf2479
commit e0c042f518
13 changed files with 283 additions and 8 deletions

View File

@@ -9,6 +9,7 @@ import com.zhidao.adas.client.bean.ErrorData;
import com.zhidao.adas.client.bean.GlobalPathResp;
import com.zhidao.adas.client.bean.GnssInfo;
import com.zhidao.adas.client.bean.MogoReportMessage;
import com.zhidao.adas.client.bean.PerceptionObstacles;
import com.zhidao.adas.client.bean.PerceptionTrafficLight;
import com.zhidao.adas.client.bean.PredictionObstacleTrajectory;
import com.zhidao.adas.client.bean.RecordPanel;
@@ -101,6 +102,7 @@ public class DataDistribution {
public final List<String> listMogoReportMessage = new ArrayList<>();
public final List<String> listPerceptionTrafficLight = new ArrayList<>();
public final List<String> listPredictionObstacleTrajectory = new ArrayList<>();
public final List<String> listPerceptionObstacles = new ArrayList<>();
public final List<String> listBasicInfoReq = new ArrayList<>();
public final List<String> listRecordPanel = new ArrayList<>();
public final List<String> listGlobalPathResp = new ArrayList<>();
@@ -222,6 +224,19 @@ public class DataDistribution {
// for (OnAdasClientListener listener : listeners) {
// listener.onRefresh();
// }
// }
} else if (data instanceof PerceptionObstacles) {
listPerceptionObstacles.add(0, time + str);
if (listPerceptionObstacles.size() > LIST_SIZE) {
listPerceptionObstacles.remove(listPerceptionObstacles.size() - 1);
}
if (listener != null) {
listener.onRefresh();
}
// if (!listeners.isEmpty()) {
// for (OnAdasClientListener listener : listeners) {
// listener.onRefresh();
// }
// }
} else if (data instanceof BasicInfoReq) {
listBasicInfoReq.add(0, time + str);

View File

@@ -0,0 +1,23 @@
package com.zhidao.adas.client.bean;
import com.google.protobuf.TextFormat;
import mogo.telematics.pad.MessagePad;
import perception.ObjectOuterClass;
import prediction.Prediction;
public class PerceptionObstacles extends BaseInfo {
public final ObjectOuterClass.TrackedObjects bean;
public PerceptionObstacles(MessagePad.Header header, ObjectOuterClass.TrackedObjects bean) {
super("接收", bean.getSerializedSize(), header);
this.bean = bean;
}
@Override
public String toString() {
return super.toString() + TextFormat.printer().escapingNonAscii(false).printToString(bean);
}
}

View File

@@ -149,6 +149,9 @@ public class InfoFragment extends BaseFragment {
case Constants.TITLE.RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY:
adapter.setData(DataDistribution.getInstance().listPredictionObstacleTrajectory);
break;
case Constants.TITLE.RECEIVE_PERCEPTION_OBSTACLES:
adapter.setData(DataDistribution.getInstance().listPerceptionObstacles);
break;
case Constants.TITLE.RECEIVE_ERROR:
adapter.setData(DataDistribution.getInstance().listErrorData);
break;

View File

@@ -56,6 +56,7 @@ import com.zhidao.adas.client.bean.GnssInfo;
import com.zhidao.adas.client.bean.IPCConnectState;
import com.zhidao.adas.client.bean.MogoReportMessage;
import com.zhidao.adas.client.bean.MySSHResult;
import com.zhidao.adas.client.bean.PerceptionObstacles;
import com.zhidao.adas.client.bean.PerceptionTrafficLight;
import com.zhidao.adas.client.bean.PredictionObstacleTrajectory;
import com.zhidao.adas.client.bean.RecordPanel;
@@ -91,6 +92,7 @@ import chassis.VehicleStateOuterClass;
import io.netty.channel.Channel;
import mogo.telematics.pad.MessagePad;
import mogo_msg.MogoReportMsg;
import perception.ObjectOuterClass;
import perception.TrafficLightOuterClass;
import prediction.Prediction;
import record_cache.RecordPanelOuterClass;
@@ -143,6 +145,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
private InfoFragment reportMessageFragment;
private InfoFragment perceptionTrafficLightFragment;
private InfoFragment predictionObstacleTrajectoryFragment;
private InfoFragment perceptionObstaclesFragment;
private VersionFragment versionFragment;
private FragmentManager manager;
private FragmentTransaction transaction;
@@ -449,6 +452,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
titleFragmentData.add(Constants.TITLE.RECEIVE_GNSS_INFO);
titleFragmentData.add(Constants.TITLE.RECEIVE_TRAJECTORY);
titleFragmentData.add(Constants.TITLE.RECEIVE_TRACKED_OBJECTS);
titleFragmentData.add(Constants.TITLE.RECEIVE_PERCEPTION_OBSTACLES);
titleFragmentData.add(Constants.TITLE.RECEIVE_VEHICLE_STATE);
titleFragmentData.add(Constants.TITLE.RECEIVE_AUTOPILOT_STATE);
titleFragmentData.add(Constants.TITLE.RECEIVE_REPORT_MESSAGE);
@@ -494,6 +498,22 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
btnAdapter.setOnItemClickListener(this);
}
/**
* 感知接口 提示
*
* @param isSeriaNet 是否是透传接口
*/
private void hintTrackedObjects(boolean isSeriaNet) {
int value = 0;
MessagePad.CarConfigResp carConfigResp = AdasManager.getInstance().getCarConfig();
if (carConfigResp != null) {
value = carConfigResp.getProtocolVersionValue();
}
if (isSeriaNet && value < 3 && value > 0 || value > 2) {
showToastCenter("当前工控机协议版本:" + value + ",此接口不受支持");
}
}
private void initFragmentRecyclerView() {
//创建默认的线性LayoutManager 横向的GridLayoutManager
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
@@ -528,6 +548,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
}
break;
case Constants.TITLE.RECEIVE_TRACKED_OBJECTS:
hintTrackedObjects(false);
if (viewFragment == null)
viewFragment = new InfoFragment(data);
if (!viewFragment.isVisible()) {
@@ -616,6 +637,15 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
transaction.commit();
}
break;
case Constants.TITLE.RECEIVE_PERCEPTION_OBSTACLES:
hintTrackedObjects(true);
if (perceptionObstaclesFragment == null)
perceptionObstaclesFragment = new InfoFragment(data);
if (!perceptionObstaclesFragment.isVisible()) {
transaction.replace(R.id.fl_info, perceptionObstaclesFragment);
transaction.commit();
}
break;
case Constants.TITLE.RECEIVE_CAR_CONFIG_RESP:
AdasManager.getInstance().sendCarConfigReq();
if (versionFragment == null)
@@ -709,7 +739,6 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
}
@Override
public void onError(ProtocolStatus status, byte[] bytes) {
ErrorData base = new ErrorData(status, bytes);
@@ -764,6 +793,12 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
DataDistribution.getInstance().addData(base);
}
@Override
public void onTrackedObjects(MessagePad.Header header, ObjectOuterClass.TrackedObjects trackedObjects) {
PerceptionObstacles base = new PerceptionObstacles(header, trackedObjects);
DataDistribution.getInstance().addData(base);
}
@Override
public void onBasicInfoReq(MessagePad.Header header, MessagePad.BasicInfoReq basicInfoReq) {
BasicInfoReq info = new BasicInfoReq(header, basicInfoReq);

View File

@@ -151,6 +151,7 @@ public class Constants {
String RECEIVE_REPORT_MESSAGE = "监控事件";
String RECEIVE_PERCEPTION_TRAFFIC_LIGHT = "感知红绿灯";
String RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY = "他车轨迹预测";
String RECEIVE_PERCEPTION_OBSTACLES = "透传的融合障碍物";
// String RECEIVE_BASIC_INFO_REQ = "自动驾驶设备基础信息请求";
String RECEIVE_CAR_CONFIG_RESP = "信息与配置";