diff --git a/diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/FSM.c b/diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/FSM.c index 968859d..9e6cf6f 100644 --- a/diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/FSM.c +++ b/diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/FSM.c @@ -173,7 +173,7 @@ void IO_Control() #define FORWARD_STATE 11 #define BACKWARD_STATE 21 -int32_t MaxLaserSensor = -255; // 激光传感器最大值,初始化为非法值 +int32_t MaxLaserSensor = 10000; // 激光传感器最大值,初始化为非法值 int32_t knife_descent_height = -255; // "下降高度"迭代值,初始赋值为非法值 int32_t ScanTimeCount = 0; int32_t ScanState = RISE_KINFE_STATE; @@ -183,8 +183,9 @@ void Automatic_Laser_Scanning() { CurrentMoveState = Manual_State; CurrentFrontEndState = HALT_STATE; + knife_descent_height = 0; - if(GV.MK32_Key.CH7_SD == -1000) + if(GV.MK32_Key.CH7_SD == 1000) { StrongGrindingMachineCurrentState = STRONG_GRINDING_MACHINE_HALT_STATE; //刀具不转动 @@ -192,9 +193,11 @@ void Automatic_Laser_Scanning() int32_t b = GV.ZHR29_200_measure_results.laser_sensor_2_measure_distance; int32_t c = GV.ZHR29_200_measure_results.laser_sensor_3_measure_distance; - int32_t max = (a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c); - - MaxLaserSensor = (max < MaxLaserSensor) ? max : MaxLaserSensor; + if (a != 0 && b != 0 && c != 0) + { + int32_t max = (a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c); + MaxLaserSensor = (max < MaxLaserSensor) ? max : MaxLaserSensor; + } #if 0 if (RISE_KINFE_STATE == ScanState) @@ -258,7 +261,7 @@ void Automatic_Operation() int32_t knife_current_altitude = 0; // 激光1读数 uint8_t IsAllowRotation_AutoMode = 0; // 是否允许转刀 - if (-255 == knife_descent_height && -255 == MaxLaserSensor) + if (-255 == knife_descent_height) { // 跑到这说明一上来直接自动作业了,没有先进行扫描 return; @@ -310,7 +313,7 @@ void Automatic_Operation() else if(GV.MK32_Key.CH7_SD == 1000) { knife_flag = 1; // 关闭自动作业时恢复标志 - MaxLaserSensor = -255; // 恢复为未扫描状态 + MaxLaserSensor = 10000; // 恢复为未扫描状态 knife_descent_height = -255; // 恢复为未扫描状态 CurrentMoveState = Move_HALT; CurrentFrontEndState = HALT_STATE; diff --git a/diaoerqiege/diaoerqige_V1.0/app/src/main/java/com/example/diaoerqiegeapp/services/USBSerialPortHelper.java b/diaoerqiege/diaoerqige_V1.0/app/src/main/java/com/example/diaoerqiegeapp/services/USBSerialPortHelper.java index c43991f..bb181a1 100644 --- a/diaoerqiege/diaoerqige_V1.0/app/src/main/java/com/example/diaoerqiegeapp/services/USBSerialPortHelper.java +++ b/diaoerqiege/diaoerqige_V1.0/app/src/main/java/com/example/diaoerqiegeapp/services/USBSerialPortHelper.java @@ -367,14 +367,7 @@ public class USBSerialPortHelper implements SerialInputOutputManager.Listener { activityPolish.mainBinding.kinfePosition.setText(String.format("%.2f", (double)_toReceiveIV1.getKinfePosition() / 20000)); } - if (_toReceiveIV1.getMaxLaserSensor() == -255) - { - activityPolish.mainBinding.maxLaserSensor.setText("未扫描"); - } - else - { - activityPolish.mainBinding.maxLaserSensor.setText((String.format("%.1f", _toReceiveIV1.getMaxLaserSensor() / 100.0))); - } + activityPolish.mainBinding.maxLaserSensor.setText((String.format("%.1f", _toReceiveIV1.getMaxLaserSensor() / 100.0))); } }