From 80954b63f82dcebd670dc11e9440777a716bca99 Mon Sep 17 00:00:00 2001 From: bxb Date: Wed, 8 Feb 2023 17:04:08 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=B8=85=E6=89=AB=E8=BD=A6]=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=86=B2=E7=AA=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/sweeper/fragment/SweeperFragment.kt | 2 - .../sweeper/presenter/SweeperPresenter.java | 8 +- .../sweeper/ui/SweeperOperatePanelView.java | 142 ++++++++---------- 3 files changed, 69 insertions(+), 83 deletions(-) diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperFragment.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperFragment.kt index 90d635b08d..4a6457c356 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperFragment.kt +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperFragment.kt @@ -25,8 +25,6 @@ class SweeperFragment : BaseSweeperTabFragment // CallerLogger.INSTANCE.d( M_BUS + TAG, "开启自动驾驶====" + GsonUtil.jsonFromObject(parameters) // +" startLatLon="+currentStation.getName()+",endLatLon="+nextStation.getName()); CallerLogger.INSTANCE.d( M_BUS + TAG, "开启自动驾驶====" + GsonUtil.jsonFromObject(parameters)); - CallerAutoPilotManager.INSTANCE.startAutoPilot(parameters); + CallerAutoPilotControlManager.INSTANCE.startAutoPilot(parameters); } /** * 测试使用 diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/SweeperOperatePanelView.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/SweeperOperatePanelView.java index d0ff73acfb..7094014b49 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/SweeperOperatePanelView.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/ui/SweeperOperatePanelView.java @@ -40,17 +40,8 @@ import java.util.List; import chassis.ChassisStatesOuterClass; import chassis.SpecialVehicleTaskCmdOuterClass; -import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_BOTH_SIDE; import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_CLOSE; -import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_LEFT_SIDE; -import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_RIGHT_SIDE; -import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRAND; -import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRONG; import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_CLOSE; -import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_DRAW; -import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_SWEEP; -import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_WASH; -import static com.mogo.och.sweeper.util.SweeperFutianCmdUtil.CLEAN_MODE_WASH_SWEEP; /** * 清扫车操作面板View @@ -121,8 +112,6 @@ public class SweeperOperatePanelView extends LinearLayout { }; private boolean isSelectPureSweepMode = false;//用于标注是否选中纯扫 - private static boolean isResetWorkMode = false;//是否点击复位 - private CleaningModeStateCallback cleaningModeStateCallback; private int count = 0; @@ -640,7 +629,7 @@ public class SweeperOperatePanelView extends LinearLayout { */ private void showCmdExecuteSuccessToast() { if (cleaningModeStateCallback != null) { - cleaningModeStateCallback.cleaningModeState(OperateStateEnum.SUCCESS_STATUS,mCurrentCleanSystemState, isSelectPureSweepMode); + cleaningModeStateCallback.cleaningModeState(OperateStateEnum.SUCCESS_STATUS, mCurrentCleanSystemState, isSelectPureSweepMode); } ToastUtils.showLong("设备已响应,操作成功"); } @@ -735,53 +724,50 @@ public class SweeperOperatePanelView extends LinearLayout { // 作业强度状态 boolean clean_intensity_standard = cleanSystemState.getSecuWorkStandSts(); boolean clean_intensity_strong = cleanSystemState.getSecuWorkStrongSts(); + if (clean_mode_pure_sweep) { + //纯扫 + mBtnCleanModePureSweep.setChecked(true); + mBtnCleanModePureSweep.setEnabled(true); + toggleCleanModeBtnsByChoosedViewId(R.id.btn_clean_mode_pure_sweep, false); + } else if (clean_mode_pure_wash) { + //纯洗 + mBtnCleanModePureWash.setChecked(true); + mBtnCleanModePureWash.setEnabled(true); + toggleCleanModeBtnsByChoosedViewId(R.id.btn_clean_mode_pure_wash, false); + } else if (clean_mode_wash_sweep) { + //洗扫 + mBtnCleanModeSweepWash.setChecked(true); + mBtnCleanModeSweepWash.setEnabled(true); + toggleCleanModeBtnsByChoosedViewId(R.id.btn_clean_mode_sweep_wash, false); + } else if (clean_mode_pure_draw) { + //纯吸,需要disable作业方向 + mBtnCleanModePureAbsorption.setChecked(true); + mBtnCleanModePureAbsorption.setEnabled(true); + toggleCleanModeBtnsByChoosedViewId(R.id.btn_clean_mode_pure_absorption, false); + toggleCleanDirectionBtnsStatus(false); + } - runOnUIThread(() -> { - if (clean_mode_pure_sweep) { - //纯扫 - mBtnCleanModePureSweep.setChecked(true); - mBtnCleanModePureSweep.setEnabled(true); - toggleCleanModeBtnsByChoosedViewId(R.id.btn_clean_mode_pure_sweep, false); - } else if (clean_mode_pure_wash) { - //纯洗 - mBtnCleanModePureWash.setChecked(true); - mBtnCleanModePureWash.setEnabled(true); - toggleCleanModeBtnsByChoosedViewId(R.id.btn_clean_mode_pure_wash, false); - } else if (clean_mode_wash_sweep) { - //洗扫 - mBtnCleanModeSweepWash.setChecked(true); - mBtnCleanModeSweepWash.setEnabled(true); - toggleCleanModeBtnsByChoosedViewId(R.id.btn_clean_mode_sweep_wash, false); - } else if (clean_mode_pure_draw) { - //纯吸,需要disable作业方向 - mBtnCleanModePureAbsorption.setChecked(true); - mBtnCleanModePureAbsorption.setEnabled(true); - toggleCleanModeBtnsByChoosedViewId(R.id.btn_clean_mode_pure_absorption, false); - toggleCleanDirectionBtnsStatus(false); + if (!clean_mode_pure_draw) {// 非纯吸模式才有清扫方向 + if (clean_direction_left_side) { + mBtnCleanDirectionLeftSide.setChecked(true); + mBtnCleanDirectionLeftSide.setEnabled(true); + toggleCleanDirectionBtnsByChoosedViewId(R.id.btn_clean_direction_left_side, false); + } else if (clean_direction_right_side) { + mBtnCleanDirectionRightSide.setChecked(true); + mBtnCleanDirectionRightSide.setEnabled(true); + toggleCleanDirectionBtnsByChoosedViewId(R.id.btn_clean_direction_right_side, false); + } else if (clean_direction_both_side) { + mBtnCleanDirectionBothSide.setChecked(true); + mBtnCleanDirectionBothSide.setEnabled(true); + toggleCleanDirectionBtnsByChoosedViewId(R.id.btn_clean_direction_both_side, false); } - - if (!clean_mode_pure_draw) {// 非纯吸模式才有清扫方向 - if (clean_direction_left_side) { - mBtnCleanDirectionLeftSide.setChecked(true); - mBtnCleanDirectionLeftSide.setEnabled(true); - toggleCleanDirectionBtnsByChoosedViewId(R.id.btn_clean_direction_left_side, false); - } else if (clean_direction_right_side) { - mBtnCleanDirectionRightSide.setChecked(true); - mBtnCleanDirectionRightSide.setEnabled(true); - toggleCleanDirectionBtnsByChoosedViewId(R.id.btn_clean_direction_right_side, false); - } else if (clean_direction_both_side) { - mBtnCleanDirectionBothSide.setChecked(true); - mBtnCleanDirectionBothSide.setEnabled(true); - toggleCleanDirectionBtnsByChoosedViewId(R.id.btn_clean_direction_both_side, false); - } - } - if (clean_intensity_standard) { - setCleanIntensityStandard(); - } else if (clean_intensity_strong) { - setCleanIntensityStrong(); - } - hideLoadingMask(); - }); + } + if (clean_intensity_standard) { + setCleanIntensityStandard(); + } else if (clean_intensity_strong) { + setCleanIntensityStrong(); + } + hideLoadingMask(); } /** @@ -814,7 +800,7 @@ public class SweeperOperatePanelView extends LinearLayout { private void mockSendCmdSuccess() { Message successMsg = Message.obtain(); - successMsg.what=MSG_CMD_EXECUTE_MOCK_SUCCESS; + successMsg.what = MSG_CMD_EXECUTE_MOCK_SUCCESS; mSweeperOperateCmdHandler.sendMessageDelayed(successMsg, 1000L * CMD_EXECUTE_MOCK_SUCCESS_SECONDS); } @@ -837,9 +823,8 @@ public class SweeperOperatePanelView extends LinearLayout { */ private void onOperateReset() { if (mCleanSystemState != null) { - isResetWorkMode = true; // 洗扫 - if (mCurrentCleanSystemState.getSecuModWashSweepSts() || mCurrentCleanSystemState.getSecuModWashSts() || mCurrentCleanSystemState.getSecuWorkTonSts() || SweeperFutianCmdUtil.checkIfCleanModePureSweep(mCurrentCleanSystemState)) {; + if (mCurrentCleanSystemState.getSecuModWashSweepSts() || mCurrentCleanSystemState.getSecuModWashSts() || mCurrentCleanSystemState.getSecuWorkTonSts() || SweeperFutianCmdUtil.checkIfCleanModePureSweep(mCurrentCleanSystemState)) { sendFuTianTaskCmd(SweeperFutianCmdUtil.buildCleanModeCloseCmd()); } // 左侧 @@ -947,7 +932,8 @@ public class SweeperOperatePanelView extends LinearLayout { @Override public void onCmdSuccess() { - resetSuccess(mCurrentCleanSystemState); + resetSuccess(mCleanSystemState); + mCurrentCleanSystemState=mCleanSystemState; hideLoadingMask(); showCmdExecuteSuccessToast(); @@ -1062,25 +1048,29 @@ public class SweeperOperatePanelView extends LinearLayout { builder.setSecuModWashSweepSts(false); builder.setSecuModWashSts(false); builder.setSecuWorkTonSts(false); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; } else if (fuTianCleanCmd.getCleanModeRequirement() == CLEAN_MODE_WASH_SWEEP) {//洗扫 builder.setSecuModWashSweepSts(!mCurrentCleanSystemState.getSecuModWashSweepSts()); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; } else if (fuTianCleanCmd.getCleanModeRequirement() == CLEAN_MODE_PURE_WASH) {//纯洗 builder.setSecuModWashSts(!mCurrentCleanSystemState.getSecuModWashSts()); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; } else if (fuTianCleanCmd.getCleanModeRequirement() == CLEAN_MODE_PURE_DRAW) {//纯吸 builder.setSecuWorkTonSts(!mCurrentCleanSystemState.getSecuWorkTonSts()); - mCurrentCleanSystemState=builder.build(); + builder.setSecuWorkStandSts(true); + builder.setSecuWorkOnBothsidesSts(false); + builder.setSecuWorkLeftSts(false); + builder.setSecuWorkRightSts(false); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; - }else if(fuTianCleanCmd.getCleanModeRequirement() == CLEAN_MODE_CLOSE){ + } else if (fuTianCleanCmd.getCleanModeRequirement() == CLEAN_MODE_CLOSE) { builder.setSecuModWashSweepSts(false); builder.setSecuModWashSts(false); builder.setSecuWorkTonSts(false); @@ -1089,7 +1079,7 @@ public class SweeperOperatePanelView extends LinearLayout { builder.setSecuWorkRightSts(false); builder.setSecuWorkStandSts(true); builder.setSecuWorkStrongSts(false); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; } @@ -1097,43 +1087,43 @@ public class SweeperOperatePanelView extends LinearLayout { builder.setSecuWorkOnBothsidesSts(!mCurrentCleanSystemState.getSecuWorkOnBothsidesSts()); builder.setSecuWorkStandSts(true); builder.setSecuWorkStrongSts(false); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; } else if (fuTianCleanCmd.getCleanDirectionRequirement() == CLEAN_DIRECTION_LEFT_SIDE) {//左侧 builder.setSecuWorkLeftSts(!mCurrentCleanSystemState.getSecuWorkLeftSts()); builder.setSecuWorkStandSts(true); builder.setSecuWorkStrongSts(false); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; } else if (fuTianCleanCmd.getCleanDirectionRequirement() == CLEAN_DIRECTION_RIGHT_SIDE) {//右侧 builder.setSecuWorkRightSts(!mCurrentCleanSystemState.getSecuWorkRightSts()); builder.setSecuWorkStandSts(true); builder.setSecuWorkStrongSts(false); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; - }else if(fuTianCleanCmd.getCleanDirectionRequirement()==CLEAN_DIRECTION_CLOSE){ + } else if (fuTianCleanCmd.getCleanDirectionRequirement() == CLEAN_DIRECTION_CLOSE) { builder.setSecuWorkLeftSts(false); builder.setSecuWorkRightSts(false); builder.setSecuWorkOnBothsidesSts(false); builder.setSecuWorkStandSts(true); builder.setSecuWorkStrongSts(false); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; } - if (fuTianCleanCmd.getCleanIntensityRequirement()==CLEAN_INTENSITY_STRAND){ + if (fuTianCleanCmd.getCleanIntensityRequirement() == CLEAN_INTENSITY_STRAND) { builder.setSecuWorkStrongSts(true); builder.setSecuWorkStandSts(false); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); return; - }else if(fuTianCleanCmd.getCleanIntensityRequirement()==CLEAN_INTENSITY_STRONG){ + } else if (fuTianCleanCmd.getCleanIntensityRequirement() == CLEAN_INTENSITY_STRONG) { builder.setSecuWorkStandSts(true); builder.setSecuWorkStrongSts(false); - mCurrentCleanSystemState=builder.build(); + mCurrentCleanSystemState = builder.build(); mockSendCmdSuccess(); }