From 4a8b2cc330e42737737e6bfcbe054fc48f87c0cb Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Thu, 10 Mar 2022 19:22:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8E=E5=B7=A5=E6=8E=A7=E6=9C=BA=E8=81=94?= =?UTF-8?q?=E8=B0=83=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_ipc_monitoring/README.md | 1 + app_ipc_monitoring/build.gradle | 7 +- .../adas/client/bean/ArrivalNotification.java | 6 +- .../adas/client/bean/AutopilotState.java | 8 +- .../com/zhidao/adas/client/bean/Base.java | 4 +- .../zhidao/adas/client/bean/BasicInfoReq.java | 8 +- .../adas/client/bean/CarConfigResp.java | 7 +- .../zhidao/adas/client/bean/ErrorData.java | 19 ++ .../adas/client/bean/GlobalPathResp.java | 7 +- .../com/zhidao/adas/client/bean/GnssInfo.java | 7 +- .../adas/client/bean/MogoReportMessage.java | 8 +- .../zhidao/adas/client/bean/RecordPanel.java | 9 +- .../adas/client/bean/TrackedObjects.java | 8 +- .../zhidao/adas/client/bean/Trajectory.java | 9 +- .../zhidao/adas/client/bean/VehicleState.java | 9 +- .../com/zhidao/adas/client/bean/Warn.java | 7 +- .../ui/autopilot/AutopilotConfigActivity.java | 2 +- .../adas/client/ui/mian/DataShowAdapter.java | 28 ++- .../adas/client/ui/mian/InfoFragment.java | 55 +++--- .../zhidao/adas/client/ui/mian/LogModel.java | 49 ----- .../adas/client/ui/mian/MainActivity.java | 169 +++++++++++++----- .../adas/client/ui/mian/VersionFragment.java | 2 +- .../src/main/res/values/dimens.xml | 1 + 23 files changed, 253 insertions(+), 177 deletions(-) create mode 100644 app_ipc_monitoring/README.md create mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ErrorData.java delete mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/LogModel.java diff --git a/app_ipc_monitoring/README.md b/app_ipc_monitoring/README.md new file mode 100644 index 0000000000..922a02ab55 --- /dev/null +++ b/app_ipc_monitoring/README.md @@ -0,0 +1 @@ +# 工控机测试程序 \ No newline at end of file diff --git a/app_ipc_monitoring/build.gradle b/app_ipc_monitoring/build.gradle index 3348312578..5b826389b0 100644 --- a/app_ipc_monitoring/build.gradle +++ b/app_ipc_monitoring/build.gradle @@ -12,6 +12,11 @@ android { versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" flavorDimensions "multi_device" + + packagingOptions { + //解决编译时com.android.builder.merge.DuplicateRelativeFileException: More than one file was found with OS independent path 'META-INF/rxjava.properties'这个错误 + exclude 'META-INF/rxjava.properties' + } } buildTypes { @@ -49,7 +54,7 @@ dependencies { implementation "com.google.code.gson:gson:2.8.9" implementation project(':libraries:mogo-adas') implementation project(':core:mogo-core-data') -// implementation project(':core:mogo-core-utils') + implementation project(':core:mogo-core-utils') // api "com.zhidao.support.adas:high:1.2.1.2_bate21" implementation 'org.greenrobot:eventbus:3.2.0' implementation 'com.android.support:multidex:1.0.3' diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ArrivalNotification.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ArrivalNotification.java index 8ed95144d3..8ee24ac34e 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ArrivalNotification.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ArrivalNotification.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public class ArrivalNotification extends Base { @@ -13,9 +15,7 @@ public class ArrivalNotification extends Base { @Override public String toString() { - return "ArrivalNotification{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/AutopilotState.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/AutopilotState.java index 87451ea7d3..f067d388d1 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/AutopilotState.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/AutopilotState.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public class AutopilotState extends Base { @@ -11,12 +13,10 @@ public class AutopilotState extends Base { } + @Override public String toString() { - return "AutopilotState{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } - } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Base.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Base.java index d4a5b70e0d..55b76ef370 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Base.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Base.java @@ -1,6 +1,8 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public abstract class Base { @@ -14,6 +16,6 @@ public abstract class Base { @Override public String toString() { - return "{" + len + "}header=" + header; + return len + "##Header:[" + TextFormat.shortDebugString(header)+"]\n"; } } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/BasicInfoReq.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/BasicInfoReq.java index 871942aab3..4fb4076519 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/BasicInfoReq.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/BasicInfoReq.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public class BasicInfoReq extends Base { @@ -11,11 +13,9 @@ public class BasicInfoReq extends Base { } + @Override public String toString() { - return "BasicInfoReq{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } - } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/CarConfigResp.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/CarConfigResp.java index b10d57a275..aa9d82790d 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/CarConfigResp.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/CarConfigResp.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public class CarConfigResp extends Base { @@ -11,10 +13,9 @@ public class CarConfigResp extends Base { } + @Override public String toString() { - return "CarConfigResp{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ErrorData.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ErrorData.java new file mode 100644 index 0000000000..aded5d05cc --- /dev/null +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/ErrorData.java @@ -0,0 +1,19 @@ +package com.zhidao.adas.client.bean; + +import com.zhidao.support.adas.high.common.DigitalTrans; +import com.zhidao.support.adas.high.common.ProtocolStatus; + +public class ErrorData { + private final ProtocolStatus status; + private final byte[] bytes; + + public ErrorData(ProtocolStatus status, byte[] bytes) { + this.status = status; + this.bytes = bytes; + } + + @Override + public String toString() { + return status + "\n原始数据:" + DigitalTrans.byte2HexStr(bytes); + } +} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/GlobalPathResp.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/GlobalPathResp.java index 2ecbf51191..3b8f694d1e 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/GlobalPathResp.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/GlobalPathResp.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public class GlobalPathResp extends Base { @@ -13,10 +15,7 @@ public class GlobalPathResp extends Base { @Override public String toString() { - return "GlobalPathResp{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } - } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/GnssInfo.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/GnssInfo.java index 4025bf06fd..3b47532d5b 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/GnssInfo.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/GnssInfo.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public class GnssInfo extends Base { @@ -11,11 +13,10 @@ public class GnssInfo extends Base { } + @Override public String toString() { - return "GnssInfo{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/MogoReportMessage.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/MogoReportMessage.java index b607d57038..c51c98185b 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/MogoReportMessage.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/MogoReportMessage.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; import mogo_msg.MogoReportMsg; @@ -12,12 +14,10 @@ public class MogoReportMessage extends Base { } + @Override public String toString() { - return "MogoReportMessage{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } - } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/RecordPanel.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/RecordPanel.java index f02fc9dcfe..7d5e01696f 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/RecordPanel.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/RecordPanel.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; import record_cache.RecordPanelOuterClass; @@ -12,12 +14,9 @@ public class RecordPanel extends Base { } + @Override public String toString() { - return "RecordPanel{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } - - } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/TrackedObjects.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/TrackedObjects.java index b3a498d00b..8a5061ac41 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/TrackedObjects.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/TrackedObjects.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public class TrackedObjects extends Base { @@ -10,12 +12,8 @@ public class TrackedObjects extends Base { this.bean = bean; } - @Override public String toString() { - return "TrackedObjects{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } - } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Trajectory.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Trajectory.java index 4334a2951e..b78095766c 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Trajectory.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Trajectory.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public class Trajectory extends Base { @@ -9,14 +11,9 @@ public class Trajectory extends Base { super(bean.getSerializedSize(), header); this.bean = bean; } - - @Override public String toString() { - return "Trajectory{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } - } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/VehicleState.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/VehicleState.java index 69490fc3d0..db44e63ce7 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/VehicleState.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/VehicleState.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import chassis.VehicleStateOuterClass; import mogo.telematics.pad.MessagePad; @@ -11,13 +13,8 @@ public class VehicleState extends Base { this.bean = bean; } - @Override public String toString() { - return "VehicleState{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } - - } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Warn.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Warn.java index 9a2e48f5b7..310ceee8a9 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Warn.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/bean/Warn.java @@ -1,5 +1,7 @@ package com.zhidao.adas.client.bean; +import com.google.protobuf.TextFormat; + import mogo.telematics.pad.MessagePad; public class Warn extends Base { @@ -10,11 +12,8 @@ public class Warn extends Base { this.bean = bean; } - @Override public String toString() { - return "Warn{" + super.toString() + - " bean=" + bean + - '}'; + return super.toString() + "Data:" + TextFormat.printer().escapingNonAscii(false).printToString(bean); } } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/autopilot/AutopilotConfigActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/autopilot/AutopilotConfigActivity.java index 13a302b95c..351dbe15c9 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/autopilot/AutopilotConfigActivity.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/autopilot/AutopilotConfigActivity.java @@ -186,7 +186,7 @@ public class AutopilotConfigActivity extends AppCompatActivity { } json = json.split("##")[1]; Log.i("开始执行自动驾驶", json); - AdasManager.getInstance().aiCloudToAdasData(json); +// AdasManager.getInstance().aiCloudToAdasData(json); } }); findViewById(R.id.save).setOnClickListener(new View.OnClickListener() { diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/DataShowAdapter.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/DataShowAdapter.java index e66a4f2166..b268d58d1b 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/DataShowAdapter.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/DataShowAdapter.java @@ -1,6 +1,7 @@ package com.zhidao.adas.client.ui.mian; import android.annotation.SuppressLint; +import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -11,10 +12,13 @@ import com.zhidao.adas.client.R; import com.zhidao.adas.client.base.BaseAdapter; import com.zhidao.adas.client.base.BaseViewHolder; +import java.util.Random; + //log所用 -public class DataShowAdapter extends BaseAdapter { - +public class DataShowAdapter extends BaseAdapter { + private final int[] colors = {Color.parseColor("#FA8072"), Color.parseColor("#FF00FF"), Color.parseColor("#228B22"), Color.parseColor("#871f78")}; + private final Random random = new Random(); public void refreshView(int position) { if (position == -1) { @@ -28,10 +32,18 @@ public class DataShowAdapter extends BaseAdapter data = new ArrayList<>(); + private final List data = new ArrayList<>(); private DataShowAdapter adapter; public InfoFragment() { @@ -102,28 +103,36 @@ public class InfoFragment extends Fragment { @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onWarnEvent(Warn info) { - if (title.equals("预警数据")) { + if (title.equals(MainActivity.TITLE.RECEIVE_WARN)) { if (data.size() > 19) { data.remove(0); } - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + data.add(info.toString()); adapter.notifyDataSetChanged(); } } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onRectEvent(TrackedObjects info) { - if (title.equals("感知数据")) { + if (title.equals(MainActivity.TITLE.RECEIVE_TRACKED_OBJECTS)) { if (data.size() > 4) { data.remove(0); } - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + data.add(info.toString()); + adapter.notifyDataSetChanged(); + } + } + + @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) + public void onErrorEvent(ErrorData info) { + if (title.equals(MainActivity.TITLE.RECEIVE_ERROR)) { + data.add(info.toString()); adapter.notifyDataSetChanged(); } } private void onTurnLightState(int turnLight, boolean brake_light) { - StringBuilder builder = new StringBuilder("底盘数据\t"); + StringBuilder builder = new StringBuilder(MainActivity.TITLE.RECEIVE_VEHICLE_STATE + "\t"); if (turnLight == 0) { builder.append("左转:关"); builder.append("右转:关"); @@ -169,36 +178,36 @@ public class InfoFragment extends Fragment { @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onCarEvent(VehicleState info) { - if (title.equals("底盘数据")) { + if (title.equals(MainActivity.TITLE.RECEIVE_VEHICLE_STATE)) { if (data.size() > 5) { data.remove(0); } - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + data.add(info.toString()); adapter.notifyDataSetChanged(); int light = info.bean.getLight().getNumber();//转向灯状态 0是正常 1是左转 2是右转 - onTurnLightState(setTurnLightState(light), info.bean.getBrake_light()); + onTurnLightState(setTurnLightState(light), info.bean.getBrakeLightStatus()); } } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onAutoEvent(GnssInfo info) { - if (title.equals("GNSS数据")) { + if (title.equals(MainActivity.TITLE.RECEIVE_GNSS_INFO)) { if (data.size() > 9) { data.remove(0); } - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + data.add(info.toString()); adapter.notifyDataSetChanged(); } } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onAutoEvent(AutopilotState info) { - if (title.equals("自动驾驶状态")) { + if (title.equals(MainActivity.TITLE.RECEIVE_AUTOPILOT_STATE)) { if (data.size() > 9) { data.remove(0); } - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + data.add(info.toString()); adapter.notifyDataSetChanged(); } } @@ -206,43 +215,43 @@ public class InfoFragment extends Fragment { @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onTrajectoryEvent(Trajectory info) { - if (title.equals("局部轨迹")) { + if (title.equals(MainActivity.TITLE.RECEIVE_TRAJECTORY)) { if (data.size() > 9) { data.remove(0); } - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + data.add(info.toString()); adapter.notifyDataSetChanged(); } } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onAutopilotWayArriveEvent(ArrivalNotification info) { - if (title.equals("自动驾驶站点")) { - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + if (title.equals(MainActivity.TITLE.RECEIVE_ARRIVAL_NOTIFICATION)) { + data.add(info.toString()); adapter.notifyDataSetChanged(); } } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onAutopilotRouteEvent(GlobalPathResp info) { - if (title.equals("自动驾驶路径")) { - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + if (title.equals(MainActivity.TITLE.RECEIVE_GLOBAL_PATH_RESP)) { + data.add(info.toString()); adapter.notifyDataSetChanged(); } } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onAutopilotRecordResultEvent(RecordPanel info) { - if (title.equals("BadCase数据")) { - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + if (title.equals(MainActivity.TITLE.RECEIVE_RECORD_RESULT)) { + data.add(info.toString()); adapter.notifyDataSetChanged(); } } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onAutopilotGuardianInfoEvent(ReportMessage info) { - if (title.equals("监控事件报告")) { - data.add(new LogModel(LogModel.ACTION.RECEIVE, info.toString())); + if (title.equals(MainActivity.TITLE.RECEIVE_REPORT_MESSAGE)) { + data.add(info.toString()); adapter.notifyDataSetChanged(); } } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/LogModel.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/LogModel.java deleted file mode 100644 index 9946440067..0000000000 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/LogModel.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.zhidao.adas.client.ui.mian; - -import android.graphics.Color; - -import com.zhidao.adas.client.R; - - -//保存的log -public class LogModel { - - public interface ACTION { - String SEND = "发送"; - String RECEIVE = "接收"; - String PARSE = "解析"; - } - - public long id; - public String action;//log标签 - public String data;//log数据 - public String time; - - public LogModel() { - } - - public LogModel(String action, String data) { - this.action = action; - this.data = data; - } - - - public int getColor() { - switch (action) { - case ACTION.SEND: - return R.color.colorAccent; - case ACTION.RECEIVE: - return R.color.colorPrimary; - case ACTION.PARSE: - return Color.parseColor("#228B22"); - default: - return Color.parseColor("#871f78"); - } - - } - - @Override - public String toString() { - return data+""; - } -} diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/MainActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/MainActivity.java index d510940a12..bd9757089d 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/MainActivity.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/MainActivity.java @@ -35,12 +35,14 @@ import com.mogo.telematic.NSDNettyManager; import com.mogo.telematic.client.listener.NettyClientListener; import com.mogo.telematic.client.status.ConnectState; import com.mogo.telematic.server.netty.NettyServerListener; +import com.zhidao.adas.client.BuildConfig; import com.zhidao.adas.client.R; import com.zhidao.adas.client.base.BaseAdapter; import com.zhidao.adas.client.bean.ArrivalNotification; import com.zhidao.adas.client.bean.AutopilotState; import com.zhidao.adas.client.bean.BasicInfoReq; import com.zhidao.adas.client.bean.CarConfigResp; +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; @@ -60,6 +62,7 @@ import com.zhidao.support.adas.high.bean.IPCUpgradeStateInfo; import com.zhidao.support.adas.high.bean.SSHResult; import com.zhidao.support.adas.high.common.CupidLogUtils; +import com.zhidao.support.adas.high.common.ProtocolStatus; import com.zhidao.support.recorder.RecordDataManager; import org.greenrobot.eventbus.EventBus; @@ -122,16 +125,47 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O private InfoFragment autopilotRouteFragment; private UpgradeFragment upgradeFragment; private InfoFragment badcseFragment; + private InfoFragment errorFragment; private InfoFragment reportMessageFragment; private VersionFragment versionFragment; private FragmentManager manager; private FragmentTransaction transaction; private String ftpTime; private boolean isPad; - private String recordKey; + private long recordKey; private String recordFileName; private int connectStatus; + + public interface TITLE { + String RECEIVE_TRAJECTORY = "车前引导线"; + String RECEIVE_TRACKED_OBJECTS = "障碍物信息"; + String RECEIVE_GNSS_INFO = "惯导信息"; + String RECEIVE_VEHICLE_STATE = "底盘信息"; + String RECEIVE_AUTOPILOT_STATE = "自动驾驶状态"; + String RECEIVE_REPORT_MESSAGE = "监控事件"; + // String RECEIVE_BASIC_INFO_REQ = "自动驾驶设备基础信息请求"; + String RECEIVE_CAR_CONFIG_RESP = "信息与配置"; + String RECEIVE_RECORD_RESULT = "数据采集结果"; + String RECEIVE_GLOBAL_PATH_RESP = "自动驾驶路径"; + String RECEIVE_WARN = "预警数据"; + String RECEIVE_ARRIVAL_NOTIFICATION = "到站提醒"; + String RECEIVE_IPC_UPGRADE_STATUS = "升级状态"; + String RECEIVE_ERROR = "错误数据"; + + + String SEND_BASIC_INFO_RESP = "自动驾驶设备基础信息应答"; + String SEND_SET_AUTOPILOT_MODE_REQ = "设置自动驾驶模式 启动自动驾驶"; + String SEND_SET_DEMO_MODE_REQ = "设置演示模式"; + String SEND_CAR_CONFIG_REQ = "车机基础信息请求"; + String SEND_RECORD_CAUSE = "记录人工接管原因"; + String SEND_RECORD_DATA = "数据采集请求"; + String SEND_SET_AUTOPILOT_SPEED_REQ = "设置自动驾驶最大速度"; + String SEND_GLOBAL_PATH_REQ = "自动驾驶路径请求"; + String SEND_TRAFFIC_LIGHT_DATA = "发送红绿灯数据到工控机"; + + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -292,18 +326,20 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O } private void initListData() { - titleFragmentData.add("GNSS数据"); - titleFragmentData.add("底盘数据"); - titleFragmentData.add("感知数据"); - titleFragmentData.add("自动驾驶状态"); - titleFragmentData.add("预警数据"); - titleFragmentData.add("局部轨迹"); - titleFragmentData.add("自动驾驶站点"); - titleFragmentData.add("自动驾驶路径"); - titleFragmentData.add("IPC升级"); - titleFragmentData.add("BadCase数据"); - titleFragmentData.add("监控事件报告"); - titleFragmentData.add("版本和配置"); + titleFragmentData.add(TITLE.RECEIVE_GNSS_INFO); + titleFragmentData.add(TITLE.RECEIVE_TRAJECTORY); + titleFragmentData.add(TITLE.RECEIVE_TRACKED_OBJECTS); + titleFragmentData.add(TITLE.RECEIVE_VEHICLE_STATE); + titleFragmentData.add(TITLE.RECEIVE_AUTOPILOT_STATE); + titleFragmentData.add(TITLE.RECEIVE_REPORT_MESSAGE); + titleFragmentData.add(TITLE.RECEIVE_CAR_CONFIG_RESP); + titleFragmentData.add(TITLE.RECEIVE_RECORD_RESULT); + titleFragmentData.add(TITLE.RECEIVE_GLOBAL_PATH_RESP); + titleFragmentData.add(TITLE.RECEIVE_WARN); + titleFragmentData.add(TITLE.RECEIVE_ARRIVAL_NOTIFICATION); + titleFragmentData.add(TITLE.RECEIVE_IPC_UPGRADE_STATUS); + titleFragmentData.add(TITLE.RECEIVE_ERROR); + titleBtnData.add("下发站点1"); titleBtnData.add("下发站点2"); @@ -362,18 +398,18 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction = manager.beginTransaction(); CupidLogUtils.w(TAG, "TitleAdapter===>name:" + data); switch (data) { - case "GNSS数据": + case TITLE.RECEIVE_GNSS_INFO: firstFragment(); break; - case "底盘数据": + case TITLE.RECEIVE_VEHICLE_STATE: if (canFragment == null) canFragment = new InfoFragment(data); - if (!viewFragment.isVisible()) { + if (!canFragment.isVisible()) { transaction.replace(R.id.fl_info, canFragment); transaction.commit(); } break; - case "感知数据": + case TITLE.RECEIVE_TRACKED_OBJECTS: if (viewFragment == null) viewFragment = new InfoFragment(data); if (!viewFragment.isVisible()) { @@ -381,7 +417,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; - case "自动驾驶状态": + case TITLE.RECEIVE_AUTOPILOT_STATE: if (autoFragment == null) autoFragment = new InfoFragment(data); if (!autoFragment.isVisible()) { @@ -389,7 +425,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; - case "预警数据": + case TITLE.RECEIVE_WARN: if (warnFragment == null) warnFragment = new InfoFragment(data); if (!warnFragment.isVisible()) { @@ -397,7 +433,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; - case "局部轨迹": + case TITLE.RECEIVE_TRAJECTORY: if (trajectoryFragment == null) trajectoryFragment = new InfoFragment(data); if (!trajectoryFragment.isVisible()) { @@ -405,7 +441,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; - case "自动驾驶站点": + case TITLE.RECEIVE_ARRIVAL_NOTIFICATION: if (autopilotWayArriveFragment == null) autopilotWayArriveFragment = new InfoFragment(data); if (!autopilotWayArriveFragment.isVisible()) { @@ -413,7 +449,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; - case "自动驾驶路径": + case TITLE.RECEIVE_GLOBAL_PATH_RESP: if (autopilotRouteFragment == null) autopilotRouteFragment = new InfoFragment(data); if (!autopilotRouteFragment.isVisible()) { @@ -421,7 +457,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; - case "IPC升级": + case TITLE.RECEIVE_IPC_UPGRADE_STATUS: if (upgradeFragment == null) upgradeFragment = new UpgradeFragment(data); if (!upgradeFragment.isVisible()) { @@ -429,7 +465,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; - case "BadCase数据": + case TITLE.RECEIVE_RECORD_RESULT: if (badcseFragment == null) badcseFragment = new InfoFragment(data); if (!badcseFragment.isVisible()) { @@ -437,7 +473,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; - case "监控事件报告": + case TITLE.RECEIVE_REPORT_MESSAGE: if (reportMessageFragment == null) reportMessageFragment = new InfoFragment(data); if (!reportMessageFragment.isVisible()) { @@ -445,7 +481,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; - case "版本和配置": + case TITLE.RECEIVE_CAR_CONFIG_RESP: AdasManager.getInstance().sendCarConfigReq(); if (versionFragment == null) versionFragment = new VersionFragment("工控机版本\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固定IP配置"); @@ -454,21 +490,36 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O transaction.commit(); } break; + + case TITLE.RECEIVE_ERROR: + if (errorFragment == null) + errorFragment = new InfoFragment(data); + if (!errorFragment.isVisible()) { + transaction.replace(R.id.fl_info, errorFragment); + transaction.commit(); + } + break; } } }); } - public void showIPCIP(String ip, int port) { - if (!BuildConfig.IS_CLIENT) { - ipcIp.setVisibility(View.VISIBLE); - if (!TextUtils.isEmpty(ip)) { - ip = "IPC IP:" + ip + ":" + port; + public void showIPCIP(final String ip, final int port) { + runOnUiThread(new Runnable() { + @Override + public void run() { + if (!BuildConfig.IS_CLIENT) { + String temp = ""; + ipcIp.setVisibility(View.VISIBLE); + if (!TextUtils.isEmpty(ip)) { + temp = "IPC IP:" + ip + ":" + port; + } + ipcIp.setText(temp); + } else { + ipcIp.setVisibility(View.GONE); + } } - ipcIp.setText(ip); - } else { - ipcIp.setVisibility(View.GONE); - } + }); } @@ -532,6 +583,11 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O CupidLogUtils.w(TAG, "IPC命令下发结果:" + info.code + " 命令:" + info.cmd + " 信息:" + info.msg); } + @Override + public void onError(ProtocolStatus status, byte[] bytes) { + EventBus.getDefault().postSticky(new ErrorData(status, bytes)); + } + @Override public void onTrajectory(MessagePad.Header header, MessagePad.Trajectory trajectory) { EventBus.getDefault().postSticky(new Trajectory(header, trajectory)); @@ -564,7 +620,15 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O @Override public void onBasicInfoReq(MessagePad.Header header, MessagePad.BasicInfoReq basicInfoReq) { - EventBus.getDefault().postSticky(new BasicInfoReq(header, basicInfoReq)); + BasicInfoReq info = new BasicInfoReq(header, basicInfoReq); + AdasManager.getInstance().sendBasicInfoResp("X202021111192N41VY", 1); + runOnUiThread(new Runnable() { + @Override + public void run() { + toastMsg("收到车机基础信息请求:" + info.toString()); + } + }); +// EventBus.getDefault().postSticky(new BasicInfoReq(header, basicInfoReq)); } @Override @@ -574,6 +638,8 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O @Override public void onRecordResult(MessagePad.Header header, RecordPanelOuterClass.RecordPanel recordPanel) { + recordKey = recordPanel.getKey(); + recordFileName = recordPanel.getFilename(); EventBus.getDefault().postSticky(new RecordPanel(header, recordPanel)); } @@ -623,7 +689,6 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O @Override public void onMessageResponseClient(MogoProtocolMsg msg, String sign) { - Log.d("dddd", "12345678=" + Arrays.toString(msg.getBody())); AdasManager.getInstance().parseIPCData(msg.getBody()); } @@ -743,7 +808,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O CupidLogUtils.w(TAG, "===>MainActivity onWebSocketConnectSuccess"); showIPCIP(AdasManager.getInstance().getIpcConnectedIp(), AdasManager.getInstance().getIpcConnectedPort()); } else if (connectStatus == com.zhidao.support.adas.high.common.Constants.IPC_CONNECTION_STATUS.DISCONNECTED) { - toastMsg("ws连接失败:" + failedMsg); + toastMsg("连接失败:" + failedMsg); CupidLogUtils.w(TAG, "===>MainActivity onWebSocketConnectFailed"); showIPCIP(AdasManager.getInstance().getIpcConnectedIp(), AdasManager.getInstance().getIpcConnectedPort()); } @@ -796,7 +861,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O private void firstFragment() { if (carFragment == null) - carFragment = new InfoFragment("自车状态"); + carFragment = new InfoFragment(TITLE.RECEIVE_GNSS_INFO); if (!carFragment.isVisible()) { transaction.replace(R.id.fl_info, carFragment); transaction.commit(); @@ -825,7 +890,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O .setStartName("KXCNMZ") .setEndLocation(endLocation) .setEndName("SDYJKXCXMBZ") - .addAllWayPoints(null) +// .addAllWayPoints(null) .setSpeedLimit(0.0) .setVehicleType(9) .setIsSpeakVoice(true) @@ -848,7 +913,7 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O .setStartName("SDYJKXCXMBDM") .setEndLocation(endLocation2) .setEndName("KXCNMDM") - .addAllWayPoints(null) +// .addAllWayPoints(null) .setSpeedLimit(0.0) .setVehicleType(9) .setIsSpeakVoice(true) @@ -882,7 +947,27 @@ public class MainActivity extends AppCompatActivity implements OnAdasListener, O RecordDataManager.getInstance().record(); break; case "发送信号灯": - AdasManager.getInstance().sendTrafficLightData(null); + MessagePad.TrafficLightStatus left = MessagePad.TrafficLightStatus.newBuilder() + .setPhaseNo("1") + .setColor("R") + .setRemain(249) + .build(); + MessagePad.TrafficLightStatus mid = MessagePad.TrafficLightStatus.newBuilder() + .setPhaseNo("2") + .setColor("G") + .setRemain(199) + .build(); + MessagePad.TrafficLightStatus right = MessagePad.TrafficLightStatus.newBuilder() + .setPhaseNo("3") + .setColor("G") + .setRemain(199) + .build(); + MessagePad.TrafficLightDetail detail = MessagePad.TrafficLightDetail.newBuilder() + .setLeft(left) + .setMid(mid) + .setRight(right) + .build(); + AdasManager.getInstance().sendTrafficLightData("10038", 26.848153, 112.574883, "180.0", "SN", 100413, -4, 201, 0, detail); break; case "速度设置": AdasManager.getInstance().sendAutopilotSpeedReq(30); diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/VersionFragment.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/VersionFragment.java index 49a9f8b922..c5dddc3dc3 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/VersionFragment.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/mian/VersionFragment.java @@ -207,7 +207,7 @@ public class VersionFragment extends Fragment { protocol_version_hint.setVisibility(View.GONE); app_protocol_version_hint.setVisibility(View.GONE); } -// appVersionView.setText(AppUtils.getAppVersionName()); + appVersionView.setText(AppUtils.getAppVersionName()); mapVersionView.setText(AdasManager.getInstance().getAPVersion()); } diff --git a/core/mogo-core-res/src/main/res/values/dimens.xml b/core/mogo-core-res/src/main/res/values/dimens.xml index 9ed1ff483c..ddb86d6869 100644 --- a/core/mogo-core-res/src/main/res/values/dimens.xml +++ b/core/mogo-core-res/src/main/res/values/dimens.xml @@ -5,6 +5,7 @@ 52px 65px 200px + 100px 300px 300px 60px