diff --git a/app/src/main/java/com/example/medilightv2android/services/AdcCsvLogger.kt b/app/src/main/java/com/example/medilightv2android/services/AdcCsvLogger.kt index 2ef931d..9a0d23e 100644 --- a/app/src/main/java/com/example/medilightv2android/services/AdcCsvLogger.kt +++ b/app/src/main/java/com/example/medilightv2android/services/AdcCsvLogger.kt @@ -16,6 +16,8 @@ object AdcCsvLogger { private val dayFmt = SimpleDateFormat("yyyy-MM-dd", Locale.US) private val timeFmt = SimpleDateFormat("HH:mm:ss.SSS", Locale.US) + var lastScanId: Int = 0 + private set private var scanCounter = 0 private fun getDir(): File { @@ -47,6 +49,7 @@ object AdcCsvLogger { val file = getTodayFile() val isNew = !file.exists() || file.length() == 0L scanCounter++ + lastScanId = scanCounter val timestamp = timeFmt.format(Date()) val volStr = volumeMl?.let { "%.1f".format(it) } ?: "" diff --git a/app/src/main/java/com/example/medilightv2android/services/BleDebugLogger.kt b/app/src/main/java/com/example/medilightv2android/services/BleDebugLogger.kt index 0942beb..2c1267b 100644 --- a/app/src/main/java/com/example/medilightv2android/services/BleDebugLogger.kt +++ b/app/src/main/java/com/example/medilightv2android/services/BleDebugLogger.kt @@ -156,8 +156,10 @@ class BleDebugLogger private constructor(private val context: Context) { } fun measurementResult(volumeMl: Double?, lrRatio: Double, validChannels: Int, urineLines: List) { + val scanId = AdcCsvLogger.lastScanId val msg = buildString { - append("MEASUREMENT vol=${volumeMl?.let { "%.1f".format(it) } ?: "null"}ml") + append("MEASUREMENT scan=$scanId") + append(" vol=${volumeMl?.let { "%.1f".format(it) } ?: "null"}ml") append(" lr=${"%.2f".format(lrRatio)}") append(" valid=$validChannels/6") append(" urine=[${urineLines.joinToString(",")}]") 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 cae2124..add6922 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 @@ -158,7 +158,7 @@ fun PiezoMonitoringView(appState: AppState) { } } else if (centerWallCount > 0) { Log.w("PiezoMonitor", "Insufficient center channels: $centerWallCount/4 (need 3+)") - bleManager.debugLogger.warn("BV_SKIP center=$centerWallCount/4 total=$totalWallCount/6") + bleManager.debugLogger.warn("BV_SKIP scan=${com.example.medilightv2android.services.AdcCsvLogger.lastScanId} center=$centerWallCount/4 total=$totalWallCount/6") com.example.medilightv2android.services.AdcCsvLogger.log(rawADC, null) android.widget.Toast.makeText(context, "측정 부족 (${centerWallCount}/4채널) — 센서 위치를 조절해주세요", @@ -166,7 +166,7 @@ fun PiezoMonitoringView(appState: AppState) { } } else { Log.d("PiezoMonitor", "No valid channels — volume unchanged") - bleManager.debugLogger.warn("BV_FAIL no valid channels") + bleManager.debugLogger.warn("BV_FAIL scan=${com.example.medilightv2android.services.AdcCsvLogger.lastScanId} no valid channels") val failADC = channels.sortedBy { it.channel }.map { it.buffer } com.example.medilightv2android.services.AdcCsvLogger.log(failADC, null) android.widget.Toast.makeText(context,