Merge remote-tracking branch 'origin/dev_arch_opt_3.0' into dev_arch_opt_3.0

This commit is contained in:
donghongyu
2023-01-29 15:44:40 +08:00
11 changed files with 111 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ import com.zhidao.adas.client.bean.FSMFunctionStates;
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.ObuWarningData;
import com.zhidao.adas.client.bean.OriginalPointCloudData;
import com.zhidao.adas.client.bean.PerceptionTrafficLight;
import com.zhidao.adas.client.bean.PlanningDecisionState;
@@ -126,6 +127,7 @@ public class DataDistribution {
public final List<DataShow> listFSMFunctionStates = new ArrayList<>();
public final List<DataShow> listRoboSweeperTaskIndex = new ArrayList<>();
public final List<DataShow> listBagManagerCmd = new ArrayList<>();
public final List<DataShow> listObuWarningData = new ArrayList<>();
private long listTrajectorySize = 0;
private long listTrackedObjectsSize = 0;
@@ -149,6 +151,7 @@ public class DataDistribution {
private long listFSMFunctionStatesSize = 0;
private long listRoboSweeperTaskIndexSize = 0;
private long listBagManagerCmdSize = 0;
private long listObuWarningDataSize = 0;
public String cutDown(String str) {
if (isCutDown && str.length() > 650) {
@@ -200,6 +203,14 @@ public class DataDistribution {
if (listener != null && Constants.TITLE.RECEIVE_PLANNING_DECISION_STATE.equals(listener.first)) {
listener.second.onRefresh();
}
} else if (data instanceof ObuWarningData) {
listObuWarningData.add(0, new DataShow(listObuWarningDataSize++, time + str));
if (listObuWarningData.size() > LIST_SIZE) {
listObuWarningData.remove(listObuWarningData.size() - 1);
}
if (listener != null && Constants.TITLE.RECEIVE_OBU_WARNING_DATA.equals(listener.first)) {
listener.second.onRefresh();
}
} else if (data instanceof GnssInfo) {
listGnssInfo.add(0, new DataShow(listGnssInfoSize++, time + str));
if (listGnssInfo.size() > LIST_SIZE) {

View File

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

View File

@@ -134,6 +134,8 @@ public class InfoFragment extends BaseFragment {
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_OBU_WARNING_DATA.equals(title)) {
adapter.setData(DataDistribution.getInstance().listObuWarningData);
} else if (Constants.TITLE.RECEIVE_RECORD_DATA_CONFIG_RESP.equals(title)) {
adapter.setData(DataDistribution.getInstance().listRecordDataConfig);
} else if (Constants.TITLE.RECEIVE_GLOBAL_PATH_RESP.equals(title)) {

View File

@@ -67,6 +67,7 @@ import com.zhidao.adas.client.bean.GlobalPathResp;
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.ObuWarningData;
import com.zhidao.adas.client.bean.OriginalPointCloudData;
import com.zhidao.adas.client.bean.PerceptionTrafficLight;
import com.zhidao.adas.client.bean.PlanningDecisionState;
@@ -123,6 +124,7 @@ import chassis.VehicleStateOuterClass;
import function_state_management.FunctionStates;
import io.netty.channel.Channel;
import mogo.telematics.pad.MessagePad;
import mogo.v2x.ObuWarningEvent;
import mogo_msg.MogoReportMsg;
import perception.TrafficLightOuterClass;
import planning.RoboSweeperTaskIndexOuterClass;
@@ -653,6 +655,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
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_OBU_WARNING_DATA);
titleFragmentData.add(Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA);
titleFragmentData.add(Constants.TITLE.RECEIVE_WARN);
titleFragmentData.add(Constants.TITLE.RECEIVE_ERROR);
@@ -1036,6 +1039,12 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
DataDistribution.getInstance().addData(base);
}
@Override
public void onObuWarningData(MessagePad.Header header, ObuWarningEvent.ObuWarningData obuWarningData) {
ObuWarningData base = new ObuWarningData(header, obuWarningData, sdf);
DataDistribution.getInstance().addData(base);
}
@Override
public void onFunctionStates(MessagePad.Header header, FunctionStates.FSMFunctionStates functionStates) {
FSMFunctionStates base = new FSMFunctionStates(header, functionStates, sdf);

View File

@@ -172,6 +172,7 @@ public class Constants {
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_OBU_WARNING_DATA = MessageType.TYPE_RECEIVE_OBU_WARNING_DATA.desc;
String RECEIVE_ERROR = "错误数据";

View File

@@ -69,6 +69,7 @@ import chassis.ChassisStatesOuterClass;
import chassis.VehicleStateOuterClass;
import function_state_management.FunctionStates;
import mogo.telematics.pad.MessagePad;
import mogo.v2x.ObuWarningEvent;
import mogo_msg.MogoReportMsg;
import perception.TrafficLightOuterClass;
import planning.RoboSweeperTaskIndexOuterClass;
@@ -545,6 +546,11 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
}
@Override
public void onObuWarningData(MessagePad.Header header, ObuWarningEvent.ObuWarningData obuWarningData) {
}
@Override
public void onFunctionStates(MessagePad.Header header, FunctionStates.FSMFunctionStates functionStates) {

View File

@@ -64,6 +64,7 @@ import com.zhjt.service.chain.TracingConstants.Endpoint.Companion.PAD
import function_state_management.FunctionStates
import mogo.telematics.pad.MessagePad
import mogo.telematics.pad.MessagePad.TrackedObject
import mogo.v2x.ObuWarningEvent
import mogo_msg.MogoReportMsg
import perception.TrafficLightOuterClass
import planning.RoboSweeperTaskIndexOuterClass
@@ -525,6 +526,15 @@ class MoGoAdasListenerImpl : OnAdasListener {
}
}
/**
* OBU预警事件
*
* @param header 头
* @param obuWarningData 数据
*/
override fun onObuWarningData(header: MessagePad.Header?, obuWarningData: ObuWarningEvent.ObuWarningData?) {
}
/**
* 重构后的功能状态
*

View File

@@ -9,6 +9,7 @@ import chassis.ChassisStatesOuterClass;
import chassis.VehicleStateOuterClass;
import function_state_management.FunctionStates;
import mogo.telematics.pad.MessagePad;
import mogo.v2x.ObuWarningEvent;
import mogo_msg.MogoReportMsg;
import perception.TrafficLightOuterClass;
import planning.RoboSweeperTaskIndexOuterClass;
@@ -194,6 +195,14 @@ public interface OnAdasListener {
*/
void onPlanningActionMsg(MessagePad.Header header, MessagePad.PlanningActionMsg planningActionMsg);
/**
* OBU预警事件
*
* @param header 头
* @param obuWarningData 数据
*/
void onObuWarningData(MessagePad.Header header, ObuWarningEvent.ObuWarningData obuWarningData);
/**
* 重构后的功能状态
*

View File

@@ -61,6 +61,7 @@ public enum MessageType {
//TODO 透传原始pb文件中不存在以下type。由于Java中无法强转,所以在mogo-adas-data/message_pad.proto中放开注释
TYPE_RECEIVE_PLANNING_DECISION_STATE(MessagePad.MessageType.MsgTypePlanningDecisionState, "Planning决策状态"),
TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA(MessagePad.MessageType.MsgTypeSweeperTaskIndexData, "清扫车指标数据"),
TYPE_RECEIVE_OBU_WARNING_DATA(MessagePad.MessageType.MsgTypeObuWarningData, "OBU预警事件"),
;

View File

@@ -32,6 +32,7 @@ public class MyMessageFactory implements IMyMessageFactory {
private IMsg statusQueryRespMessage;//状态查询应答
private IMsg recordDataConfigRespMessage;//数据采集配置应答
private IMsg planningDecisionStateMessage;//planning决策状态
private IMsg obuWarningDataMessage;//工控机透传OBU V2I数据
private IMsg functionStatesMessage;//重构后的功能状态
private IMsg sweeperTaskIndexDataMessage;//清扫车指标数据
private IMsg bagManagerMessage;//Bag管理应答
@@ -158,6 +159,12 @@ public class MyMessageFactory implements IMyMessageFactory {
planningDecisionStateMessage = new PlanningDecisionStateMessage();
}
return planningDecisionStateMessage;
} else if (messageType == MessageType.TYPE_RECEIVE_OBU_WARNING_DATA.typeCode) {
//OBU预警事件
if (obuWarningDataMessage == null) {
obuWarningDataMessage = new ObuWarningDataMessage();
}
return obuWarningDataMessage;
} else if (messageType == MessageType.TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA.typeCode) {
//清扫车指标数据
if (sweeperTaskIndexDataMessage == null) {

View File

@@ -0,0 +1,31 @@
package com.zhidao.support.adas.high.msg;
import android.os.SystemClock;
import com.google.protobuf.InvalidProtocolBufferException;
import com.zhidao.support.adas.high.AdasChannel;
import com.zhidao.support.adas.high.OnAdasListener;
import com.zhidao.support.adas.high.common.CupidLogUtils;
import com.zhidao.support.adas.high.protocol.RawData;
import mogo.v2x.ObuWarningEvent;
/**
* OBU预警事件
*/
public class ObuWarningDataMessage extends MyAbstractMessageHandler {
@Override
public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException {
ObuWarningEvent.ObuWarningData obuWarningData = ObuWarningEvent.ObuWarningData.parser().parseFrom(raw.originalData.toByteArray(), raw.getOffsetValue(), raw.getPackageLengthValue() - raw.getOffsetValue());
AdasChannel.calculateTimeConsumingOnDispatchRaw("OBU预警事件", raw.receiveTime);
long nowTime = 0;
if (CupidLogUtils.isEnableLog())
nowTime = SystemClock.elapsedRealtime();
if (adasListener != null) {
adasListener.onObuWarningData(raw.getHeader(), obuWarningData);
}
AdasChannel.calculateTimeConsumingBusiness("OBU预警事件", nowTime);
}
}