From 79b5e2b7ce51759fdaa7f4f0de0af2b47664eca5 Mon Sep 17 00:00:00 2001 From: jhchun Date: Fri, 24 Jul 2026 15:16:58 +0900 Subject: [PATCH] =?UTF-8?q?Piezo=20=EC=B1=84=EB=84=90=200=20=EC=B8=A1?= =?UTF-8?q?=EC=A0=95=20=EC=A0=84=20warmup=20delay(3ms)=20=EC=83=81?= =?UTF-8?q?=EC=88=98=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/measurement/piezo_measure.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/measurement/piezo_measure.c b/src/measurement/piezo_measure.c index d79d97f..86a69b5 100644 --- a/src/measurement/piezo_measure.c +++ b/src/measurement/piezo_measure.c @@ -41,6 +41,9 @@ /* real capture 전에 같은 채널에서 버스트+ADC capture를 버리는 횟수(dummy) */ #define PIEZO_DUMMY_CAPTURE_COUNT 1 +/* 채널 0 시작 전 안정을 위한 추가 딜레이 */ +#define PIEZO_CH0_WARMUP_TO_REAL_SETTLE_US 3000 + /* 6채널 sweep 결과 (각 채널의 평균 완료 후 최종만 저장) */ static uint16_t piezo_channels[PIEZO_NUM_CHANNELS][PIEZO_MEASURE_MAX_SAMPLES]; @@ -260,12 +263,12 @@ int piezo_measure_sweep(void) err = echo_adc_capture(echo_capture, samples); if (err) { - DBG_PRINTF("[ECHO] dummy capture fail ch=%d dummy=%d err=%d\r\n", ch, dummy, err); + //DBG_PRINTF("[ECHO] dummy capture fail ch=%d dummy=%d err=%d\r\n", ch, dummy, err); return ECHO_STATUS_CAPTURE; } - // 마지막 dummy capture와 첫 real capture 사이에도 같은 회복 시간 - k_busy_wait(PIEZO_AVG_INTER_BURST_GAP_US + 3000); + // 마지막 dummy capture와 첫 real capture 사이에도 같은 회복 시간 + 추가 안정화 + k_busy_wait(PIEZO_AVG_INTER_BURST_GAP_US + PIEZO_CH0_WARMUP_TO_REAL_SETTLE_US); } // 여기부터 실제 평균에 들어갈 capture