From 4ecec2f0f2f939968e1379f7d5a8ded0d30340f5 Mon Sep 17 00:00:00 2001 From: jhchun Date: Fri, 24 Jul 2026 11:24:38 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B1=84=EB=84=900=20=EC=B8=A1=EC=A0=95=20?= =?UTF-8?q?=EC=8B=9C=EC=9E=91=20=EC=A0=84=20dummy=20burst=20+=20ADC=20capt?= =?UTF-8?q?ure=205=ED=9A=8C=EC=97=90=EC=84=9C=201=ED=9A=8C=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD(=EB=8B=A4=EC=9D=8C=EC=A3=BC=20=EC=B5=9C?= =?UTF-8?q?=EC=A2=85=20=EC=88=98=EC=A0=95=20=ED=95=84=EC=9A=94)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 채널 0 흔들림 개선을 위함 - 현재 평균 5회 이상 신호 양호 --- src/measurement/piezo_measure.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/measurement/piezo_measure.c b/src/measurement/piezo_measure.c index 3df7ae3..d79d97f 100644 --- a/src/measurement/piezo_measure.c +++ b/src/measurement/piezo_measure.c @@ -39,7 +39,7 @@ #define PIEZO_AVG_INTER_BURST_GAP_US 650 /* real capture 전에 같은 채널에서 버스트+ADC capture를 버리는 횟수(dummy) */ -#define PIEZO_DUMMY_CAPTURE_COUNT 5 +#define PIEZO_DUMMY_CAPTURE_COUNT 1 /* 6채널 sweep 결과 (각 채널의 평균 완료 후 최종만 저장) */ static uint16_t piezo_channels[PIEZO_NUM_CHANNELS][PIEZO_MEASURE_MAX_SAMPLES]; @@ -227,10 +227,11 @@ int piezo_measure_sweep(void) DBG_PRINTF("[ECHO] dummy read fail ch=%d err=%d\r\n", ch, err); return ECHO_STATUS_CAPTURE; } - + if (ch == 0U) // 채널 0 시작 전에만 dummy burst + ADC capture 수행 { - // Dummy burst - ADC caputre는 수행하지 않음 + // Dummy burst + ADC caputre + /* for (uint8_t dummy = 0; dummy < PIEZO_DUMMY_CAPTURE_COUNT; dummy++) { k_busy_wait(PIEZO_AVG_INTER_BURST_GAP_US); @@ -251,6 +252,16 @@ int piezo_measure_sweep(void) DBG_PRINTF("[ECHO] dummy capture fail ch=%d dummy=%d err=%d\r\n", ch, dummy, err); return ECHO_STATUS_CAPTURE; } + }*/ + + k_busy_wait(PIEZO_AVG_INTER_BURST_GAP_US); + piezo_burst_sw_freq(freq, cycles); + k_busy_wait(capture_delay_us); + 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); + return ECHO_STATUS_CAPTURE; } // 마지막 dummy capture와 첫 real capture 사이에도 같은 회복 시간