[清扫车]代码合并冲突修改

This commit is contained in:
bxb
2023-02-08 17:04:08 +08:00
parent 3ba25fff31
commit 80954b63f8
3 changed files with 69 additions and 83 deletions

View File

@@ -25,8 +25,6 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
private var cleanSystemState: ChassisStatesOuterClass.SweeperFuTianTaskSystemStates?=null
//当前经纬度
private var mCurLatitude = 0.0
private var mCurLongitude = 0.0
override fun getTagName(): String {
return "SweepersFragment"
}

View File

@@ -1,18 +1,17 @@
package com.mogo.och.sweeper.presenter;
import android.os.Looper;
import android.util.Log;
import com.elegant.network.utils.GsonUtil;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.mvp.Presenter;
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo;
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
import com.mogo.eagle.core.data.map.MogoLocation;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.function.api.autopilot.IMoGoSweeperFutianCleanSystemListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCleanSystemListenerManager;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
@@ -23,7 +22,6 @@ import com.mogo.och.sweeper.callback.ISweeperADASStatusCallback;
import com.mogo.och.sweeper.callback.ISweeperControllerStatusCallback;
import com.mogo.och.sweeper.fragment.SweeperFragment;
import com.mogo.och.sweeper.model.SweeperTaskModel;
import com.mogo.och.sweeper.util.SweeperFutianCmdUtil;
import com.mogo.och.sweeper.util.SweeperTrajectoryManager;
import org.jetbrains.annotations.NotNull;
@@ -183,7 +181,7 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
// 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);
}
/**
* 测试使用

View File

@@ -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();
}