feat: ClinicalSession meta.json에 firmware/hardware/serial 자동 기록

R&D 분석 시 펌웨어 버전별 데이터 grouping 가능 (VBTFW0111 vs VBTFW0116 등).

writeMeta()에서 BleManager 인스턴스의 firmwareVersion/hardwareVersion/serialNumber
state를 읽어 meta.json에 기록:
- "firmware_version": "VBTFW0116"
- "hardware_version": "VBTHW0100"
- "serial_number": "VBT26040001"

값이 비어있으면(연결 안 됨/응답 안 옴) 필드 생략. 측정 종료 시점(endMeasurement)에
한 번 더 writeMeta 호출되므로 측정 중 BLE 응답 받으면 자동 갱신됨.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-27 10:09:22 +09:00
parent e1fa0d1620
commit de3177e5e0
@@ -88,6 +88,14 @@ object ClinicalSessionStore {
put("device_manufacturer", android.os.Build.MANUFACTURER)
put("android_release", android.os.Build.VERSION.RELEASE)
put("android_sdk", android.os.Build.VERSION.SDK_INT)
// VBT 디바이스 정보 (mid?/rid: 응답 파싱값) — 분석 시 펌웨어별 데이터 grouping용
val ble = com.example.medilightv2android.ble.BleManager.getInstance(context)
val fw = ble.firmwareVersion.value
val hw = ble.hardwareVersion.value
val sn = ble.serialNumber.value
if (fw.isNotEmpty()) put("firmware_version", fw)
if (hw.isNotEmpty()) put("hardware_version", hw)
if (sn.isNotEmpty()) put("serial_number", sn)
}
File(dir, "meta.json").writeText(meta.toString(2))
}