From 76ec2713525bddcd31f11f0bf663774202e3aab9 Mon Sep 17 00:00:00 2001 From: jjangddu Date: Fri, 24 Apr 2026 13:49:30 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20msp/mbb=20=EB=AA=85=EB=A0=B9=EC=96=B4=20?= =?UTF-8?q?=EB=92=A4=EC=97=90=20=EA=B3=B5=EB=B0=B1=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?(mid=3F=EC=99=80=20=EB=8F=99=EC=9D=BC=20=ED=8F=AC=EB=A7=B7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기기가 파라미터 없는 명령에도 공백을 요구함 (펌웨어 파서 특성) - sendImuQuery: buildCommand("msp") → buildCommandASCII("msp", " ") - sendFullMeasurement: buildCommand("mbb") → buildCommandASCII("mbb", " ") - IMU 1초 쿼리 재활성화 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../java/com/example/medilightv2android/ble/BleManager.kt | 4 ++-- .../ui/views/monitoring/PiezoMonitoringView.kt | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt b/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt index 4c3fa8f..0ce9a43 100644 --- a/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt +++ b/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt @@ -358,13 +358,13 @@ class BleManager private constructor(private val context: Context) { } fun sendImuQuery() { - sendRaw(CRC16.buildCommand("msp")) + sendRaw(CRC16.buildCommandASCII("msp", " ")) } /** 전체 측정: 배터리+IMU+온도+6ch piezo (rbb→reb×6→raa) */ fun sendFullMeasurement() { piezoCollector.startMultiChannel(6) - sendRaw(CRC16.buildCommand("mbb")) + sendRaw(CRC16.buildCommandASCII("mbb", " ")) } /** 6채널 측정만 (maa, rbb 헤더 없이 바로 reb×6→raa) */ diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt index ef1416a..1c3622c 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt @@ -238,8 +238,10 @@ fun PiezoMonitoringView(appState: AppState) { if (autoTickCount % 10 == 0) { // 10초째: 6ch 측정 if (!isMeasuring) measure() + } else { + // 1~9초: IMU 쿼리 + if (!isMeasuring) bleManager.sendImuQuery() } - // IMU는 지원하는 기기에서만 (rxs: 응답 시 자동 비활성화) } } }