[mogo-adas] 添加V2N 主车附近事件推送接口和主车路径全局事件推送接口
This commit is contained in:
@@ -115,6 +115,8 @@ public class DataDistribution {
|
||||
public final List<DataShow> listObuRsi = new ArrayList<>();
|
||||
public final List<DataShow> listObuRsm = new ArrayList<>();
|
||||
public final List<DataShow> listObuMap = new ArrayList<>();
|
||||
public final List<DataShow> listV2nCongestionEvent = new ArrayList<>();
|
||||
public final List<DataShow> listV2nGlobalPathEvents = new ArrayList<>();
|
||||
|
||||
private long listTrajectorySize = 0;
|
||||
private long listTrackedObjectsSize = 0;
|
||||
@@ -143,7 +145,8 @@ public class DataDistribution {
|
||||
private long listObuRsiSize = 0;
|
||||
private long listObuRsmSize = 0;
|
||||
private long listObuMapSize = 0;
|
||||
|
||||
private long listV2nCongestionEventSize = 0;
|
||||
private long listV2nGlobalPathEventsSize = 0;
|
||||
|
||||
public void clearCount() {
|
||||
listTrajectorySize = 1;
|
||||
@@ -173,6 +176,8 @@ public class DataDistribution {
|
||||
listObuRsiSize = 1;
|
||||
listObuRsmSize = 1;
|
||||
listObuMapSize = 1;
|
||||
listV2nCongestionEventSize = 1;
|
||||
listV2nGlobalPathEventsSize = 1;
|
||||
}
|
||||
|
||||
public String cutDown(String str) {
|
||||
@@ -369,6 +374,22 @@ public class DataDistribution {
|
||||
if (listener != null && Constants.TITLE.RECEIVE_BACK_CAMERA_VIDEO.equals(listener.first)) {
|
||||
listener.second.onRefresh();
|
||||
}
|
||||
} else if (messageType == MessagePad.MessageType.MsgTypeV2nCongestionEvent) {
|
||||
listV2nCongestionEvent.add(0, new DataShow(listV2nCongestionEventSize++, time + str));
|
||||
if (listV2nCongestionEvent.size() > LIST_SIZE) {
|
||||
listV2nCongestionEvent.remove(listV2nCongestionEvent.size() - 1);
|
||||
}
|
||||
if (listener != null && Constants.TITLE.RECEIVE_V2N_CONGESTION_EVENT.equals(listener.first)) {
|
||||
listener.second.onRefresh();
|
||||
}
|
||||
} else if (messageType == MessagePad.MessageType.MsgTypeV2nGlobalPathEvents) {
|
||||
listV2nGlobalPathEvents.add(0, new DataShow(listV2nGlobalPathEventsSize++, time + str));
|
||||
if (listV2nGlobalPathEvents.size() > LIST_SIZE) {
|
||||
listV2nGlobalPathEvents.remove(listV2nGlobalPathEvents.size() - 1);
|
||||
}
|
||||
if (listener != null && Constants.TITLE.RECEIVE_V2N_GLOBAL_PATH_EVENTS.equals(listener.first)) {
|
||||
listener.second.onRefresh();
|
||||
}
|
||||
} else if (data instanceof PerceptionTrafficLight) {
|
||||
listPerceptionTrafficLight.add(0, new DataShow(listPerceptionTrafficLightSize++, time + str));
|
||||
if (listPerceptionTrafficLight.size() > LIST_SIZE) {
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.zhidao.adas.client.bean;
|
||||
|
||||
import com.google.protobuf.TextFormat;
|
||||
import com.zhidao.support.adas.high.common.ByteUtil;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import mogo.telematics.pad.MessagePad;
|
||||
import mogo.v2x.MogoV2X;
|
||||
import mogo.v2x.RoadOverviewEvents;
|
||||
|
||||
public class V2nGlobalPathEventsReceiveData extends BaseInfo {
|
||||
public final RoadOverviewEvents.RoadOverviewData roadOverview;
|
||||
public final MogoV2X.RSI_PB construct;
|
||||
public final MogoV2X.RSI_PB triangle;
|
||||
public final MogoV2X.RSI_PB congestion;
|
||||
public final MogoV2X.RSM_PB parkingViolation;
|
||||
|
||||
public V2nGlobalPathEventsReceiveData(MessagePad.Header header, RoadOverviewEvents.RoadOverviewData roadOverview, MogoV2X.RSI_PB construct, MogoV2X.RSI_PB triangle, MogoV2X.RSI_PB congestion, MogoV2X.RSM_PB parkingViolation, SimpleDateFormat sdf) {
|
||||
super("接收", roadOverview.getSerializedSize(), header, sdf);
|
||||
this.roadOverview = roadOverview;
|
||||
this.construct = construct;
|
||||
this.triangle = triangle;
|
||||
this.congestion = congestion;
|
||||
this.parkingViolation = parkingViolation;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append('\n').append("施工:");
|
||||
if (construct != null) {
|
||||
builder.append(TextFormat.printer().escapingNonAscii(false).printToString(construct));
|
||||
} else {
|
||||
builder.append("null");
|
||||
}
|
||||
builder.append('\n').append("三角牌:");
|
||||
if (triangle != null) {
|
||||
builder.append(TextFormat.printer().escapingNonAscii(false).printToString(triangle));
|
||||
} else {
|
||||
builder.append("null");
|
||||
}
|
||||
builder.append('\n').append("拥堵:");
|
||||
if (congestion != null) {
|
||||
builder.append(TextFormat.printer().escapingNonAscii(false).printToString(congestion));
|
||||
} else {
|
||||
builder.append("null");
|
||||
}
|
||||
builder.append('\n').append("违停:");
|
||||
if (parkingViolation != null) {
|
||||
builder.append(TextFormat.printer().escapingNonAscii(false).printToString(parkingViolation));
|
||||
} else {
|
||||
builder.append("null");
|
||||
}
|
||||
return super.toString() + "Payload原始数据:" + ByteUtil.byteArrToHex(roadOverview.toByteArray()) + builder.toString();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -227,6 +227,10 @@ public class InfoFragment extends BaseFragment {
|
||||
adapter.setData(DataDistribution.getInstance().listBackCameraVideo);
|
||||
} else if (Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA.equals(title)) {
|
||||
adapter.setData(DataDistribution.getInstance().listRoboSweeperTaskIndex);
|
||||
} else if (Constants.TITLE.RECEIVE_V2N_CONGESTION_EVENT.equals(title)) {
|
||||
adapter.setData(DataDistribution.getInstance().listV2nCongestionEvent);
|
||||
} else if (Constants.TITLE.RECEIVE_V2N_GLOBAL_PATH_EVENTS.equals(title)) {
|
||||
adapter.setData(DataDistribution.getInstance().listV2nGlobalPathEvents);
|
||||
} else {
|
||||
adapter.setData(DataDistribution.getInstance().listErrorData);
|
||||
}
|
||||
|
||||
@@ -64,6 +64,7 @@ import com.zhidao.adas.client.bean.ReceiveBytesData;
|
||||
import com.zhidao.adas.client.bean.ReceiveData;
|
||||
import com.zhidao.adas.client.bean.SendCmd;
|
||||
import com.zhidao.adas.client.bean.SpecialVehicleBean;
|
||||
import com.zhidao.adas.client.bean.V2nGlobalPathEventsReceiveData;
|
||||
import com.zhidao.adas.client.log.ConnectStatusSave;
|
||||
import com.zhidao.adas.client.log.LogSave;
|
||||
import com.zhidao.adas.client.other.permission.BackgrounderPermission;
|
||||
@@ -85,6 +86,7 @@ import com.zhidao.support.adas.high.common.RegexUtils;
|
||||
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.net.Inet4Address;
|
||||
import java.net.InetAddress;
|
||||
@@ -104,6 +106,8 @@ import chassis.ChassisStatesOuterClass;
|
||||
import chassis.VehicleStateOuterClass;
|
||||
import function_state_management.FunctionStates;
|
||||
import mogo.telematics.pad.MessagePad;
|
||||
import mogo.v2x.MogoV2X;
|
||||
import mogo.v2x.RoadOverviewEvents;
|
||||
import mogo_msg.MogoReportMsg;
|
||||
import perception.TrafficLightOuterClass;
|
||||
import planning.RoboSweeperTaskIndexOuterClass;
|
||||
@@ -711,6 +715,8 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
|
||||
titleFragmentData.add(Constants.TITLE.RECEIVE_OBU_MAP);
|
||||
titleFragmentData.add(Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA);
|
||||
titleFragmentData.add(Constants.TITLE.RECEIVE_BACK_CAMERA_VIDEO);
|
||||
titleFragmentData.add(Constants.TITLE.RECEIVE_V2N_CONGESTION_EVENT);
|
||||
titleFragmentData.add(Constants.TITLE.RECEIVE_V2N_GLOBAL_PATH_EVENTS);
|
||||
titleFragmentData.add(Constants.TITLE.RECEIVE_WARN);
|
||||
titleFragmentData.add(Constants.TITLE.RECEIVE_ERROR);
|
||||
|
||||
@@ -1137,6 +1143,18 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
|
||||
DataDistribution.getInstance().addData(base);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onV2nCongestionEvent(@NotNull MessagePad.Header header, @NotNull MogoV2X.RSI_PB rsi) {
|
||||
ReceiveData base = new ReceiveData(header, rsi, sdf);
|
||||
DataDistribution.getInstance().addData(base);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onV2nGlobalPathEvents(@NotNull MessagePad.Header header, @NotNull RoadOverviewEvents.RoadOverviewData roadOverview, @Nullable MogoV2X.RSI_PB construct, @Nullable MogoV2X.RSI_PB triangle, @Nullable MogoV2X.RSI_PB congestion, @Nullable MogoV2X.RSM_PB parkingViolation) {
|
||||
V2nGlobalPathEventsReceiveData base = new V2nGlobalPathEventsReceiveData(header, roadOverview, construct, triangle, congestion, parkingViolation, sdf);
|
||||
DataDistribution.getInstance().addData(base);
|
||||
}
|
||||
|
||||
private void initAdas() {
|
||||
CupidLogUtils.e(TAG, "--->初始化");
|
||||
AdasOptions options;
|
||||
|
||||
@@ -162,6 +162,8 @@ public class Constants {
|
||||
String RECEIVE_PLANNING_OBJECTS = MessageType.TYPE_RECEIVE_PLANNING_OBJECTS.desc;
|
||||
String RECEIVE_PLANNING_DECISION_STATE = MessageType.TYPE_RECEIVE_PLANNING_DECISION_STATE.desc;
|
||||
String RECEIVE_SWEEPER_TASK_INDEX_DATA = MessageType.TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA.desc;
|
||||
String RECEIVE_V2N_CONGESTION_EVENT = MessageType.TYPE_RECEIVE_V2N_CONGESTION_EVENT.desc;
|
||||
String RECEIVE_V2N_GLOBAL_PATH_EVENTS = MessageType.TYPE_RECEIVE_V2N_GLOBAL_PATH_EVENTS.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\t\t\t配置";
|
||||
|
||||
Reference in New Issue
Block a user