invole c++
This commit is contained in:
76
main.py
76
main.py
@@ -30,79 +30,6 @@ from hardware import hardware_manager
|
||||
from camera_manager import camera_manager
|
||||
|
||||
|
||||
# def laser_calibration_worker():
|
||||
# """后台线程:持续检测是否需要执行激光校准"""
|
||||
# from maix import camera
|
||||
# from laser_manager import laser_manager
|
||||
# from ota_manager import ota_manager
|
||||
|
||||
# logger = logger_manager.logger
|
||||
# if logger:
|
||||
# logger.info("[LASER] 激光校准线程启动")
|
||||
|
||||
# while True:
|
||||
# try:
|
||||
# try:
|
||||
# if ota_manager.ota_in_progress:
|
||||
# time.sleep_ms(200)
|
||||
# continue
|
||||
# except Exception as e:
|
||||
# logger = logger_manager.logger
|
||||
# if logger:
|
||||
# logger.error(f"[LASER] OTA检查异常: {e}")
|
||||
# time.sleep_ms(200)
|
||||
# continue
|
||||
|
||||
# if laser_manager.calibration_active:
|
||||
# cam = None
|
||||
# try:
|
||||
# cam = camera.Camera(640, 480)
|
||||
# start = time.ticks_ms()
|
||||
# timeout_ms = 8000
|
||||
# while laser_manager.calibration_active and time.ticks_diff(time.ticks_ms(), start) < timeout_ms:
|
||||
# frame = cam.read()
|
||||
# pos = laser_manager.find_red_laser(frame)
|
||||
# if pos:
|
||||
# laser_manager.set_calibration_result(pos)
|
||||
# laser_manager.stop_calibration()
|
||||
# laser_manager.save_laser_point(pos)
|
||||
# logger = logger_manager.logger
|
||||
# if logger:
|
||||
# logger.info(f"✅ 后台校准成功: {pos}")
|
||||
# break
|
||||
# time.sleep_ms(60)
|
||||
# except Exception as e:
|
||||
# logger = logger_manager.logger
|
||||
# if logger:
|
||||
# logger.error(f"[LASER] calibration error: {e}")
|
||||
# import traceback
|
||||
# logger.error(traceback.format_exc())
|
||||
# time.sleep_ms(200)
|
||||
# finally:
|
||||
# try:
|
||||
# if cam is not None:
|
||||
# del cam
|
||||
# except Exception as e:
|
||||
# logger = logger_manager.logger
|
||||
# if logger:
|
||||
# logger.error(f"[LASER] 释放相机资源异常: {e}")
|
||||
|
||||
# if laser_manager.calibration_active:
|
||||
# time.sleep_ms(300)
|
||||
# else:
|
||||
# time.sleep_ms(50)
|
||||
# except Exception as e:
|
||||
# # 线程顶层异常捕获,防止线程静默退出
|
||||
# logger = logger_manager.logger
|
||||
# if logger:
|
||||
# logger.error(f"[LASER] 校准线程异常: {e}")
|
||||
# import traceback
|
||||
# logger.error(traceback.format_exc())
|
||||
# else:
|
||||
# print(f"[LASER] 校准线程异常: {e}")
|
||||
# import traceback
|
||||
# traceback.print_exc()
|
||||
# time.sleep_ms(1000) # 等待1秒后继续
|
||||
def laser_calibration_worker():
|
||||
"""后台线程:持续检测是否需要执行激光校准"""
|
||||
from laser_manager import laser_manager
|
||||
@@ -272,7 +199,8 @@ def cmd_str():
|
||||
|
||||
# 6. 启动通信与校准线程
|
||||
_thread.start_new_thread(network_manager.tcp_main, ())
|
||||
_thread.start_new_thread(laser_calibration_worker, ())
|
||||
if not config.HARDCODE_LASER_POINT:
|
||||
_thread.start_new_thread(laser_calibration_worker, ())
|
||||
|
||||
# 7. 加载激光点配置
|
||||
laser_manager.load_laser_point()
|
||||
|
||||
Reference in New Issue
Block a user