[pb12][清扫车指标数据]添加清扫车指标数据,以及移除老底盘回调,添加int字段用于判断新老底盘来源

This commit is contained in:
xinfengkun
2023-01-10 14:44:35 +08:00
parent bd31ae6f35
commit c9450f6367
16 changed files with 168 additions and 56 deletions

View File

@@ -20,10 +20,10 @@ import com.zhidao.adas.client.bean.PlanningObjects;
import com.zhidao.adas.client.bean.PredictionObstacleTrajectory;
import com.zhidao.adas.client.bean.RecordDataConfig;
import com.zhidao.adas.client.bean.RecordPanel;
import com.zhidao.adas.client.bean.RoboSweeperTaskIndex;
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;
import com.zhidao.adas.client.bean.Warn;
import com.zhidao.adas.client.log.LogSave;
import com.zhidao.adas.client.utils.Constants;
@@ -104,7 +104,6 @@ public class DataDistribution {
public final List<String> listTrajectory = new ArrayList<>();
public final List<String> listTrackedObjects = new ArrayList<>();
public final List<String> listGnssInfo = new ArrayList<>();
public final List<String> listVehicleState = new ArrayList<>();
public final List<String> listAutopilotState = new ArrayList<>();
public final List<String> listMogoReportMessage = new ArrayList<>();
public final List<String> listPerceptionTrafficLight = new ArrayList<>();
@@ -121,6 +120,7 @@ public class DataDistribution {
public final List<String> listPlanningDecisionState = new ArrayList<>();
public final List<String> listChassisStates = new ArrayList<>();
public final List<String> listFSMFunctionStates = new ArrayList<>();
public final List<String> listRoboSweeperTaskIndex = new ArrayList<>();
public String cutDown(String str) {
if (isCutDown && str.length() > 650) {
@@ -180,14 +180,6 @@ public class DataDistribution {
if (listener != null && Constants.TITLE.RECEIVE_GNSS_INFO.equals(listener.first)) {
listener.second.onRefresh();
}
} else if (data instanceof VehicleState) {
listVehicleState.add(0, time + str);
if (listVehicleState.size() > LIST_SIZE) {
listVehicleState.remove(listVehicleState.size() - 1);
}
if (listener != null && Constants.TITLE.RECEIVE_VEHICLE_STATE.equals(listener.first)) {
listener.second.onRefresh();
}
} else if (data instanceof ChassisStates) {
listChassisStates.add(0, time + str);
if (listChassisStates.size() > LIST_SIZE) {
@@ -282,6 +274,14 @@ public class DataDistribution {
if (listener != null && Constants.TITLE.RECEIVE_RECORD_DATA_CONFIG_RESP.equals(listener.first)) {
listener.second.onRefresh();
}
} else if (data instanceof RoboSweeperTaskIndex) {
listRoboSweeperTaskIndex.add(0, time + str);
if (listRoboSweeperTaskIndex.size() > LIST_SIZE) {
listRoboSweeperTaskIndex.remove(listRoboSweeperTaskIndex.size() - 1);
}
if (listener != null && Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA.equals(listener.first)) {
listener.second.onRefresh();
}
} else if (data instanceof FSMFunctionStates) {
listFSMFunctionStates.add(0, time + str);
if (listFSMFunctionStates.size() > LIST_SIZE) {

View File

@@ -4,19 +4,21 @@ import com.google.protobuf.TextFormat;
import java.text.SimpleDateFormat;
import chassis.VehicleStateOuterClass;
import mogo.telematics.pad.MessagePad;
import planning.RoboSweeperTaskIndexOuterClass;
public class VehicleState extends BaseInfo {
public final VehicleStateOuterClass.VehicleState bean;
public class RoboSweeperTaskIndex extends BaseInfo {
public final RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex bean;
public VehicleState(MessagePad.Header header, VehicleStateOuterClass.VehicleState bean, SimpleDateFormat sdf) {
public RoboSweeperTaskIndex(MessagePad.Header header, RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex 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

@@ -2,6 +2,7 @@ package com.zhidao.adas.client.ui;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
@@ -30,6 +31,7 @@ public class InfoFragment extends BaseFragment {
private DataShowAdapter adapter;
private TextView tvTitle;
private String subTitle;
public InfoFragment() {
}
@@ -55,11 +57,24 @@ public class InfoFragment extends BaseFragment {
private View layout_update;
public void setTitle(String title) {
if (tvTitle != null) {
tvTitle.setText(title);
} else {
subTitle = title;
}
}
private void initView(View view) {
tvTitle = view.findViewById(R.id.tv_title);
RecyclerView rvInfo = view.findViewById(R.id.rv_info);
layout_update = view.findViewById(R.id.layout_update);
tvTitle.setText(title);
if (TextUtils.isEmpty(subTitle)) {
tvTitle.setText(title);
} else {
tvTitle.setText(subTitle);
subTitle = null;
}
tvTitle.setGravity(Gravity.CENTER);
//创建默认的线性LayoutManager 横向的GridLayoutManager
MyLinearLayoutManager linearLayoutManager = new MyLinearLayoutManager(this.getContext());
@@ -103,8 +118,6 @@ public class InfoFragment extends BaseFragment {
private void setData() {
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_CHASSIS_STATES.equals(title)) {
adapter.setData(DataDistribution.getInstance().listChassisStates);
} else if (Constants.TITLE.RECEIVE_TRACKED_OBJECTS.equals(title)) {
@@ -139,6 +152,8 @@ public class InfoFragment extends BaseFragment {
adapter.setData(DataDistribution.getInstance().listPlanningDecisionState);
} else if (Constants.TITLE.RECEIVE_FUNCTION_STATES.equals(title)) {
adapter.setData(DataDistribution.getInstance().listFSMFunctionStates);
} else if (Constants.TITLE.RECEIVE_SWEEPER_TASK_INDEX_DATA.equals(title)) {
adapter.setData(DataDistribution.getInstance().listRoboSweeperTaskIndex);
} else {
adapter.setData(DataDistribution.getInstance().listErrorData);
}

View File

@@ -73,11 +73,11 @@ import com.zhidao.adas.client.bean.PlanningObjects;
import com.zhidao.adas.client.bean.PredictionObstacleTrajectory;
import com.zhidao.adas.client.bean.RecordDataConfig;
import com.zhidao.adas.client.bean.RecordPanel;
import com.zhidao.adas.client.bean.RoboSweeperTaskIndex;
import com.zhidao.adas.client.bean.SpecialVehicleBean;
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;
import com.zhidao.adas.client.bean.Warn;
import com.zhidao.adas.client.log.ConnectStatusSave;
import com.zhidao.adas.client.log.LogSave;
@@ -116,12 +116,12 @@ import java.util.concurrent.ScheduledExecutorService;
import chassis.Chassis;
import chassis.ChassisStatesOuterClass;
import chassis.VehicleStateOuterClass;
import function_state_management.FunctionStates;
import io.netty.channel.Channel;
import mogo.telematics.pad.MessagePad;
import mogo_msg.MogoReportMsg;
import perception.TrafficLightOuterClass;
import planning.RoboSweeperTaskIndexOuterClass;
import prediction.Prediction;
import record_cache.RecordPanelOuterClass;
import system_master.SystemStatusInfo;
@@ -632,7 +632,6 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
titleFragmentData.add(Constants.TITLE.RECEIVE_GNSS_INFO);
titleFragmentData.add(Constants.TITLE.RECEIVE_TRAJECTORY);
titleFragmentData.add(Constants.TITLE.RECEIVE_TRACKED_OBJECTS);
titleFragmentData.add(Constants.TITLE.RECEIVE_VEHICLE_STATE);
titleFragmentData.add(Constants.TITLE.RECEIVE_CHASSIS_STATES);
titleFragmentData.add(Constants.TITLE.RECEIVE_AUTOPILOT_STATE);
titleFragmentData.add(Constants.TITLE.RECEIVE_FUNCTION_STATES);
@@ -648,6 +647,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_SWEEPER_TASK_INDEX_DATA);
titleFragmentData.add(Constants.TITLE.RECEIVE_WARN);
titleFragmentData.add(Constants.TITLE.RECEIVE_ERROR);
@@ -895,11 +895,6 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
DataDistribution.getInstance().addData(base);
}
@Override
public void onVehicleState(MessagePad.Header header, VehicleStateOuterClass.VehicleState vehicleState) {
VehicleState base = new VehicleState(header, vehicleState, sdf);
DataDistribution.getInstance().addData(base);
}
@Override
public void onChassisStates(MessagePad.Header header, ChassisStatesOuterClass.ChassisStates chassisStates) {
@@ -1034,6 +1029,12 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
DataDistribution.getInstance().addData(base);
}
@Override
public void onSweeperTaskIndexData(MessagePad.Header header, RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex roboSweeperTaskIndex) {
RoboSweeperTaskIndex base = new RoboSweeperTaskIndex(header, roboSweeperTaskIndex, sdf);
DataDistribution.getInstance().addData(base);
}
private void initAdas() {
CupidLogUtils.e(TAG, "--->初始化");
@@ -1224,6 +1225,18 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
}
if (Constants.TITLE.RECEIVE_CAR_CONFIG_RESP.equals(title)) {
AdasManager.getInstance().sendCarConfigReq();
} else if (Constants.TITLE.RECEIVE_CHASSIS_STATES.equals(title)) {
InfoFragment fragment = (InfoFragment) to;
int type = AdasManager.getInstance().getUsedChassisType();
String source;
if (type == com.zhidao.support.adas.high.common.Constants.CHASSIS_TYPE.NEW_CHASSIS) {
source = "ChassisStates";
} else if (type == com.zhidao.support.adas.high.common.Constants.CHASSIS_TYPE.OLD_CHASSIS) {
source = "VehicleState";
} else {
source = "Unknown";
}
fragment.setTitle(Constants.TITLE.RECEIVE_CHASSIS_STATES + "\t来源" + source);
}
fromFragment = to;
}

View File

@@ -150,7 +150,6 @@ public class Constants {
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_CHASSIS_STATES = MessageType.TYPE_RECEIVE_CHASSIS_STATES.desc;
String RECEIVE_AUTOPILOT_STATE = MessageType.TYPE_RECEIVE_AUTOPILOT_STATE.desc;
String RECEIVE_FUNCTION_STATES = MessageType.TYPE_RECEIVE_FUNCTION_STATES.desc;
@@ -160,6 +159,7 @@ public class Constants {
String RECEIVE_POINT_CLOUD_ORIGINAL = MessageType.TYPE_RECEIVE_POINT_CLOUD.desc;
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_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配置";

View File

@@ -64,13 +64,13 @@ import java.util.Locale;
import java.util.Timer;
import java.util.TimerTask;
import chassis.VehicleStateOuterClass;
import chassis.ChassisStatesOuterClass;
import function_state_management.FunctionStates;
import mogo.telematics.pad.MessagePad;
import mogo_msg.MogoReportMsg;
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<TitleBean> {
@@ -468,7 +468,8 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
}
@Override
public void onVehicleState(MessagePad.Header header, VehicleStateOuterClass.VehicleState vehicleState) {
public void onChassisStates(MessagePad.Header header, ChassisStatesOuterClass.ChassisStates chassisStates) {
}
@Override
@@ -488,8 +489,6 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
}
@Override
public void onPointCloud(byte[] pointCloud) {
}
@@ -538,6 +537,11 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
}
@Override
public void onFunctionStates(MessagePad.Header header, FunctionStates.FSMFunctionStates functionStates) {
}
private void initAdas() {
CupidLogUtils.e(TAG, "--->初始化");

View File

@@ -66,6 +66,7 @@ import mogo.telematics.pad.MessagePad
import mogo.telematics.pad.MessagePad.TrackedObject
import mogo_msg.MogoReportMsg
import perception.TrafficLightOuterClass
import planning.RoboSweeperTaskIndexOuterClass
import prediction.Prediction
import record_cache.RecordPanelOuterClass
import system_master.SystemStatusInfo
@@ -144,20 +145,11 @@ class MoGoAdasListenerImpl : OnAdasListener {
}
/**
* 底盘
* TODO 老地盘数据会转发到新地盘
* TODO 鹰眼不要用此接口展示页面相关可以用来记录链路日志
* 底盘数据
*
* @param header 头
* @param vehicleState 数据
*/
override fun onVehicleState(
header: MessagePad.Header,
vehicleState: VehicleStateOuterClass.VehicleState?
) {
}
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE,
linkCode = CHAIN_LINK_ADAS,
@@ -478,6 +470,15 @@ class MoGoAdasListenerImpl : OnAdasListener {
*/
override fun onFunctionStates(header: MessagePad.Header?, functionStates: FunctionStates.FSMFunctionStates?) {
}
/**
* 清扫车指标数据
*
* @param header 头
* @param roboSweeperTaskIndex 数据
*/
override fun onSweeperTaskIndexData(header: MessagePad.Header?, roboSweeperTaskIndex: RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex?) {
}

View File

@@ -81,7 +81,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
private final Map<MessagePad.MessageType, DispatchHandler> dispatchHandlers = new HashMap<>();//其他分发线程
private Timer checkCompatibilityTimer;//检查版本兼容性定时器 连接成功后5秒内等待工控机发送配置信息
private int seqSpecialVehicle = 0;//特种车辆命令发送次数
private int usedChassisType = Constants.CHASSIS_TYPE.UNKNOWN;//使用的底盘类型 新老
/**
* 与工控机链接状态
*/
@@ -288,6 +288,11 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
return ipcConnectedPort;
}
@Override
public int getUsedChassisType() {
return usedChassisType;
}
/**
* 发送ws消息
*
@@ -362,13 +367,21 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
if (!adasOptions.isClient())
ReceiveTimeoutManager.getInstance().refreshLast(header.getTimestamp());
// CupidLogUtils.w("--->websocket byte read header = " + messageType.toString());
DispatchHandler handler = dispatchHandlers.get(header.getMsgType());
MessagePad.MessageType messageType = header.getMsgType();
DispatchHandler handler = dispatchHandlers.get(messageType);
if (handler != null) {
handler.sendRawMessage(raw);
} else {
if (defaultDispatchHandler != null)
defaultDispatchHandler.sendRawMessage(raw);
}
if (messageType == MessagePad.MessageType.MsgTypeVehicleState) {
//老底盘接口
usedChassisType = Constants.CHASSIS_TYPE.OLD_CHASSIS;
} else if (messageType == MessagePad.MessageType.MsgTypeChassisStates) {
//新底盘接口
usedChassisType = Constants.CHASSIS_TYPE.NEW_CHASSIS;
}
} else {
callError(raw.getProtocolStatus(), byteString.toByteArray());
}
@@ -514,6 +527,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
ipcConnectedIp = null;
ipcConnectedPort = Constants.DEFAULT_PORT;
subscribeInterface = null;
usedChassisType = Constants.CHASSIS_TYPE.UNKNOWN;
updateConnectStatus(Constants.IPC_CONNECTION_STATUS.DISCONNECTED, t);
}

View File

@@ -257,6 +257,16 @@ public class AdasManager implements IAdasNetCommApi {
return mChannel == null ? Constants.DEFAULT_PORT : mChannel.getIpcConnectedPort();
}
/**
* 获取使用底盘的类型
*
* @return {@link Constants.CHASSIS_TYPE}
*/
@Override
public int getUsedChassisType() {
return mChannel == null ? Constants.CHASSIS_TYPE.UNKNOWN : mChannel.getUsedChassisType();
}
/**
* 自动驾驶设备基础信息应答
*

View File

@@ -59,6 +59,13 @@ public interface IAdasNetCommApi {
*/
int getIpcConnectedPort();
/**
* 获取使用底盘的类型
*
* @return {@link Constants.CHASSIS_TYPE}
*/
int getUsedChassisType();
/**
* 自动驾驶设备基础信息应答
*

View File

@@ -5,11 +5,11 @@ import com.zhidao.support.adas.high.bean.AutopilotStatistics;
import com.zhidao.support.adas.high.common.ProtocolStatus;
import chassis.ChassisStatesOuterClass;
import chassis.VehicleStateOuterClass;
import function_state_management.FunctionStates;
import mogo.telematics.pad.MessagePad;
import mogo_msg.MogoReportMsg;
import perception.TrafficLightOuterClass;
import planning.RoboSweeperTaskIndexOuterClass;
import prediction.Prediction;
import record_cache.RecordPanelOuterClass;
import system_master.SystemStatusInfo;
@@ -52,16 +52,6 @@ public interface OnAdasListener {
*/
void onGnssInfo(MessagePad.Header header, MessagePad.GnssInfo gnssInfo);
/**
* 老底盘信息,透传底盘状态pb参考底盘
* TODO 老地盘数据会转发到新地盘
* TODO 鹰眼不要用此接口展示页面相关,可以用来记录链路日志
* TODO 后期可能会优化掉
*
* @param header 头
* @param vehicleState 数据
*/
void onVehicleState(MessagePad.Header header, VehicleStateOuterClass.VehicleState vehicleState);
/**
* 底盘状态
@@ -201,6 +191,14 @@ public interface OnAdasListener {
*/
void onFunctionStates(MessagePad.Header header, FunctionStates.FSMFunctionStates functionStates);
/**
* 清扫车指标数据
*
* @param header 头
* @param roboSweeperTaskIndex 数据
*/
void onSweeperTaskIndexData(MessagePad.Header header, RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex roboSweeperTaskIndex);
/**
* 是否有能力启动自动驾驶
*

View File

@@ -132,4 +132,13 @@ public class Constants {
int TIMEOUT = 3;
}
/**
* 使用底盘数据类型
*/
public interface CHASSIS_TYPE {
int UNKNOWN = -1;//未知
int NEW_CHASSIS = 0;//新底盘
int OLD_CHASSIS = 1;//老底盘
}
}

View File

@@ -55,7 +55,9 @@ public enum MessageType {
TYPE_SEND_TRIP_INFO_REQ(MessagePad.MessageType.MsgTypeTripInfoEvent, "行程信息"),
TYPE_SEND_SPECIAL_VEHICLE_TASK_CMD(MessagePad.MessageType.MsgTypeSpecialVehicleTaskCmd, "特种车辆命令"),
//TODO 透传原始pb文件中不存在以下type。由于Java中无法强转,所以在mogo-adas-data/message_pad.proto中放开注释
TYPE_RECEIVE_PLANNING_DECISION_STATE(MessagePad.MessageType.MsgTypePlanningDecisionState, "Planning决策状态");
TYPE_RECEIVE_PLANNING_DECISION_STATE(MessagePad.MessageType.MsgTypePlanningDecisionState, "Planning决策状态"),
TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA(MessagePad.MessageType.MsgTypeSweeperTaskIndexData, "清扫车指标数据"),
;
/**

View File

@@ -33,6 +33,7 @@ public class MyMessageFactory implements IMyMessageFactory {
private IMsg recordDataConfigRespMessage;//数据采集配置应答
private IMsg planningDecisionStateMessage;//planning决策状态
private IMsg functionStatesMessage;//重构后的功能状态
private IMsg sweeperTaskIndexDataMessage;//清扫车指标数据
private final AutopilotReview autopilotReview;
@@ -156,6 +157,12 @@ public class MyMessageFactory implements IMyMessageFactory {
planningDecisionStateMessage = new PlanningDecisionStateMessage();
}
return planningDecisionStateMessage;
} else if (messageType == MessageType.TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA.typeCode) {
//清扫车指标数据
if (sweeperTaskIndexDataMessage == null) {
sweeperTaskIndexDataMessage = new SweeperTaskIndexDataMessage();
}
return sweeperTaskIndexDataMessage;
} else if (messageType == MessageType.TYPE_RECEIVE_FUNCTION_STATES.typeCode) {
//重构后的功能状态
if (functionStatesMessage == 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 planning.RoboSweeperTaskIndexOuterClass;
/**
* 清扫车指标数据
*/
public class SweeperTaskIndexDataMessage extends MyAbstractMessageHandler {
@Override
public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException {
RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex roboSweeperTaskIndex = RoboSweeperTaskIndexOuterClass.RoboSweeperTaskIndex.parser().parseFrom(raw.originalData.toByteArray(), raw.getOffsetValue(), raw.getPackageLengthValue() - raw.getOffsetValue());
AdasChannel.calculateTimeConsumingOnDispatchRaw("清扫车指标数据", raw.receiveTime);
long nowTime = 0;
if (CupidLogUtils.isEnableLog())
nowTime = SystemClock.elapsedRealtime();
if (adasListener != null) {
adasListener.onSweeperTaskIndexData(raw.getHeader(), roboSweeperTaskIndex);
}
AdasChannel.calculateTimeConsumingBusiness("清扫车指标数据", nowTime);
}
}

View File

@@ -29,7 +29,6 @@ public class VehicleStateMessage extends MyAbstractMessageHandler {
nowTime = SystemClock.elapsedRealtime();
if (adasListener != null) {
compatibility(adasListener, raw, vehicleState);
adasListener.onVehicleState(raw.getHeader(), vehicleState);
}
AdasChannel.calculateTimeConsumingBusiness("底盘信息", nowTime);
// CupidLogUtils.e("底盘信息--->" + vehicleState.toString());