diff --git a/app.yaml b/app.yaml index 4905c15..772ceba 100644 --- a/app.yaml +++ b/app.yaml @@ -1,6 +1,6 @@ id: t11 name: t11 -version: 2.16.2 +version: 2.16.3 author: t11 icon: '' desc: t11 diff --git a/main.py b/main.py index 7c158fd..82f6223 100644 --- a/main.py +++ b/main.py @@ -278,8 +278,6 @@ def cmd_str(): logger.info("系统准备完成...") last_adc_trigger = 0 - _latest_frame = None # 预读的最新帧缓存,供射箭触发时减少延迟 - _frame_read_counter = 0 # 相机预读计数器,避免每帧都读拖慢CPU # 气压采样:减少日志频率(每 N 个点输出一条),避免 logger.debug 拖慢采样 PRESSURE_BATCH_SIZE = 100 @@ -391,8 +389,7 @@ def cmd_str(): _flush_pressure_buf("before_trigger") try: - process_shot(adc_val, pre_frame=_latest_frame) - _latest_frame = None + process_shot(adc_val) except Exception as e: logger = logger_manager.logger if logger: @@ -402,18 +399,11 @@ def cmd_str(): time.sleep_ms(100) continue else: - # 每3次循环预读一次相机帧(~15ms间隔),平衡buffer新鲜度与CPU占用 - _frame_read_counter += 1 - if _frame_read_counter >= 3: - _frame_read_counter = 0 + if config.SHOW_CAMERA_PHOTO_WHILE_SHOOTING: try: - _latest_frame = camera_manager.read_frame() - if config.SHOW_CAMERA_PHOTO_WHILE_SHOOTING and _latest_frame is not None: - camera_manager.show(_latest_frame) + camera_manager.show(camera_manager.read_frame()) except Exception as e: - logger = logger_manager.logger - if logger: - logger.error(f"[MAIN] 预读/显示异常: {e}") + pass time.sleep_ms(5) except Exception as e: diff --git a/shoot_manager.py b/shoot_manager.py index 95e5dd2..d94a214 100644 --- a/shoot_manager.py +++ b/shoot_manager.py @@ -311,21 +311,16 @@ def analyze_shot(frame, laser_point=None): return _build_circle_result(cdata, roi_xyxy) -def process_shot(adc_val, pre_frame=None): +def process_shot(adc_val): """ 处理射箭事件(逻辑控制部分) :param adc_val: ADC触发值 - :param pre_frame: 主循环预读的最新帧(可选),传入则跳过拍照以减少延迟 :return: None """ logger = logger_manager.logger try: - # 优先使用预读帧(零延迟),否则实时拍照 - if pre_frame is not None: - frame = pre_frame - else: - frame = camera_manager.read_frame() + frame = camera_manager.read_frame() # 网络事件移到拍照之后,避免阻塞拍照 network_manager.safe_enqueue({"shoot_event": "start"}, msg_type=2, high=True) diff --git a/version.py b/version.py index 0caacf8..c1c3049 100644 --- a/version.py +++ b/version.py @@ -4,6 +4,6 @@ 应用版本号 每次 OTA 更新时,只需要更新这个文件中的版本号 """ -VERSION = '2.16.2' +VERSION = '2.16.3'