From 40cf9d224efb9a53d7f7c2d7f36c369b2d0e7afe Mon Sep 17 00:00:00 2001 From: jjangddu Date: Tue, 4 Aug 2026 11:20:05 +0900 Subject: [PATCH] =?UTF-8?q?fix(hw):=20R100/R200/R300=20=EA=B0=81=EB=8F=84?= =?UTF-8?q?=20=EC=8A=A4=ED=8E=99=20=EA=B0=B1=EC=8B=A0=20=C2=B7=20raw=20?= =?UTF-8?q?=EA=B0=81=EB=8F=84=20+=20lateral=20=EC=95=84=EB=9E=9810=C2=B0/?= =?UTF-8?q?=EC=A2=8C=EC=9A=B05=C2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 배경 (2026-08-04 · 사용자 · HW 스펙 변경): 실제 피부 입사각 = 아래 방향 10°, 좌우 방향 5°. Python HW_VERSIONS 를 raw 각도 그대로 사용하도록 개정 (Snell 후 보정 미적용). V1/V2 는 ABS→gel Snell 보정 유지, R 시리즈만 raw. 변경 (degreeAll): R100: [0.0, -4.4, -8.7, -13.0, -6.87, -6.87] → [0.0, -7.0, -14.0, -21.0, -10.0, -10.0] R200: [3.1, -2.5, -7.5, -13.0, -6.87, -6.87] → [5.0, -4.0, -12.0, -21.0, -10.0, -10.0] R300: [0.0, -5.6, -11.2, -16.6, -6.87, -6.87] → [0.0, -9.0, -18.0, -27.0, -10.0, -10.0] 변경 (degreeLRAll · CH4/CH5 lateral): R100/R200/R300: [-3.42, +3.42] → [-5.0, +5.0] sensor_z_mm 은 변경 없음 (V2 와 동일 [19.3, 13.0, 6.7, 0.0, 9.85, 9.85]). 검증: BUILD SUCCESSFUL 2s --- .../vesiscan/managers/PiezoBVEstimator.kt | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/medithings/vesiscan/managers/PiezoBVEstimator.kt b/app/src/main/java/com/medithings/vesiscan/managers/PiezoBVEstimator.kt index f8ef100..d959bcd 100644 --- a/app/src/main/java/com/medithings/vesiscan/managers/PiezoBVEstimator.kt +++ b/app/src/main/java/com/medithings/vesiscan/managers/PiezoBVEstimator.kt @@ -97,13 +97,16 @@ object PiezoHW { DevicePreset.V0 -> doubleArrayOf(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) DevicePreset.V1 -> doubleArrayOf(6.89, 0.0, -6.89, -13.66, -6.87, -6.87) DevicePreset.V2 -> doubleArrayOf(0.0, -6.89, -13.66, -20.20, -6.87, -6.87) - // 2026-08-03 실리콘 렌즈 목업 3종 (raw 각도 → Snell 후 · lateral 아래10°→-6.87): - // R1 raw 0/7/14/21 → Snell 0/-4.4/-8.7/-13.0 - // R2 raw -5/4/12/21 → Snell 3.1/-2.5/-7.5/-13.0 - // R3 raw 0/9/18/27 → Snell 0/-5.6/-11.2/-16.6 - DevicePreset.R100 -> doubleArrayOf(0.0, -4.4, -8.7, -13.0, -6.87, -6.87) - DevicePreset.R200 -> doubleArrayOf(3.1, -2.5, -7.5, -13.0, -6.87, -6.87) - DevicePreset.R300 -> doubleArrayOf(0.0, -5.6, -11.2, -16.6, -6.87, -6.87) + // 2026-08-04 실리콘 렌즈 목업 3종 · raw 각도 사용 (Python HW_VERSIONS 스펙 변경). + // V1/V2 는 ABS→gel Snell 보정값을 사용하지만, R 시리즈는 raw 각도를 + // 그대로 사용하기로 결정 (algorithm 팀). 주석의 Snell 값은 참고용. + // Lateral CH4/CH5: 피부 입사각 아래 10° · 좌우 5° (사용자 지정 2026-08-04). + // R1 raw 0/-7/-14/-21 (Snell 참고: 0/-4.4/-8.7/-13.0) + // R2 raw +5/-4/-12/-21 (Snell 참고: +3.1/-2.5/-7.5/-13.0) + // R3 raw 0/-9/-18/-27 (Snell 참고: 0/-5.6/-11.2/-16.6) + DevicePreset.R100 -> doubleArrayOf(0.0, -7.0, -14.0, -21.0, -10.0, -10.0) + DevicePreset.R200 -> doubleArrayOf(5.0, -4.0, -12.0, -21.0, -10.0, -10.0) + DevicePreset.R300 -> doubleArrayOf(0.0, -9.0, -18.0, -27.0, -10.0, -10.0) } // 6채널 전체 LR 빔 각도 (Snell's law 굴절 후) @@ -113,9 +116,9 @@ object PiezoHW { DevicePreset.V0 -> doubleArrayOf(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) DevicePreset.V1 -> doubleArrayOf(0.0, 0.0, 0.0, 0.0, -3.42, 3.42) DevicePreset.V2 -> doubleArrayOf(0.0, 0.0, 0.0, 0.0, -3.42, 3.42) - // R 시리즈: raw 좌우 5° → Snell -3.42° (V1/V2 와 동일). + // 2026-08-04: R 시리즈 raw 각도 사용 · 피부 입사각 좌우 5° (사용자 지정). DevicePreset.R100, DevicePreset.R200, DevicePreset.R300 -> - doubleArrayOf(0.0, 0.0, 0.0, 0.0, -3.42, 3.42) + doubleArrayOf(0.0, 0.0, 0.0, 0.0, -5.0, 5.0) } // BV용 center 채널만 (CH0~CH3)