[add]添加新接口 工控机发送感知红绿灯

This commit is contained in:
xinfengkun
2022-03-30 15:13:35 +08:00
parent b0aa0d6556
commit b86df0a49f
12 changed files with 161 additions and 5 deletions

View File

@@ -0,0 +1,22 @@
package com.zhidao.adas.client.bean;
import com.google.protobuf.TextFormat;
import mogo.telematics.pad.MessagePad;
import perception.TrafficLightOuterClass;
public class PerceptionTrafficLight extends Base {
public final TrafficLightOuterClass.TrafficLights bean;
public PerceptionTrafficLight(MessagePad.Header header, TrafficLightOuterClass.TrafficLights bean) {
super(bean.getSerializedSize(), header);
this.bean = bean;
}
@Override
public String toString() {
return super.toString() + TextFormat.printer().escapingNonAscii(false).printToString(bean);
}
}

View File

@@ -21,6 +21,7 @@ import com.zhidao.adas.client.bean.ErrorData;
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.PerceptionTrafficLight;
import com.zhidao.adas.client.bean.RecordPanel;
import com.zhidao.adas.client.bean.TrackedObjects;
import com.zhidao.adas.client.bean.Trajectory;
@@ -271,7 +272,14 @@ public class InfoFragment extends Fragment {
}
}
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void onPerceptionTrafficLightEvent(PerceptionTrafficLight info) {
EventBus.getDefault().removeStickyEvent(info);
if (title.equals(MainActivity.TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT)) {
data.add(info.toString());
adapter.notifyDataSetChanged();
}
}
@Override
public void onDestroyView() {
super.onDestroyView();

View File

@@ -52,6 +52,7 @@ import com.zhidao.adas.client.bean.ErrorData;
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.PerceptionTrafficLight;
import com.zhidao.adas.client.bean.RecordPanel;
import com.zhidao.adas.client.bean.TrackedObjects;
import com.zhidao.adas.client.bean.Trajectory;
@@ -86,6 +87,7 @@ import chassis.VehicleStateOuterClass;
import io.netty.channel.Channel;
import mogo.telematics.pad.MessagePad;
import mogo_msg.MogoReportMsg;
import perception.TrafficLightOuterClass;
import record_cache.RecordPanelOuterClass;
public class MainActivity extends BaseActivity implements OnAdasListener, OnAdasConnectStatusListener, BaseAdapter.OnItemClickListener<String> {
@@ -127,6 +129,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
private InfoFragment badcseFragment;
private InfoFragment errorFragment;
private InfoFragment reportMessageFragment;
private InfoFragment perceptionTrafficLightFragment;
private VersionFragment versionFragment;
private FragmentManager manager;
private FragmentTransaction transaction;
@@ -144,6 +147,8 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
String RECEIVE_VEHICLE_STATE = "底盘信息";
String RECEIVE_AUTOPILOT_STATE = "自动驾驶状态";
String RECEIVE_REPORT_MESSAGE = "监控事件";
String RECEIVE_PERCEPTION_TRAFFIC_LIGHT = "感知红绿灯";
// String RECEIVE_BASIC_INFO_REQ = "自动驾驶设备基础信息请求";
String RECEIVE_CAR_CONFIG_RESP = "信息与配置";
String RECEIVE_RECORD_RESULT = "数据采集结果";
@@ -332,6 +337,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
titleFragmentData.add(TITLE.RECEIVE_VEHICLE_STATE);
titleFragmentData.add(TITLE.RECEIVE_AUTOPILOT_STATE);
titleFragmentData.add(TITLE.RECEIVE_REPORT_MESSAGE);
titleFragmentData.add(TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT);
titleFragmentData.add(TITLE.RECEIVE_CAR_CONFIG_RESP);
titleFragmentData.add(TITLE.RECEIVE_RECORD_RESULT);
titleFragmentData.add(TITLE.RECEIVE_GLOBAL_PATH_RESP);
@@ -481,6 +487,14 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
transaction.commit();
}
break;
case TITLE.RECEIVE_PERCEPTION_TRAFFIC_LIGHT:
if (perceptionTrafficLightFragment == null)
perceptionTrafficLightFragment = new InfoFragment(data);
if (!perceptionTrafficLightFragment.isVisible()) {
transaction.replace(R.id.fl_info, perceptionTrafficLightFragment);
transaction.commit();
}
break;
case TITLE.RECEIVE_CAR_CONFIG_RESP:
AdasManager.getInstance().sendCarConfigReq();
if (versionFragment == null)
@@ -618,6 +632,11 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
EventBus.getDefault().postSticky(new MogoReportMessage(header, mogoReportMessage));
}
@Override
public void onPerceptionTrafficLight(MessagePad.Header header, TrafficLightOuterClass.TrafficLights trafficLights) {
EventBus.getDefault().postSticky(new PerceptionTrafficLight(header, trafficLights));
}
@Override
public void onBasicInfoReq(MessagePad.Header header, MessagePad.BasicInfoReq basicInfoReq) {
BasicInfoReq info = new BasicInfoReq(header, basicInfoReq);