From e82941a161a1030acf310945abffc57f232acc29 Mon Sep 17 00:00:00 2001 From: linyimin <18316471919@139.com> Date: Tue, 11 Aug 2026 09:26:30 +0800 Subject: [PATCH] =?UTF-8?q?pref:=20=E5=88=A0=E9=99=A4=E6=97=A0=E5=BC=95?= =?UTF-8?q?=E7=94=A8=E6=96=B9=E6=B3=95=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/main.py b/main.py index fe768fe..aa7c5fe 100644 --- a/main.py +++ b/main.py @@ -290,37 +290,31 @@ def cmd_str(): pressure_buf = [] pressure_sum = 0 - pressure_abs_sum = 0 pressure_min = 4095 pressure_max = 0 pressure_t0_ms = None - last_avg_abs = 0 def _flush_pressure_buf(reason: str): - nonlocal pressure_buf, pressure_sum, pressure_min, pressure_max, pressure_t0_ms, logger, pressure_abs_sum, last_avg_abs + nonlocal pressure_buf, pressure_sum, pressure_min, pressure_max, pressure_t0_ms, logger if not pressure_buf: return if config.AIR_PRESSURE_lOG: t1_ms = time.ticks_ms() n = len(pressure_buf) avg = (pressure_sum / n) if n else 0 - avg_abs = (pressure_abs_sum / n) if n else 0 line = ( f"[气压批量] reason={reason} " f"t0={pressure_t0_ms} t1={t1_ms} n={n} " - f"min={pressure_min} max={pressure_max} avg={avg:.1f} avg_abs={avg_abs:.3f} " + f"min={pressure_min} max={pressure_max} avg={avg:.1f} " f"values={','.join(map(str, pressure_buf))}" - f" convert value (kpa): {(max(pressure_buf, key=lambda x: x[1])[1] - last_avg_abs) / (5 - 2.5) * config.AIR_PRESSURE_HARDWARE_MAX:.1f}" ) if logger: logger.debug(line) else: print(line) - last_avg_abs = avg_abs # 无论是否记录日志,都必须清空 buffer,否则内存泄漏 pressure_buf = [] pressure_sum = 0 - pressure_abs_sum = 0 pressure_min = 4095 pressure_max = 0 pressure_t0_ms = None @@ -358,12 +352,10 @@ def cmd_str(): if network_manager.manual_trigger_flag: network_manager.clear_manual_trigger() adc_val = config.ADC_TRIGGER_THRESHOLD + 1 - adc_abs_val = 10 if logger: logger.info("[TEST] TCP命令触发射箭") else: adc_val = hardware_manager.adc_obj.read() - adc_abs_val = hardware_manager.adc_obj.read_vol() except Exception as e: logger = logger_manager.logger if logger: @@ -374,9 +366,8 @@ def cmd_str(): # ====== 气压采样缓存(每次循环都记录,批量输出日志)====== if pressure_t0_ms is None: pressure_t0_ms = current_time - pressure_buf.append((adc_val, adc_abs_val)) + pressure_buf.append(adc_val) pressure_sum += adc_val - pressure_abs_sum += adc_abs_val if adc_val < pressure_min: pressure_min = adc_val if adc_val > pressure_max: