Files
VesiscanClinicalAndroid/app
dw.jang a0b07def9a fix(clinical): 연결이 끊기면 기기에서 온 값을 비운다
연결 해제를 눌러도 앞 프로브의 값이 화면에 그대로 남아 있었다.

    방광 용적 187 mL        ← 끊긴 프로브의 값인데 "방광 용적"으로 보인다
    채널 파형 6개            ← 옛 신호
    채널 접촉 CH2 떠 있음     ← 옛 접촉
    수동 확인의 "마지막 측정" · 연속 대표값

끊기 버튼이 비우던 것은 anchorCm·anchorBasis 둘뿐이었다.

## 왜 위험한가

**프리셋이 다른 프로브로 갈아 끼우면 같은 신호가 전혀 다른 용적이 된다.**
PiezoHW.activePreset 이 dps·delay 를 정하고, 실측에서 같은 데이터가 125mL 와 490mL 로
갈렸다. R100/R200/R300 을 번갈아 쓰는 것이 이 화면의 정상 사용이라 — 끊기 버튼 주석이
그렇게 적고 있다 — 남은 값을 새 프로브의 값으로 읽는 일이 실제로 일어난다.

## 버튼이 아니라 isConnected 를 본다

프로브가 **스스로** 끊기는 경우가 있다(VBTFW0206 freeze, 2026-09-08 로그에서 advertising
까지 멈췄다). 버튼에만 넣으면 그때는 여전히 옛 값이 남는다. LaunchedEffect(isConnected)
한 곳에서 끊기는 모든 경우를 맡는다.

## 비우는 것과 남기는 것

    비움   runBv · liveChannels · detachSnapshot/Watcher
           수동 확인의 outcome · live · window · tick · mode
    남김   환자명 · 자세 · 충만도 · 반복 · 복부 두께   (조작자가 고른 설정)
           lastRunDir · pendingUploads                 (못 올린 파일을 다시 올릴 유일한 길)
           직전 실행 요약 · configFailed               ("직전 실행"이라 라벨이 정확하다)
           수동 확인 저장 결과 문구                     (남겼는지 의심하게 된다)

수동 확인은 모드도 내린다. 끊긴 채로 연속 측정이 돌면 3초마다 시간 초과만 쌓인다.

## 정렬 화면은 판정 기록을 지키되 경고한다

BV·파형·접촉은 같이 비우지만 **guide·records·last 는 비우지 않는다.** 한 위치가 20
cycle 인데 연결이 잠깐 끊겼다고 날리면 환자를 다시 눕혀야 한다. 재연결 후 이어서 재는
것이 정상 경로다.

다만 프로브를 **바꿔서** 연결하면 그 세션은 섞인 데이터가 된다 — align_result.json 의
hw_preset 은 한 번만 기록되므로 절반이 잘못 라벨링된다. 그 경우를 앱이 알 수 없으므로
경고 한 줄로 사람에게 묻는다: "같은 프로브면 이어서 재도 됩니다. 바꿨다면 [처음부터
다시 정렬]."

테스트 129개 통과.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 09:09:59 +09:00
..