diff --git a/app/src/main/java/com/example/medilightv2android/ble/ImuPacketCollector.kt b/app/src/main/java/com/example/medilightv2android/ble/ImuPacketCollector.kt index 3e64c11..cac90b2 100644 --- a/app/src/main/java/com/example/medilightv2android/ble/ImuPacketCollector.kt +++ b/app/src/main/java/com/example/medilightv2android/ble/ImuPacketCollector.kt @@ -129,6 +129,10 @@ class ImuPacketCollector { onLog?.invoke("rim: too short (${data.size}B)") return } + // RAW DUMP — division 전 원본 byte + int16 값 logcat 으로 출력 (디버그용). + val totalHex = data.joinToString(" ") { "%02X".format(it) } + android.util.Log.d("ImuRaw", "rim FULL HEX (${data.size}B): $totalHex") + val numSamples = readBe16(data, 4) val payloadBytes = data.size - HEADER_BYTES - CRC_BYTES val expectedBytes = numSamples * SAMPLE_SIZE_BYTES @@ -145,6 +149,15 @@ class ImuPacketCollector { val gxRaw = readBe16Signed(data, off + 6) val gyRaw = readBe16Signed(data, off + 8) val gzRaw = readBe16Signed(data, off + 10) + + // 첫 sample / 마지막 sample 만 raw int16 dump (모든 sample 로깅하면 폭주) + if (i == 0 || i == numSamples - 1) { + android.util.Log.d("ImuRaw", + "rim sample[$i] raw int16: ax=$axRaw ay=$ayRaw az=$azRaw " + + "gx=$gxRaw gy=$gyRaw gz=$gzRaw " + + "(g if /8192: ax=${"%.4f".format(axRaw / 8192f)} ay=${"%.4f".format(ayRaw / 8192f)} az=${"%.4f".format(azRaw / 8192f)})") + } + parsed.add(ImuSample( ax = axRaw / ACCEL_LSB_PER_G, ay = ayRaw / ACCEL_LSB_PER_G,