Files
dw.jang bcbc7b440c refactor: 데모 브랜치 패키지 통일 com.example.medilightv2android → com.medithings.vesiscan
사용자앱 (feature/tab-navigation) 과 패키지 이름 일치. namespace + applicationId
둘 다 com.medithings.vesiscan 로 변경 (기존 데모 앱은 재설치 필요).

## 변경 범위
- Kotlin 148 파일: package + import 문 (714 occurrences)
- 디렉토리 이동: com/example/medilightv2android → com/medithings/vesiscan
  (main, test, androidTest 각각)
- app/build.gradle.kts: namespace, applicationId
- docs/FLAVOR_DEMO_STABLE.md: 참조 갱신
- V41DetectorCH4Test: BvDispatchResult.methodChosen → method (dto field name fix)

## 주의
- applicationId 가 바뀌므로 기존 데모 앱 (com.example.medilightv2android.demo) 은
  Android 관점에서 다른 앱으로 취급 — 재설치 시 PIN/설정 초기화됨.
- Fresh install 권장. 기존 앱 (com.example...) 은 별도로 uninstall 필요.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-02 14:30:43 +09:00

739 lines
53 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FILE: 주간보고서_dwjang_20260604.pptx
SLIDE SIZE: W=14630400 H=8229600 EMU | W=16.00in H=9.00in
SLIDE COUNT: 7
LAYOUTS:
[0] 0. 제목 슬라이드
[1] 0. 제목 반전 슬라이드
[2] 1. 빈 화면
[3] 1. 빈 반전 화면
[4] 2. 목차 슬라이드
[5] 2. 목차 반전 슬라이드
======================================================================
SLIDE 1
layout: 0. 제목 반전 슬라이드
background: type=BACKGROUND (5)
shape_count: 2
- shape name='TextBox 1' type=TEXT_BOX (17) autoshape=
geom: L=6620256 T=3749039 W=2785378 H=584775 EMU | L=7.24in T=4.10in W=3.05in H=0.64in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=False mL=0 mR=91440 mT=45720 mB=45720
text(60)='주간 진행 보고'
p0 lvl=0 align=None - text='주간 진행 보고'
r0 font='나눔고딕 ExtraBold' sz=32.0 b=True i=None c=inherit t='주간 '
r1 font='나눔고딕 ExtraBold' sz=32.0 b=True i=None c=inherit t='진행'
r2 font='나눔고딕 ExtraBold' sz=32.0 b=True i=None c=inherit t=' '
r3 font='나눔고딕 ExtraBold' sz=32.0 b=True i=None c=inherit t='보고'
- shape name='TextBox 2' type=TEXT_BOX (17) autoshape=
geom: L=6620256 T=4572000 W=3346429 H=369332 EMU | L=7.24in T=5.00in W=3.66in H=0.40in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=False mL=0 mR=91440 mT=45720 mB=45720
text(60)='2026-06-01 (월) ~ 06-05 (금)'
p0 lvl=0 align=None - text='2026-06-01 (월) ~ 06-05 (금)'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#55606C t='2026-06-01 (월) ~ 06-0'
r1 font='나눔고딕' sz=18.0 b=True i=None c=#55606C t='5'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#55606C t=' ('
r3 font='나눔고딕' sz=18.0 b=True i=None c=#55606C t='금'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#55606C t=')'
======================================================================
SLIDE 2
layout: 1. 빈 화면
background: type=BACKGROUND (5)
shape_count: 4
- shape name='TextBox 1' type=TEXT_BOX (17) autoshape=
geom: L=402336 T=173736 W=6236208 H=457200 EMU | L=0.44in T=0.19in W=6.82in H=0.50in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=False mL=0 mR=91440 mT=0 mB=45720
text(60)='Android App 진행 보고'
p0 lvl=0 align=None - text='Android App 진행 보고'
r0 font='나눔고딕 ExtraBold' sz=24.0 b=True i=None c=inherit t='Android App 진행 보고'
- shape name='TextBox 3' type=TEXT_BOX (17) autoshape=
geom: L=603504 T=868680 W=13240512 H=3842077 EMU | L=0.66in T=0.95in W=14.48in H=4.20in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=True mL=0 mR=91440 mT=45720 mB=45720
text(60)='테스트 페이지 + labdb 업로드 + BLE/IMU 파싱 준비 | • 모바일 앱 테스트용 페이지 구현 |'
p0 lvl=0 align=None - text='테스트 페이지 + labdb 업로드 + BLE/IMU 파싱 준비'
r0 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='테스트'
r1 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r2 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='페이지'
r3 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' + '
r4 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='labdb'
r5 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r6 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='업로드'
r7 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' + BLE/IMU '
r8 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='파싱'
r9 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r10 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='준비'
p1 lvl=0 align=None - text='• 모바일 앱 테스트용 페이지 구현'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='모바일'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' 앱 '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='테스트용'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='페이지'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r7 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='구현'
p2 lvl=1 align=None - text='– Clinical Measurement 모드 — 라벨 입력 + 6채널 라이브 시각화'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– Clinical Measurement '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='모드'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' — '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='라벨'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='입력'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' + 6채널 '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='라이브'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='시각화'
p3 lvl=1 align=None - text='– 폴더 단위 저장 (Downloads/VesiScan_Sessions/)'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='폴더'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='단위'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='저장'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' (Downloads/'
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='VesiScan_Sessions'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='/)'
p4 lvl=0 align=None - text='• labdb 업로드 기능 (Phase A+B)'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='labdb'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='업로드'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='기능'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' (Phase A+B)'
p5 lvl=1 align=None - text='– EncryptedSharedPreferences로 apiKey 안전 보관'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='EncryptedSharedPreferences로'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='apiKey'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='안전'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='보관'
p6 lvl=1 align=None - text='– register → admin 승인 → /upload/json'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– register → admin '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='승인'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' → /upload/'
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='json'
p7 lvl=1 align=None - text='– End Session 시 자동 업로드 + 폴더 내 .uploaded 마커 + 수동 재시도 버튼'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– End Session 시 '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='자동'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='업로드'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' + '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='폴더'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' 내 .uploaded '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='마커'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' + '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='수동'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='재시도'
r12 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r13 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='버튼'
p8 lvl=0 align=None - text='• BLE 명령어 수정 및 IMU 파싱 추가'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• BLE '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='명령어'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='수정'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' 및 IMU '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='파싱'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r7 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='추가'
p9 lvl=1 align=None - text='– rim: 응답 188B (15 samples × 12B) BE int16 파싱'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– rim: '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='응답'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' 188B (15 samples × 12B) BE int16 '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='파싱'
p10 lvl=1 align=None - text='– ImuPacketCollector — Accel ±4g (1/8192 LSB), Gyro ±500dps'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='ImuPacketCollector'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' — Accel ±4g (1/8192 LSB), Gyro ±500dps '
- shape name='AutoShape 2' type=AUTO_SHAPE (1) autoshape=
geom: L=7162800 T=3962400 W=304800 H=304800 EMU | L=7.83in T=4.33in W=0.33in H=0.33in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=TOP (1) wrap=True mL=91440 mR=91440 mT=45720 mB=45720
text(60)=''
p0 lvl=0 align=None - text=''
- shape name='그림 6' type=PICTURE (13) autoshape=
geom: L=9247388 T=297454 W=3157605 H=6841479 EMU | L=10.11in T=0.33in W=3.45in H=7.48in
line: color=inherit width_pt=None
======================================================================
SLIDE 3
layout: 1. 빈 화면
background: type=BACKGROUND (5)
shape_count: 5
- shape name='TextBox 1' type=TEXT_BOX (17) autoshape=
geom: L=402336 T=173736 W=6236208 H=457200 EMU | L=0.44in T=0.19in W=6.82in H=0.50in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=False mL=0 mR=91440 mT=0 mB=45720
text(60)='Android App 진행 보고'
p0 lvl=0 align=None - text='Android App 진행 보고'
r0 font='나눔고딕 ExtraBold' sz=24.0 b=True i=None c=inherit t='Android App 진행 보고'
- shape name='TextBox 3' type=TEXT_BOX (17) autoshape=
geom: L=603504 T=868680 W=13240512 H=4306307 EMU | L=0.66in T=0.95in W=14.48in H=4.71in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=True mL=0 mR=91440 mT=45720 mB=45720
text(60)='labdb 통합 정리 | • dataType "001" JSON 저장 및 표시 | – 내부 임상 R&D '
p0 lvl=0 align=None - text='labdb 통합 정리'
r0 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='labdb'
r1 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r2 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='통합'
r3 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r4 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='정리'
p1 lvl=0 align=None - text='• dataType "001" JSON 저장 및 표시'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='dataType'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' "001" JSON '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='저장'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' 및 '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='표시'
p2 lvl=1 align=None - text='– 내부 임상 R&D 구분용 — 외부 일반 VesiScan "000"과 분리'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='내부'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='임상'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' R&D '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='구분용'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' — '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='외부'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='일반'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='VesiScan'
r12 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' "000"과 '
r13 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='분리'
p3 lvl=1 align=None - text='– meta.json / measurement.json 양쪽에 data_type 필드 노출'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='meta.json'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' / '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='measurement.json'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='양쪽에'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='data_type'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='필드'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='노출'
p4 lvl=0 align=None - text='• labdb 웹에서 raw JSON 다운로드 가능'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='labdb'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='웹에서'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' raw JSON '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='다운로드'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r7 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='가능'
p5 lvl=1 align=None - text='– (raw 외 별도 처리 영역은 web 담당 — 미수정)'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– (raw 외 '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='별도'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='처리'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='영역은'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' web '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='담당'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' — '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='미수정'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=')'
p6 lvl=0 align=None - text='• 웹 프론트엔드 wall detection 알고리즘 V4.1로 변경'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• 웹 '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='프론트엔드'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' wall detection '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='알고리즘'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' V4.1로 '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='변경'
p7 lvl=0 align=None - text='• raw JSON 파일명에 session ID 포함 + 메타데이터 저장'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• raw JSON '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='파일명에'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' session ID '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='포함'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' + '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='메타데이터'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r7 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='저장'
p8 lvl=1 align=None - text='– 파일명만으로 측정 식별, examiner / posture / step / true_volume'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='파일명만으로'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='측정'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='식별'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=', examiner / posture / step / '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='true_volume'
p9 lvl=0 align=None - text='• PostgreSQL JSONB NULL byte 500 에러 해결'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• PostgreSQL JSONB NULL byte 500 '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='에러 해결'
p10 lvl=1 align=None - text='– 서버 /var/log/labdb.log 직접 확인 → BLE rid: 응답의 trailing NULL이'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='서버'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' /var/log/labdb.log '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='직접'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='확인'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' → BLE rid: '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='응답의'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' trailing '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='NULL이'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='원인'
p11 lvl=1 align=None - text='– BLE 파싱 + LabdbClient 양쪽에 재귀 sanitizer 추가'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– BLE '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='파싱'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' + '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='LabdbClient'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='양쪽에'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='재귀'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' sanitizer '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='추가'
- shape name='그림 7' type=PICTURE (13) autoshape=
geom: L=9135186 T=3057935 W=5076573 H=4302985 EMU | L=9.99in T=3.34in W=5.55in H=4.71in
line: color=inherit width_pt=None
- shape name='그림 9' type=PICTURE (13) autoshape=
geom: L=7075214 T=582514 W=3633182 H=2356549 EMU | L=7.74in T=0.64in W=3.97in H=2.58in
line: color=inherit width_pt=None
- shape name='그림 12' type=PICTURE (13) autoshape=
geom: L=10834869 T=582514 W=3393195 H=2356549 EMU | L=11.85in T=0.64in W=3.71in H=2.58in
line: color=inherit width_pt=None
======================================================================
SLIDE 4
layout: 1. 빈 화면
background: type=BACKGROUND (5)
shape_count: 3
- shape name='TextBox 1' type=TEXT_BOX (17) autoshape=
geom: L=402336 T=173736 W=6236208 H=457200 EMU | L=0.44in T=0.19in W=6.82in H=0.50in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=False mL=0 mR=91440 mT=0 mB=45720
text(60)='Android App 진행 보고'
p0 lvl=0 align=None - text='Android App 진행 보고'
r0 font='나눔고딕 ExtraBold' sz=24.0 b=True i=None c=inherit t='Android App 진행 보고'
- shape name='TextBox 3' type=TEXT_BOX (17) autoshape=
geom: L=603504 T=868680 W=13240512 H=5781070 EMU | L=0.66in T=0.95in W=14.48in H=6.32in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=True mL=0 mR=91440 mT=45720 mB=45720
text(60)='펌웨어 업데이트 대응 — reb 패킷 신구조 (208B → 210B) | • payload 앞에 ch_in'
p0 lvl=0 align=None - text='펌웨어 업데이트 대응 — reb 패킷 신구조 (208B → 210B)'
r0 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='펌웨어'
r1 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r2 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='업데이트'
r3 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r4 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='대응'
r5 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' — reb '
r6 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='패킷'
r7 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r8 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='신구조'
r9 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' (208B → 210B)'
p1 lvl=0 align=None - text='• payload 앞에 ch_info 2B 추가 = [ch_session 1B] + [ch_num 1B]'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• payload '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='앞에'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='ch_info'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' 2B '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='추가'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' = ['
r7 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='ch_session'
r8 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' 1B] + ['
r9 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='ch_num'
r10 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' 1B]'
p2 lvl=1 align=None - text='– [tag 4B][ch_info 2B][num_sample 2B][adc 200B][crc 2B]'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– [tag 4B]['
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='ch_info'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' 2B]['
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='num_sample'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' 2B]['
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='adc'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' 200B]['
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='crc'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' 2B]'
p3 lvl=0 align=None - text='• 채널/세션 정보로 측정 set 식별'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='채널'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='/'
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='세션'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='정보로'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r7 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='측정'
r8 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' set '
r9 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='식별'
p4 lvl=1 align=None - text='– 동일 ch_session = 한 측정 set으로 6개 reb 묶음'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='동일'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='ch_session'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' = 한 '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='측정'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='set으로'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' 6개 reb '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='묶음'
p5 lvl=1 align=None - text='– ch_num으로 채널 직접 indexing (도착 순서 의존 폐기)'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='ch_num으로'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='채널'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='직접'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' indexing ('
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='도착'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='순서'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='의존'
r12 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r13 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='폐기'
r14 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=')'
p6 lvl=0 align=None - text='• 누락/불일치 측정 set 자동 폐기'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='누락'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='/'
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='불일치'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='측정'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' set '
r7 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='자동'
r8 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r9 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='폐기'
p7 lvl=1 align=None - text='– session 불일치 / 중복 ch_num / 6채널 중 일부 누락 → 해당 set drop'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– session '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='불일치'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' / '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='중복'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='ch_num'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' / 6채널 중 '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='일부'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='누락'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' → '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='해당'
r12 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' set drop'
p8 lvl=1 align=None - text='– 다음 정상 set만 처리'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='다음'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='정상'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='set만'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='처리'
p9 lvl=0 align=None - text='• 한 곳 수정으로 전 화면 적용'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• 한 곳 '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='수정으로'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' 전 '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='화면'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='적용'
p10 lvl=1 align=None - text='– 도넛차트(maa?) · placement · 임상(mtb?) 모두 동일 collector'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='도넛차트'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='(maa?) · placement · '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='임상'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='('
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='mtb'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='?) '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='모두'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='동일'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' collector'
p11 lvl=1 align=None - text='– PiezoPacketCollector 한 군데만 신구조로 재작성'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='PiezoPacketCollector'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' 한 '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='군데만'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='신구조로'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='재작성'
p12 lvl=0 align=None - text='• Sensor 측정 시 IMU 값 — 가장 오래된 것 → 가장 최근 것으로 수정'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• Sensor '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='측정'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' 시 IMU 값 — '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='가장'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='오래된'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' 것 → '
r7 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='가장'
r8 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r9 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='최근'
r10 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r11 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='것으로'
r12 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r13 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='수정'
p13 lvl=1 align=None - text='– FIFO 첫 샘플 사용 버그 → 측정 순간 자세 반영을 위해 마지막 샘플로'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– FIFO 첫 '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='샘플'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='사용'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='버그'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' → '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='측정'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='순간'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='자세'
r12 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r13 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='반영을'
r14 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r15 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='위해'
r16 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r17 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='마지막'
r18 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r19 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='샘플로'
p14 lvl=1 align=None - text=''
p15 lvl=1 align=None - text='총 15개 받는데 맨 처음 들어온거는 더 적을 수 있음.'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='총 '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='15'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='개 받는데 맨 처음 '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='들어온거는'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='더 적을 수 있음'
r6 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='.'
p16 lvl=1 align=None - text='마지막으로 받은 imu값(최신) 을 센서 측정 당시의 imu로 이해하면 될것.'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='마지막으로 받은 '
r1 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='imu'
r2 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='값'
r3 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='('
r4 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='최신'
r5 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t=') '
r6 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='을 센서 측정 당시의 '
r7 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='imu'
r8 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='로 이해하면 '
r9 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='될것'
r10 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='.'
- shape name='그림 5' type=PICTURE (13) autoshape=
geom: L=8661917 T=1550078 W=2991267 H=4534533 EMU | L=9.47in T=1.70in W=3.27in H=4.96in
line: color=inherit width_pt=None
======================================================================
SLIDE 5
layout: 1. 빈 화면
background: type=BACKGROUND (5)
shape_count: 3
- shape name='TextBox 1' type=TEXT_BOX (17) autoshape=
geom: L=402336 T=173736 W=6236208 H=457200 EMU | L=0.44in T=0.19in W=6.82in H=0.50in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=False mL=0 mR=91440 mT=0 mB=45720
text(60)='Android App 진행 보고'
p0 lvl=0 align=None - text='Android App 진행 보고'
r0 font='나눔고딕 ExtraBold' sz=24.0 b=True i=None c=inherit t='Android App 진행 보고'
- shape name='TextBox 3' type=TEXT_BOX (17) autoshape=
geom: L=603504 T=868680 W=13240512 H=6858000 EMU | L=0.66in T=0.95in W=14.48in H=7.50in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=True mL=0 mR=91440 mT=45720 mB=45720
text(60)='ClinicalLive — V4.1 Wall Peak 오버레이 (사내 가시화 요청) | • 사내 임상 테스'
p0 lvl=0 align=None - text='ClinicalLive — V4.1 Wall Peak 오버레이 (사내 가시화 요청)'
r0 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='ClinicalLive — V4.1 Wall Peak 오버레이 (사내 가'
p1 lvl=0 align=None - text='• 사내 임상 테스트 진행자 요청 — 실시간 peak 위치 가시화'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• 사내 임상 테스트 진행자 요청 — 실시간 peak 위치 가시화'
p2 lvl=0 align=None - text='• V4.1 wall detection (walldetect.V41Detector)을 매 mtb 사이클마다'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• V4.1 wall detection (walldetect.V41De'
p3 lvl=1 align=None - text='– 입력: 6채널 raw ADC + ProbeProfileDto (PiezoMonitoring과 동일 설정'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– 입력: 6채널 raw ADC + ProbeProfileDto (Pi'
p4 lvl=1 align=None - text='– 출력: 채널별 antIdx(전벽) / postIdx(후벽) Int?'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– 출력: 채널별 antIdx(전벽) / postIdx(후벽) Int?'
p5 lvl=1 align=None - text='– runCatching으로 감싸 detection 실패가 측정 자체에 영향 없도록'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– runCatching으로 감싸 detection 실패가 측정 자체에'
p6 lvl=0 align=None - text='• 표시'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• 표시'
p7 lvl=1 align=None - text='– 그래프 위 세로선 마커 — ant=green, post=orange (alpha 0.75)'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– 그래프 위 세로선 마커 — ant=green, post=orange'
p8 lvl=1 align=None - text='– 채널 헤더 우측 "a{antIdx} p{postIdx}" 컬러 텍스트'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– 채널 헤더 우측 "a{antIdx} p{postIdx}" 컬러 텍스'
p9 lvl=1 align=None - text='– 기존 raw max peak 숫자도 그대로 유지'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– 기존 raw max peak 숫자도 그대로 유지'
p10 lvl=0 align=None - text='• 저장 데이터는 변경 없음'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• 저장 데이터는 변경 없음'
p11 lvl=1 align=None - text='– measurement.json / labdb payload는 그대로 raw ADC'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– measurement.json / labdb payload는 그대로'
p12 lvl=1 align=None - text='– V4.1 결과는 화면 표시 전용 — 알고리즘 변경 시 같은 데이터로 재분석'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– V4.1 결과는 화면 표시 전용 — 알고리즘 변경 시 같은 데이터로'
- shape name='그림 4' type=PICTURE (13) autoshape=
geom: L=7315200 T=3161841 W=6946073 H=3101503 EMU | L=8.00in T=3.46in W=7.60in H=3.39in
line: color=inherit width_pt=None
======================================================================
SLIDE 6
layout: 1. 빈 화면
background: type=BACKGROUND (5)
shape_count: 4
- shape name='TextBox 1' type=TEXT_BOX (17) autoshape=
geom: L=402336 T=173736 W=6236208 H=457200 EMU | L=0.44in T=0.19in W=6.82in H=0.50in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=False mL=0 mR=91440 mT=0 mB=45720
text(60)='Android App 진행 보고'
p0 lvl=0 align=None - text='Android App 진행 보고'
r0 font='나눔고딕 ExtraBold' sz=24.0 b=True i=None c=inherit t='Android App 진행 보고'
- shape name='TextBox 3' type=TEXT_BOX (17) autoshape=
geom: L=603504 T=868680 W=13240512 H=5586145 EMU | L=0.66in T=0.95in W=14.48in H=6.11in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=True mL=0 mR=91440 mT=45720 mB=45720
text(60)='사내 테스트 피드백 반영 — UX 정리 3건 및 오류 수정 | • 도넛차트 색깔 일관성 fix | – 증'
p0 lvl=0 align=None - text='사내 테스트 피드백 반영 — UX 정리 3건 및 오류 수정'
r0 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='사내'
r1 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r2 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='테스트'
r3 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r4 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='피드백'
r5 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r6 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='반영'
r7 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' — UX '
r8 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='정리'
r9 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' 3건'
r10 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t=' '
r11 font='나눔고딕 ExtraBold' sz=28.0 b=True i=None c=#222A33 t='및 오류 수정'
p1 lvl=0 align=None - text='• 도넛차트 색깔 일관성 fix'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='도넛차트'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='색깔'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='일관성'
r6 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' fix'
p2 lvl=1 align=None - text='– 증상: Single scan 309ml(노란색) 후 Auto scan 에서 색깔만 초록색으로 바뀌는 오'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='증상'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=': Single scan 309ml('
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='노란색'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=') 후 Auto scan '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='에서'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='색깔만'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='초록색으로'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='바뀌는 오류'
p3 lvl=2 align=None - text='· 표시값(maxVolumeMl)과 색깔(lastVolumeMl) source 불일치'
r0 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t='· '
r1 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t='표시값'
r2 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t='('
r3 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t='maxVolumeMl'
r4 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t=')과 '
r5 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t='색깔'
r6 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t='('
r7 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t='lastVolumeMl'
r8 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t=') source '
r9 font='나눔고딕' sz=13.0 b=False i=None c=#55606C t='불일치'
p4 lvl=1 align=None - text='– 수정: bladderLevel 업데이트도 maxVolumeMl 기준으로 통일'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='수정'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=': '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='bladderLevel'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='업데이트도'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='maxVolumeMl'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='기준으로'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='통일'
p5 lvl=0 align=None - text='• Setup 화면 Auto Scan Interval 카드 추가'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• Setup '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='화면'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' Auto Scan Interval '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='카드'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' '
r5 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='추가'
p6 lvl=1 align=None - text='– PiezoPersonalizationView에 신규 카드 — 600~5000ms 슬라이더 + ±200m'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='PiezoPersonalizationView에'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='신규'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='카드'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' — 600~5000ms '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='슬라이더'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' + ±200ms '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='스테퍼'
p7 lvl=1 align=None - text='– 기존 MaxVolume / CatheterThreshold 카드와 동일 톤, 3카드 verticalSc'
r0 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='기존'
r2 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='MaxVolume'
r4 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' / '
r5 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='CatheterThreshold'
r6 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r7 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='카드와'
r8 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' '
r9 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='동일'
r10 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t=' 톤, 3카드 '
r11 font='나눔고딕' sz=15.0 b=False i=None c=#222A33 t='verticalScroll'
p8 lvl=0 align=None - text='• BLE 끊김 banner 제거 — Silent Reconnect'
r0 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='• BLE '
r1 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='끊김'
r2 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' banner '
r3 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t='제거'
r4 font='나눔고딕' sz=18.0 b=True i=None c=#1E88E5 t=' — Silent Reconnect'
p9 lvl=1 align=None - text='– PiezoMonitoring / VivamyoMonitoring 양쪽 banner 표시 제거'
r0 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='PiezoMonitoring'
r2 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t=' '
r3 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='/ '
r4 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='VivamyoMonitoring'
r5 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t=' 양쪽 '
r6 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='banner '
r7 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='표시 제거'
p10 lvl=1 align=None - text='– BleManager.scheduleAutoReconnect()가 이미 백그라운드 재연결 시도'
r0 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='BleManager.scheduleAutoReconnect'
r2 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='()'
r3 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='가 이미 백그라운드 '
r4 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='재연결'
r5 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t=' 시도'
p11 lvl=1 align=None - text='– 측정 일시정지 / 배터리 폴링 재시작 등 다른 처리는 그대로 유지'
r0 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='– '
r1 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='측정 일시정지 '
r2 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='/ '
r3 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='배터리 '
r4 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t='폴링'
r5 font='나눔고딕' sz=15.0 b=None i=None c=#222A33 t=' 재시작 등 다른 처리는 그대로 유지'
p12 lvl=0 align=None - text='• 첫 연결시 배터리 잔량 표시가 안되는 오류 수정'
r0 font='나눔고딕' sz=None b=True i=None c=#1E88E5 t='• '
r1 font='나눔고딕' sz=None b=True i=None c=#1E88E5 t='첫 '
r2 font='나눔고딕' sz=None b=True i=None c=#1E88E5 t='연결시'
r3 font='나눔고딕' sz=None b=True i=None c=#1E88E5 t=' 배터리 잔량 표시가 안되는 오류 수정'
p13 lvl=0 align=None - text=''
p14 lvl=0 align=None - text=''
p15 lvl=0 align=None - text=''
- shape name='그림 5' type=PICTURE (13) autoshape=
geom: L=2457674 T=5771838 W=6630325 H=1743318 EMU | L=2.69in T=6.31in W=7.25in H=1.91in
line: color=inherit width_pt=None
- shape name='그림 7' type=PICTURE (13) autoshape=
geom: L=10593990 T=1256249 W=2486422 H=5387248 EMU | L=11.59in T=1.37in W=2.72in H=5.89in
line: color=inherit width_pt=None
======================================================================
SLIDE 7
layout: 1. 빈 화면
background: type=BACKGROUND (5)
shape_count: 1
- shape name='TextBox 1' type=TEXT_BOX (17) autoshape=
geom: L=6243111 T=3530025 W=2144177 H=584775 EMU | L=6.83in T=3.86in W=2.34in H=0.64in
fill: type=BACKGROUND (5)
line: color=inherit width_pt=None
textframe: anchor=None wrap=False mL=0 mR=91440 mT=45720 mB=45720
text(60)='감사합니다'
p0 lvl=0 align=None - text='감사합니다'
r0 font='나눔고딕 ExtraBold' sz=32.0 b=True i=None c=inherit t='감사합니다'