[change] 添加状态查询请求和添加状态查询应答
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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, "--->初始化");
|
||||
|
||||
@@ -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 = "发送红绿灯数据到工控机";
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ import perception.TrafficLightOuterClass
|
||||
import prediction.Prediction
|
||||
import record_cache.RecordPanelOuterClass
|
||||
import rule_segement.MogoPointCloudOuterClass
|
||||
import system_master.SystemStatusInfo
|
||||
|
||||
/**
|
||||
* @author emArrow
|
||||
@@ -346,6 +347,13 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStatusQueryResp(
|
||||
header: MessagePad.Header?,
|
||||
statusInfo: SystemStatusInfo.StatusInfo?
|
||||
) {
|
||||
//状态查询应答
|
||||
}
|
||||
|
||||
|
||||
override fun onError(status: ProtocolStatus, bytes: ByteArray) {
|
||||
|
||||
|
||||
@@ -38,6 +38,8 @@ enum MessageType
|
||||
MsgTypeArrivalNotification = 0x1010e; //到站提醒
|
||||
MsgTypeSystemCmdReq = 0x1010f; //系统命令请求, 比如系统重启,启用新镜像
|
||||
MsgTypeTrajectoryDownloadReq = 0x10110; //轨迹下载请求
|
||||
MsgTypeStatusQueryReq = 0x10111; //状态查询请求
|
||||
MsgTypeStatusQueryResp = 0x10112; //状态查询应答
|
||||
}
|
||||
|
||||
message Header
|
||||
@@ -327,12 +329,13 @@ message SystemCmdReq
|
||||
SystemCmdType cmdType = 1; //
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// message definition for MsgTypeStatusQueryReq
|
||||
message StatusQueryReq
|
||||
{
|
||||
}
|
||||
|
||||
// message definition for MsgTypeStatusQueryResp
|
||||
// refer to system_status_info.proto
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
syntax = "proto2";
|
||||
|
||||
package system_master;
|
||||
|
||||
enum SystemState {
|
||||
SYS_STARTING = 0;
|
||||
SYS_RUNNING = 1;
|
||||
SYS_EXITING = 2;
|
||||
SYS_FAULT = 3;
|
||||
PILOT_READY = 4;
|
||||
AUTO_PILOT_STARTING = 5;
|
||||
AUTO_PILOT_RUNNING = 6;
|
||||
REMOTE_PILOT_STARTING = 7;
|
||||
REMOTE_PILOT_RUNNING = 8;
|
||||
}
|
||||
|
||||
enum HealthState {
|
||||
NORMAL = 0;
|
||||
FAULT = 1;
|
||||
UNKNOW = 2;
|
||||
}
|
||||
|
||||
message HealthInfo{
|
||||
required string name = 1; //node name
|
||||
required HealthState state = 2; //health state
|
||||
optional string code = 3; //code 与系统事件错误码对应,如有该错误填写,没有不填
|
||||
optional string desc = 4; //补充描述,用于未知情况
|
||||
}
|
||||
|
||||
message TopicInfo{
|
||||
optional string name = 1; //topic name
|
||||
optional int32 hz = 2;
|
||||
// optional int32 max_delay = 3; //unit: msec
|
||||
}
|
||||
|
||||
message DropTopic{
|
||||
required int32 sum = 1; //dropped topic sum
|
||||
repeated TopicInfo topic = 2;
|
||||
}
|
||||
|
||||
|
||||
message StatusInfo {
|
||||
required SystemState sys_state=1; // 当前消息状态
|
||||
repeated HealthInfo health_info=2; // 健康检查状态信息
|
||||
optional DropTopic topic_drop_info=3; // topic 掉频信息, 如有掉频添加没有不添加
|
||||
optional string reserved = 4; // 预留可选字段,用于接口扩充或者,其他信息补充
|
||||
}
|
||||
@@ -862,5 +862,18 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
MessagePad.TrajectoryDownloadReq req = builder.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_TRAJECTORY_DOWNLOAD_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送 状态查询请求
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
@Override
|
||||
public boolean sendStatusQueryReq() {
|
||||
MessagePad.StatusQueryReq req = MessagePad.StatusQueryReq
|
||||
.newBuilder()
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_STATUS_QUERY_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -406,6 +406,16 @@ public class AdasManager implements IAdasNetCommApi {
|
||||
return mChannel != null && mChannel.sendTrajectoryDownloadReq(line);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送 状态查询请求
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
@Override
|
||||
public boolean sendStatusQueryReq() {
|
||||
return mChannel != null && mChannel.sendStatusQueryReq();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取工控机固定IP列表
|
||||
*
|
||||
|
||||
@@ -188,6 +188,13 @@ public interface IAdasNetCommApi {
|
||||
*/
|
||||
boolean sendTrajectoryDownloadReq(MessagePad.Line line);
|
||||
|
||||
/**
|
||||
* 发送 状态查询请求
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
boolean sendStatusQueryReq();
|
||||
|
||||
// TODO 需求暂停 待讨论
|
||||
// boolean getRoutes();
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import perception.TrafficLightOuterClass;
|
||||
import prediction.Prediction;
|
||||
import record_cache.RecordPanelOuterClass;
|
||||
import rule_segement.MogoPointCloudOuterClass;
|
||||
import system_master.SystemStatusInfo;
|
||||
|
||||
/**
|
||||
* @ProjectName: lib-adas-fpga
|
||||
@@ -155,6 +156,14 @@ public interface OnAdasListener {
|
||||
*/
|
||||
void onArrivalNotification(MessagePad.Header header, MessagePad.ArrivalNotification arrivalNotification);
|
||||
|
||||
/**
|
||||
* 状态查询应答
|
||||
*
|
||||
* @param header 头
|
||||
* @param statusInfo 数据
|
||||
*/
|
||||
void onStatusQueryResp(MessagePad.Header header, SystemStatusInfo.StatusInfo statusInfo);
|
||||
|
||||
/**
|
||||
* 数据错误
|
||||
*
|
||||
|
||||
@@ -12,16 +12,16 @@ import mogo.telematics.pad.MessagePad;
|
||||
public enum MessageType {
|
||||
|
||||
TYPE_DEFAULT(MessagePad.MessageType.MsgTypeDefault, "默认"),
|
||||
TYPE_RECEIVE_TRAJECTORY(MessagePad.MessageType.MsgTypeTrajectory, "局部轨迹,车前引导线"),
|
||||
TYPE_RECEIVE_TRAJECTORY(MessagePad.MessageType.MsgTypeTrajectory, "车前引导线"),
|
||||
TYPE_RECEIVE_TRACKED_OBJECTS(MessagePad.MessageType.MsgTypeTrackedObjects, "障碍物信息"),
|
||||
TYPE_RECEIVE_GNSS_INFO(MessagePad.MessageType.MsgTypeGnssInfo, "惯导信息"),
|
||||
TYPE_RECEIVE_VEHICLE_STATE(MessagePad.MessageType.MsgTypeVehicleState, "底盘信息, 透传底盘状态,pb参考底盘"),
|
||||
TYPE_RECEIVE_VEHICLE_STATE(MessagePad.MessageType.MsgTypeVehicleState, "底盘信息"),
|
||||
TYPE_RECEIVE_AUTOPILOT_STATE(MessagePad.MessageType.MsgTypeAutopilotState, "自动驾驶状态"),
|
||||
TYPE_RECEIVE_REPORT_MESSAGE(MessagePad.MessageType.MsgTypeReportMessage, "监控事件报告"),
|
||||
TYPE_RECEIVE_PERCEPTION_TRAFFIC_LIGHT(MessagePad.MessageType.MsgTypePerceptionTrafficLight, "感知红绿灯"),
|
||||
TYPE_RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY(MessagePad.MessageType.MsgTypePredictionObstacleTrajectory, "他车轨迹预测"),
|
||||
TYPE_RECEIVE_POINT_CLOUD(MessagePad.MessageType.MsgTypePointCloud, "点云透传"),
|
||||
TYPE_RECEIVE_PLANNING_OBJECTS(MessagePad.MessageType.MsgTypePlanningObjects, "planning障碍物"),
|
||||
TYPE_RECEIVE_PLANNING_OBJECTS(MessagePad.MessageType.MsgTypePlanningObjects, "Planning障碍物"),
|
||||
|
||||
TYPE_RECEIVE_BASIC_INFO_REQ(MessagePad.MessageType.MsgTypeBasicInfoReq, "自动驾驶设备基础信息请求"),
|
||||
TYPE_SEND_BASIC_INFO_RESP(MessagePad.MessageType.MsgTypeBasicInfoResp, "自动驾驶设备基础信息应答"),
|
||||
@@ -40,7 +40,9 @@ public enum MessageType {
|
||||
TYPE_RECEIVE_WARN(MessagePad.MessageType.MsgTypeWarn, "预警数据"),
|
||||
TYPE_RECEIVE_ARRIVAL_NOTIFICATION(MessagePad.MessageType.MsgTypeArrivalNotification, "到站提醒"),
|
||||
TYPE_SEND_SYSTEM_CMD_REQ(MessagePad.MessageType.MsgTypeSystemCmdReq, "系统命令请求, 比如系统重启,启用新镜像"),
|
||||
TYPE_SEND_TRAJECTORY_DOWNLOAD_REQ(MessagePad.MessageType.MsgTypeTrajectoryDownloadReq, "轨迹下载请求");
|
||||
TYPE_SEND_TRAJECTORY_DOWNLOAD_REQ(MessagePad.MessageType.MsgTypeTrajectoryDownloadReq, "轨迹下载请求"),
|
||||
TYPE_SEND_STATUS_QUERY_REQ(MessagePad.MessageType.MsgTypeStatusQueryReq, "状态查询请求"),
|
||||
TYPE_RECEIVE_STATUS_QUERY_RESP(MessagePad.MessageType.MsgTypeStatusQueryResp, "状态查询应答");
|
||||
|
||||
/**
|
||||
* 消息action code
|
||||
|
||||
@@ -28,6 +28,7 @@ public class MyMessageFactory implements IMyMessageFactory {
|
||||
private IMsg globalPathRespMessage;//自动驾驶路径应答
|
||||
private IMsg warnMessage;//预警数据
|
||||
private IMsg arrivalNotificationMessage;//到站提醒
|
||||
private IMsg statusQueryRespMessage;//状态查询应答
|
||||
|
||||
|
||||
@Override
|
||||
@@ -128,6 +129,12 @@ public class MyMessageFactory implements IMyMessageFactory {
|
||||
arrivalNotificationMessage = new ArrivalNotificationMessage();
|
||||
}
|
||||
return arrivalNotificationMessage;
|
||||
} else if (messageType == MessageType.TYPE_RECEIVE_STATUS_QUERY_RESP.typeCode) {
|
||||
//状态查询应答
|
||||
if (statusQueryRespMessage == null) {
|
||||
statusQueryRespMessage = new StatusQueryRespMessage();
|
||||
}
|
||||
return statusQueryRespMessage;
|
||||
} else {
|
||||
//MessageType.TYPE_DEFAULT.typeCode
|
||||
return null;
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.zhidao.support.adas.high.msg;
|
||||
|
||||
import com.google.protobuf.InvalidProtocolBufferException;
|
||||
import com.zhidao.support.adas.high.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.protocol.RawData;
|
||||
|
||||
import mogo.telematics.pad.MessagePad;
|
||||
import system_master.SystemStatusInfo;
|
||||
|
||||
/**
|
||||
* 状态查询应答
|
||||
*/
|
||||
public class StatusQueryRespMessage extends MyAbstractMessageHandler {
|
||||
|
||||
@Override
|
||||
public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException {
|
||||
SystemStatusInfo.StatusInfo statusInfo= SystemStatusInfo.StatusInfo.parser().parseFrom(raw.originalData.toByteArray(), raw.getOffsetValue(), raw.getPackageLengthValue() - raw.getOffsetValue());
|
||||
if (adasListener != null) {
|
||||
adasListener.onStatusQueryResp(raw.getHeader(), statusInfo);
|
||||
}
|
||||
// CupidLogUtils.e("状态查询应答--->" + statusInfo.toString());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user