[pb9][v2i透传] 工控机透传OBU V2I数据接口
This commit is contained in:
@@ -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);
|
||||
|
||||
/**
|
||||
* 重构后的功能状态
|
||||
*
|
||||
|
||||
@@ -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预警事件"),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user