diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index 93f9295869..82625092e3 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -1461,4 +1461,20 @@ class MoGoAutopilotControlProvider : return AdasManager.getInstance().getNodeStateInfo(name) } + override fun sendFrontCamera30Cmd(isStart: Boolean): Boolean { + return AdasManager.getInstance().sendFrontCamera30Cmd(isStart)>-1 + } + + override fun sendLidarCmd(isStart: Boolean): Boolean { + return AdasManager.getInstance().sendLidarCmd(isStart)> -1 + } + + override fun sendLeftFrontRadarCmd(isStart: Boolean): Boolean { + return AdasManager.getInstance().sendLeftFrontRadarCmd(isStart)>-1 + } + + override fun sendSimulationWireFailure(isTrigger: Boolean): Boolean { + return AdasManager.getInstance().sendSimulationWireFailure(isTrigger)>-1 + } + } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/exam/ExamControlWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/exam/ExamControlWindow.kt index 81e38db78d..f8399abb88 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/exam/ExamControlWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/exam/ExamControlWindow.kt @@ -63,6 +63,14 @@ class ExamControlWindow constructor(activity: Activity): View.OnTouchListener{ private lateinit var tvRamp: TextView //环岛文字 private lateinit var tbStopYield: ToggleButton //停车图标 private lateinit var tvStopYield: TextView //停车文字 + private lateinit var ivCameraFault: ImageView //摄像头故障 + private lateinit var ivCameraReset: ImageView //摄像头恢复 + private lateinit var ivLidarFault: ImageView //激光雷达故障 + private lateinit var ivLidarReset: ImageView //激光雷达恢复 + private lateinit var ivRadarFault: ImageView //毫米波雷达故障 + private lateinit var ivRadarReset: ImageView //毫米波雷达恢复 + private lateinit var ivWireFault: ImageView //线控故障 + private lateinit var ivWireReset: ImageView //线控恢复 private lateinit var tbSeatMainDriver: ToggleButton //主驾 private lateinit var tbSeatPassenger: ToggleButton //副驾 private lateinit var tbSeatRear: ToggleButton //乘客 @@ -89,8 +97,8 @@ class ExamControlWindow constructor(activity: Activity): View.OnTouchListener{ it.format = PixelFormat.RGBA_8888 it.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL it.gravity = Gravity.START or Gravity.TOP - it.width = 906 - it.height = 1176 + it.width = 933 + it.height = 1489 it.alpha = 1.0f } } @@ -107,6 +115,14 @@ class ExamControlWindow constructor(activity: Activity): View.OnTouchListener{ tvRamp = mFloatLayout.findViewById(R.id.tvRamp) tbStopYield = mFloatLayout.findViewById(R.id.tbStopYield) tvStopYield = mFloatLayout.findViewById(R.id.tvStopYield) + ivCameraFault = mFloatLayout.findViewById(R.id.ivCameraFault) + ivCameraReset = mFloatLayout.findViewById(R.id.ivCameraReset) + ivLidarFault = mFloatLayout.findViewById(R.id.ivLidarFault) + ivLidarReset = mFloatLayout.findViewById(R.id.ivLidarReset) + ivRadarFault = mFloatLayout.findViewById(R.id.ivRadarFault) + ivRadarReset = mFloatLayout.findViewById(R.id.ivRadarReset) + ivWireFault = mFloatLayout.findViewById(R.id.ivWireFault) + ivWireReset = mFloatLayout.findViewById(R.id.ivWireReset) tbSeatMainDriver = mFloatLayout.findViewById(R.id.tbSeatMainDriver) tbSeatPassenger = mFloatLayout.findViewById(R.id.tbSeatPassenger) tbSeatRear = mFloatLayout.findViewById(R.id.tbSeatRear) @@ -166,6 +182,38 @@ class ExamControlWindow constructor(activity: Activity): View.OnTouchListener{ tvStopYield.setOnClickListener { tbStopYield.performClick() } + //摄像头故障 + ivCameraFault.setOnClickListener { + CallerAutoPilotControlManager.sendFrontCamera30Cmd(false) + } + //摄像头恢复 + ivCameraReset.setOnClickListener { + CallerAutoPilotControlManager.sendFrontCamera30Cmd(true) + } + //激光雷达故障 + ivLidarFault.setOnClickListener { + CallerAutoPilotControlManager.sendLidarCmd(false) + } + //激光雷达恢复 + ivLidarReset.setOnClickListener { + CallerAutoPilotControlManager.sendLidarCmd(true) + } + //毫米波雷达故障 + ivRadarFault.setOnClickListener { + CallerAutoPilotControlManager.sendLeftFrontRadarCmd(false) + } + //毫米波雷达恢复 + ivRadarReset.setOnClickListener { + CallerAutoPilotControlManager.sendLeftFrontRadarCmd(true) + } + //线控故障 + ivWireFault.setOnClickListener { + CallerAutoPilotControlManager.sendSimulationWireFailure(true) + } + //线控恢复 + ivWireReset.setOnClickListener { + CallerAutoPilotControlManager.sendSimulationWireFailure(false) + } //向左变道 ivLineToLeft.setOnClickListener{ CallerAutoPilotControlManager.sendPlanningLineChangeCmd(1) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_normal.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_normal.png new file mode 100644 index 0000000000..545e0f5f23 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_normal.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_pressed.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_pressed.png new file mode 100644 index 0000000000..b1b03f613d Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_pressed.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_reset_normal.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_reset_normal.png new file mode 100644 index 0000000000..f65979bcb9 Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_reset_normal.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_reset_pressed.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_reset_pressed.png new file mode 100644 index 0000000000..ee65af2d3e Binary files /dev/null and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_exam_fault_reset_pressed.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_exam_control.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_exam_control.png index ad6d51ad00..3403bc0a95 100644 Binary files a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_exam_control.png and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bg_exam_control.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/exam_fault_reset.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/exam_fault_reset.xml new file mode 100644 index 0000000000..07b9a844d0 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/exam_fault_reset.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/exam_fault_trigger.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/exam_fault_trigger.xml new file mode 100644 index 0000000000..ca44f900f9 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/exam_fault_trigger.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_exam_control.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_exam_control.xml index f87e7f04f6..0e52f402fc 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_exam_control.xml +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_exam_control.xml @@ -1,7 +1,7 @@ @@ -180,14 +180,181 @@ android:textColor="@color/exam_text_color" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -255,11 +422,11 @@ android:id="@+id/ivLineToRight" android:layout_width="wrap_content" android:layout_height="wrap_content" - app:layout_constraintTop_toBottomOf="@id/viewVehicleModeBg" + app:layout_constraintTop_toBottomOf="@id/viewFaultBg" app:layout_constraintRight_toRightOf="parent" android:src="@drawable/exam_line_to_right_selector" - android:layout_marginTop="@dimen/dp_40" - android:layout_marginRight="@dimen/dp_78" + android:layout_marginTop="@dimen/dp_30" + android:layout_marginRight="@dimen/dp_92" android:contentDescription="@string/exam_line_to_right" /> diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml index 1ea3d4ae20..ba13a4df93 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/values/strings.xml @@ -23,6 +23,11 @@ 限速 环岛 停车 + 故障告警 + 摄像头 + 激光雷达 + 毫米波雷达 + 线控 乘坐状态 左变道 右变道 diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt index a00b103231..5441e4b38c 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt @@ -679,4 +679,28 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider { */ fun getNodeStateInfo(name: AdasConstants.NodeName): NodeStateInfo + /** + * 摄像头故障模拟 + * @param isStart false故障 true恢复 + */ + fun sendFrontCamera30Cmd(isStart: Boolean): Boolean + + /** + * 激光雷达故障模拟 + * @param isStart false故障 true恢复 + */ + fun sendLidarCmd(isStart: Boolean): Boolean + + /** + * 毫米波雷达故障模拟 + * @param isStart false故障 true恢复 + */ + fun sendLeftFrontRadarCmd(isStart: Boolean): Boolean + + /** + * 线控失效故障模拟 + * @param isTrigger false故障 true恢复 + */ + fun sendSimulationWireFailure(isTrigger: Boolean): Boolean + } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt index 994f239b8e..87c791c4b6 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt @@ -1029,4 +1029,37 @@ object CallerAutoPilotControlManager { fun getNodeStateInfo(name: AdasConstants.NodeName): NodeStateInfo? { return providerApi?.getNodeStateInfo(name) } + + /** + * 摄像头故障模拟 + * @param isStart false故障 true恢复 + */ + fun sendFrontCamera30Cmd(isStart: Boolean): Boolean{ + return providerApi?.sendFrontCamera30Cmd(isStart)?: false + } + + /** + * 激光雷达故障模拟 + * @param isStart false故障 true恢复 + */ + fun sendLidarCmd(isStart: Boolean): Boolean{ + return providerApi?.sendLidarCmd(isStart)?:false + } + + /** + * 毫米波雷达故障模拟 + * @param isStart false故障 true恢复 + */ + fun sendLeftFrontRadarCmd(isStart: Boolean): Boolean{ + return providerApi?.sendLeftFrontRadarCmd(isStart)?:false + } + + /** + * 线控失效故障模拟 + * @param isTrigger false故障 true恢复 + */ + fun sendSimulationWireFailure(isTrigger: Boolean): Boolean{ + return providerApi?.sendSimulationWireFailure(isTrigger)?:false + } + } \ No newline at end of file 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 5193688dc8..d212e6b0ec 100644 --- a/core/mogo-core-res/src/main/res/values/dimens.xml +++ b/core/mogo-core-res/src/main/res/values/dimens.xml @@ -1061,6 +1061,7 @@ 1306dp 1373dp 1386dp + 1489dp 1550dp 1600dp 1860dp