invole c++

This commit is contained in:
gcw_4spBpAfv
2026-01-22 17:55:11 +08:00
parent 945077a453
commit 42bfdd033c
15 changed files with 25424 additions and 1041 deletions

76
main.py
View File

@@ -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()