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 413848d..5f0cab0 100644 --- a/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt +++ b/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt @@ -367,6 +367,12 @@ class BleManager private constructor(private val context: Context) { sendRaw(CRC16.buildCommand("mbb")) } + /** 6채널 측정만 (maa, rbb 헤더 없이 바로 reb×6→raa) */ + fun sendChannelsOnly() { + piezoCollector.startMultiChannel(6) + sendRaw(CRC16.buildCommand("maa", intArrayOf(0))) + } + fun startBatteryPolling() { batteryTimer?.let { handler.removeCallbacks(it) } sendBatteryQuery() 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 cc79a4d..2ebb4f9 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 @@ -181,7 +181,7 @@ fun PiezoMonitoringView(appState: AppState) { } bleManager.piezoCollector.onLog = { msg -> Log.d("PiezoCollector", msg) } - bleManager.sendFullMeasurement() + bleManager.sendChannelsOnly() // Timeout with auto-retry (15s) handler.postDelayed({ @@ -190,7 +190,7 @@ fun PiezoMonitoringView(appState: AppState) { measureRetryCount++ Log.w("PiezoMonitor", "Timeout — auto-retry $measureRetryCount/$maxMeasureRetries") bleManager.piezoCollector.reset() - bleManager.sendFullMeasurement() + bleManager.sendChannelsOnly() // Second timeout for retry handler.postDelayed({ if (!isMeasuring) return@postDelayed @@ -236,11 +236,11 @@ fun PiezoMonitoringView(appState: AppState) { autoTickCount++ if (autoTickCount % 10 == 0) { - // 10초째: 전체 측정 (mbb → rbb + reb×6 + raa) + // 10초째: 6ch 측정 if (!isMeasuring) measure() } else { // 1~9초: IMU 쿼리 (msp → rsp) - bleManager.sendImuQuery() + if (!isMeasuring) bleManager.sendImuQuery() } } }