[change] 添加状态查询请求和添加状态查询应答

This commit is contained in:
xinfengkun
2022-06-08 23:49:23 +08:00
parent 3b6815be18
commit 9bf94a9765
15 changed files with 229 additions and 82 deletions

View File

@@ -16,6 +16,7 @@ import com.zhidao.adas.client.bean.PerceptionTrafficLight;
import com.zhidao.adas.client.bean.PlanningObjects;
import com.zhidao.adas.client.bean.PredictionObstacleTrajectory;
import com.zhidao.adas.client.bean.RecordPanel;
import com.zhidao.adas.client.bean.StatusInfo;
import com.zhidao.adas.client.bean.TrackedObjects;
import com.zhidao.adas.client.bean.Trajectory;
import com.zhidao.adas.client.bean.VehicleState;
@@ -108,6 +109,7 @@ public class DataDistribution {
public final List<String> listGlobalPathResp = new ArrayList<>();
public final List<String> listWarn = new ArrayList<>();
public final List<String> listArrivalNotification = new ArrayList<>();
public final List<String> listStatusInfo = new ArrayList<>();
public final List<String> listErrorData = new ArrayList<>();
public final List<String> listPointCloud = new ArrayList<>();
public final List<String> listPlanningObjects = new ArrayList<>();
@@ -240,6 +242,14 @@ public class DataDistribution {
if (listener != null && Constants.TITLE.RECEIVE_ARRIVAL_NOTIFICATION.equals(listener.first)) {
listener.second.onRefresh();
}
} else if (data instanceof StatusInfo) {
listStatusInfo.add(0, time + str);
if (listStatusInfo.size() > LIST_SIZE) {
listStatusInfo.remove(listStatusInfo.size() - 1);
}
if (listener != null && Constants.TITLE.RECEIVE_STATUS_QUERY_RESP.equals(listener.first)) {
listener.second.onRefresh();
}
} else if (data instanceof ErrorData) {
listErrorData.add(0, time + str);
if (listErrorData.size() > 100) {

View File

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

View File

@@ -101,52 +101,38 @@ public class InfoFragment extends BaseFragment {
}
private void setData() {
switch (title) {
case Constants.TITLE.RECEIVE_GNSS_INFO:
adapter.setData(DataDistribution.getInstance().listGnssInfo);
break;
case Constants.TITLE.RECEIVE_VEHICLE_STATE:
adapter.setData(DataDistribution.getInstance().listVehicleState);
break;
case Constants.TITLE.RECEIVE_TRACKED_OBJECTS:
adapter.setData(DataDistribution.getInstance().listTrackedObjects);
break;
case Constants.TITLE.RECEIVE_AUTOPILOT_STATE:
adapter.setData(DataDistribution.getInstance().listAutopilotState);
break;
case Constants.TITLE.RECEIVE_WARN:
adapter.setData(DataDistribution.getInstance().listWarn);
break;
case Constants.TITLE.RECEIVE_TRAJECTORY:
adapter.setData(DataDistribution.getInstance().listTrajectory);
break;
case Constants.TITLE.RECEIVE_ARRIVAL_NOTIFICATION:
adapter.setData(DataDistribution.getInstance().listArrivalNotification);
break;
case Constants.TITLE.RECEIVE_GLOBAL_PATH_RESP:
adapter.setData(DataDistribution.getInstance().listGlobalPathResp);
break;
case Constants.TITLE.RECEIVE_RECORD_RESULT:
adapter.setData(DataDistribution.getInstance().listRecordPanel);
break;
case Constants.TITLE.RECEIVE_REPORT_MESSAGE:
adapter.setData(DataDistribution.getInstance().listMogoReportMessage);
break;
case Constants.TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT:
adapter.setData(DataDistribution.getInstance().listPerceptionTrafficLight);
break;
case Constants.TITLE.RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY:
adapter.setData(DataDistribution.getInstance().listPredictionObstacleTrajectory);
break;
case Constants.TITLE.RECEIVE_POINT_CLOUD:
adapter.setData(DataDistribution.getInstance().listPointCloud);
break;
case Constants.TITLE.RECEIVE_PLANNING_OBJECTS:
adapter.setData(DataDistribution.getInstance().listPlanningObjects);
break;
case Constants.TITLE.RECEIVE_ERROR:
adapter.setData(DataDistribution.getInstance().listErrorData);
break;
if (Constants.TITLE.RECEIVE_GNSS_INFO.equals(title)) {
adapter.setData(DataDistribution.getInstance().listGnssInfo);
} else if (Constants.TITLE.RECEIVE_VEHICLE_STATE.equals(title)) {
adapter.setData(DataDistribution.getInstance().listVehicleState);
} else if (Constants.TITLE.RECEIVE_TRACKED_OBJECTS.equals(title)) {
adapter.setData(DataDistribution.getInstance().listTrackedObjects);
} else if (Constants.TITLE.RECEIVE_AUTOPILOT_STATE.equals(title)) {
adapter.setData(DataDistribution.getInstance().listAutopilotState);
} else if (Constants.TITLE.RECEIVE_WARN.equals(title)) {
adapter.setData(DataDistribution.getInstance().listWarn);
} else if (Constants.TITLE.RECEIVE_TRAJECTORY.equals(title)) {
adapter.setData(DataDistribution.getInstance().listTrajectory);
} else if (Constants.TITLE.RECEIVE_ARRIVAL_NOTIFICATION.equals(title)) {
adapter.setData(DataDistribution.getInstance().listArrivalNotification);
} else if (Constants.TITLE.RECEIVE_STATUS_QUERY_RESP.equals(title)){
adapter.setData(DataDistribution.getInstance().listStatusInfo);
} else if (Constants.TITLE.RECEIVE_GLOBAL_PATH_RESP.equals(title)) {
adapter.setData(DataDistribution.getInstance().listGlobalPathResp);
} else if (Constants.TITLE.RECEIVE_RECORD_RESULT.equals(title)) {
adapter.setData(DataDistribution.getInstance().listRecordPanel);
} else if (Constants.TITLE.RECEIVE_REPORT_MESSAGE.equals(title)) {
adapter.setData(DataDistribution.getInstance().listMogoReportMessage);
} else if (Constants.TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT.equals(title)) {
adapter.setData(DataDistribution.getInstance().listPerceptionTrafficLight);
} else if (Constants.TITLE.RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY.equals(title)) {
adapter.setData(DataDistribution.getInstance().listPredictionObstacleTrajectory);
} else if (Constants.TITLE.RECEIVE_POINT_CLOUD.equals(title)) {
adapter.setData(DataDistribution.getInstance().listPointCloud);
} else if (Constants.TITLE.RECEIVE_PLANNING_OBJECTS.equals(title)) {
adapter.setData(DataDistribution.getInstance().listPlanningObjects);
}else{
adapter.setData(DataDistribution.getInstance().listErrorData);
}
}

View File

@@ -66,6 +66,7 @@ import com.zhidao.adas.client.bean.PerceptionTrafficLight;
import com.zhidao.adas.client.bean.PlanningObjects;
import com.zhidao.adas.client.bean.PredictionObstacleTrajectory;
import com.zhidao.adas.client.bean.RecordPanel;
import com.zhidao.adas.client.bean.StatusInfo;
import com.zhidao.adas.client.bean.TrackedObjects;
import com.zhidao.adas.client.bean.Trajectory;
import com.zhidao.adas.client.bean.VehicleState;
@@ -102,6 +103,7 @@ import perception.TrafficLightOuterClass;
import prediction.Prediction;
import record_cache.RecordPanelOuterClass;
import rule_segement.MogoPointCloudOuterClass;
import system_master.SystemStatusInfo;
public class MainActivity extends BaseActivity implements OnAdasListener, OnAdasConnectStatusListener, BaseAdapter.OnItemClickListener<String> {
private final static String TAG = MainActivity.class.getSimpleName();
@@ -520,6 +522,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
titleFragmentData.add(Constants.TITLE.RECEIVE_RECORD_RESULT);
titleFragmentData.add(Constants.TITLE.RECEIVE_GLOBAL_PATH_RESP);
titleFragmentData.add(Constants.TITLE.RECEIVE_ARRIVAL_NOTIFICATION);
titleFragmentData.add(Constants.TITLE.RECEIVE_STATUS_QUERY_RESP);
titleFragmentData.add(Constants.TITLE.RECEIVE_WARN);
titleFragmentData.add(Constants.TITLE.RECEIVE_ERROR);
@@ -790,6 +793,12 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
DataDistribution.getInstance().addData(base);
}
@Override
public void onStatusQueryResp(MessagePad.Header header, SystemStatusInfo.StatusInfo statusInfo) {
StatusInfo base = new StatusInfo(header, statusInfo);
DataDistribution.getInstance().addData(base);
}
private void initAdas() {
CupidLogUtils.e(TAG, "--->初始化");

View File

@@ -6,6 +6,7 @@ import android.text.TextUtils;
import com.google.gson.reflect.TypeToken;
import com.zhidao.adas.client.bean.AutoPilotMode;
import com.zhidao.support.adas.high.common.JsonUtil;
import com.zhidao.support.adas.high.common.MessageType;
import java.util.ArrayList;
import java.util.List;
@@ -140,39 +141,28 @@ public class Constants {
}
public interface TITLE {
String RECEIVE_TRAJECTORY = "车前引导线";
String RECEIVE_TRACKED_OBJECTS = "障碍物信息";
String RECEIVE_GNSS_INFO = "惯导信息";
String RECEIVE_VEHICLE_STATE = "底盘信息";
String RECEIVE_AUTOPILOT_STATE = "自动驾驶状态";
String RECEIVE_REPORT_MESSAGE = "监控事件";
String RECEIVE_PERCEPTION_TRAFFIC_LIGHT = "感知红绿灯";
String RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY = "他车轨迹预测";
String RECEIVE_POINT_CLOUD = "点云透传";
String RECEIVE_PLANNING_OBJECTS = "Planning障碍物";
String RECEIVE_TRAJECTORY = MessageType.TYPE_RECEIVE_TRAJECTORY.desc;
String RECEIVE_TRACKED_OBJECTS = MessageType.TYPE_RECEIVE_TRACKED_OBJECTS.desc;
String RECEIVE_GNSS_INFO = MessageType.TYPE_RECEIVE_GNSS_INFO.desc;
String RECEIVE_VEHICLE_STATE = MessageType.TYPE_RECEIVE_VEHICLE_STATE.desc;
String RECEIVE_AUTOPILOT_STATE = MessageType.TYPE_RECEIVE_AUTOPILOT_STATE.desc;
String RECEIVE_REPORT_MESSAGE = MessageType.TYPE_RECEIVE_REPORT_MESSAGE.desc;
String RECEIVE_PERCEPTION_TRAFFIC_LIGHT = MessageType.TYPE_RECEIVE_PERCEPTION_TRAFFIC_LIGHT.desc;
String RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY = MessageType.TYPE_RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY.desc;
String RECEIVE_POINT_CLOUD = MessageType.TYPE_RECEIVE_POINT_CLOUD.desc;
String RECEIVE_PLANNING_OBJECTS = MessageType.TYPE_RECEIVE_PLANNING_OBJECTS.desc;
// String RECEIVE_BASIC_INFO_REQ = "自动驾驶设备基础信息请求";
String TITLE_CAR_CONFIG_RESP = "工控机版本\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t固定IP配置";
String RECEIVE_CAR_CONFIG_RESP = "信息与配置";
String RECEIVE_RECORD_RESULT = "数据采集结果";
String RECEIVE_GLOBAL_PATH_RESP = "自动驾驶路径";
String RECEIVE_WARN = "预警数据";
String RECEIVE_ARRIVAL_NOTIFICATION = "到站提醒";
String RECEIVE_RECORD_RESULT = MessageType.TYPE_RECEIVE_RECORD_RESULT.desc;
String RECEIVE_GLOBAL_PATH_RESP = MessageType.TYPE_RECEIVE_GLOBAL_PATH_RESP.desc;
String RECEIVE_WARN = MessageType.TYPE_RECEIVE_WARN.desc;
String RECEIVE_ARRIVAL_NOTIFICATION = MessageType.TYPE_RECEIVE_ARRIVAL_NOTIFICATION.desc;
String RECEIVE_STATUS_QUERY_RESP = MessageType.TYPE_RECEIVE_STATUS_QUERY_RESP.desc;
String RECEIVE_ERROR = "错误数据";
String SEND_BASIC_INFO_RESP = "自动驾驶设备基础信息应答";
String SEND_SET_AUTOPILOT_MODE_REQ = "设置自动驾驶模式 启动自动驾驶";
String SEND_SET_DEMO_MODE_REQ = "设置演示模式";
String SEND_CAR_CONFIG_REQ = "车机基础信息请求";
String SEND_RECORD_CAUSE = "记录人工接管原因";
String SEND_RECORD_DATA = "数据采集请求";
String SEND_SET_AUTOPILOT_SPEED_REQ = "设置自动驾驶最大速度";
String SEND_GLOBAL_PATH_REQ = "自动驾驶路径请求";
String SEND_TRAFFIC_LIGHT_DATA = "发送红绿灯数据到工控机";
}
}