From 5586f0dace08415f2566e7de813afd3fa81b1dfa Mon Sep 17 00:00:00 2001 From: Lizongdi <1210855344@qq.com> Date: Sat, 9 May 2026 13:33:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=89=AB=E6=8F=8F=E6=9E=81?= =?UTF-8?q?=E5=80=BC=E6=98=BE=E7=A4=BA=E4=B8=8D=E6=AD=A3=E7=A1=AE=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BHBF_Robot_Lifting_Lug/Core/Src/FSM.c | 17 ++++++++++------- .../services/USBSerialPortHelper.java | 9 +-------- 2 files changed, 11 insertions(+), 15 deletions(-) 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))); } }