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 20cab69..8bbd079 100644 --- a/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt +++ b/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt @@ -306,47 +306,51 @@ class BleManager private constructor(private val context: Context) { // Piezo Commands val piezoCollector = PiezoPacketCollector() + // ── Piezo Commands (테스터 exe와 동일 포맷: 파라미터=BE, 빈 파라미터=공백) ── + fun sendPiezoPowerOn(freqOption: Int = 2, cycles: Int = 5) { - sendRaw(CRC16.buildCommand("mpa", intArrayOf(freqOption, cycles))) + sendRaw(CRC16.buildCommandBE("mpa", intArrayOf(freqOption, cycles))) } fun sendPiezoStop() { - sendRaw(CRC16.buildCommand("mps")) + sendRaw(CRC16.buildCommandASCII("mps", " ")) } fun sendBurst(freqOption: Int, cycles: Int, delayUs: Int, piezoCh: Int = 0) { - sendRaw(CRC16.buildCommand("mec", intArrayOf(freqOption, delayUs, 140, cycles, 1, piezoCh))) + sendRaw(CRC16.buildCommandBE("mec", intArrayOf(freqOption, delayUs, 140, cycles, 1, piezoCh))) } - /** 6-channel measurement (maa) */ fun sendAllChannels(mode: Int = 0) { piezoCollector.startMultiChannel(6) - sendRaw(CRC16.buildCommand("maa", intArrayOf(mode))) + sendRaw(CRC16.buildCommandASCII("maa", " ")) } - // NIRS Commands + // ── NIRS Commands ── + fun sendNirsPowerOn() { - sendRaw(CRC16.buildCommand("mta", intArrayOf(1))) + sendRaw(CRC16.buildCommandBE("mta", intArrayOf(1))) } fun sendNirsPowerOff() { - sendRaw(CRC16.buildCommand("mta", intArrayOf(0))) + sendRaw(CRC16.buildCommandBE("mta", intArrayOf(0))) } fun sendMqqQuery() { - sendRaw(CRC16.buildCommand("mqq")) + sendRaw(CRC16.buildCommandASCII("mqq", " ")) } fun sendMagQuery() { - sendRaw(CRC16.buildCommand("mag")) + sendRaw(CRC16.buildCommandASCII("mag", " ")) } fun sendMcjQuery() { - sendRaw(CRC16.buildCommand("mcj")) + sendRaw(CRC16.buildCommandASCII("mcj", " ")) } + // ── Common Commands ── + fun sendBatteryQuery() { - sendRaw(CRC16.buildCommand("msn", intArrayOf(0))) + sendRaw(CRC16.buildCommandBE("msn", intArrayOf(0))) } fun sendDeviceInfoQuery() { @@ -367,10 +371,10 @@ class BleManager private constructor(private val context: Context) { sendRaw(CRC16.buildCommandASCII("mbb", " ")) } - /** 6채널 측정만 (maa, rbb 헤더 없이 바로 reb×6→raa) */ + /** 6채널 측정만 (maa) */ fun sendChannelsOnly() { piezoCollector.startMultiChannel(6) - sendRaw(CRC16.buildCommand("maa", intArrayOf(0))) + sendRaw(CRC16.buildCommandASCII("maa", " ")) } fun startBatteryPolling() {