From 90c0a93a5e93f2dcbac9ff892ed6e4635427d2a0 Mon Sep 17 00:00:00 2001 From: steven Date: Tue, 3 Mar 2026 22:31:33 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=80=ED=8C=85=20=EC=8B=9C=20=EA=B0=80?= =?UTF-8?q?=EC=9D=B4=EB=93=9C=EB=B9=94=20=ED=8C=A8=ED=82=B7=20=EB=A7=9E?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../raman/ui/screens/main/MainViewModel.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/laseroptek/raman/ui/screens/main/MainViewModel.kt b/app/src/main/java/com/laseroptek/raman/ui/screens/main/MainViewModel.kt index b5a5063..7a81810 100644 --- a/app/src/main/java/com/laseroptek/raman/ui/screens/main/MainViewModel.kt +++ b/app/src/main/java/com/laseroptek/raman/ui/screens/main/MainViewModel.kt @@ -825,7 +825,7 @@ class MainViewModel @Inject constructor( txPacket(READ_WRITE.WRITE, CMD.Q_SWITCH, qSwitch.value) // tx Guide Beam Write - txPacket(READ_WRITE.WRITE, CMD.GUIDE_BEAM, GuideBeam(value = guideBeam.value.toInt())) + txPacket(READ_WRITE.WRITE, CMD.GUIDE_BEAM, GuideBeam(value = getGuideBeamTxValue())) // tx DCD_GAS Write (DEFAULT VALUE) txPacket(READ_WRITE.WRITE, CMD.DCD_GAS, dcdGas.value.copy(status = 0x50)) @@ -834,6 +834,18 @@ class MainViewModel @Inject constructor( txPacket(READ_WRITE.WRITE, CMD.SPRAY_DCD, sprayDcd.value) } + // Guide Beam step mapping (0~10) + // 0 -> fixed 0 + // 1~10 -> min~max range in 10 steps (10 -> max) + private fun getGuideBeamTxValue(): Int { + val step = guideBeam.value.toInt().coerceIn(0, 10) + return if (step == 0) { + 0 + } else { + guideBeamMin.value + ((step - 1) * (guideBeamMax.value - guideBeamMin.value) / 9) + } + } + // Example: Emitting an event after a delay fun txPacketLoop() { viewModelScope.launch {