fix the laser point x,y

This commit is contained in:
huangzhenwei2
2026-01-12 20:53:23 +08:00
parent 2a0534ac62
commit a0019b8b0e
3 changed files with 30 additions and 21 deletions

12
main.py
View File

@@ -319,11 +319,18 @@ def cmd_str():
# 快速激光测距激光一闪而过约500-600ms
laser_distance_m = None
laser_signal_quality = 0
try:
laser_distance_m = laser_manager.quick_measure_distance()
result = laser_manager.quick_measure_distance()
if isinstance(result, tuple) and len(result) == 2:
laser_distance_m, laser_signal_quality = result
else:
# 向后兼容:如果返回的是单个值
laser_distance_m = result if isinstance(result, (int, float)) else 0.0
laser_signal_quality = 0
if logger:
if laser_distance_m > 0:
logger.info(f"[MAIN] 激光测距成功: {laser_distance_m:.3f} m")
logger.info(f"[MAIN] 激光测距成功: {laser_distance_m:.3f} m, 信号质量: {laser_signal_quality}")
else:
logger.warning("[MAIN] 激光测距失败或返回0")
except Exception as e:
@@ -355,6 +362,7 @@ def cmd_str():
"r": 90.0,
"d": round((distance_m or 0.0) * 100), # 视觉测距值(厘米)
"d_laser": round((laser_distance_m or 0.0) * 100), # 激光测距值(厘米)
"d_laser_quality": laser_signal_quality, # 激光测距信号质量
"m": method if method else "no_target",
"adc": adc_val
}