Browse Source

解决扫描极值显示不正确问题

master
Lizongdi 1 month ago
parent
commit
5586f0dace
  1. 17
      diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/FSM.c
  2. 9
      diaoerqiege/diaoerqige_V1.0/app/src/main/java/com/example/diaoerqiegeapp/services/USBSerialPortHelper.java

17
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;

9
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)));
}
}

Loading…
Cancel
Save