diff --git a/app/src/main/java/com/casic/detector/common/service/SerialPortService.kt b/app/src/main/java/com/casic/detector/common/service/SerialPortService.kt index 3173907..af54d85 100644 --- a/app/src/main/java/com/casic/detector/common/service/SerialPortService.kt +++ b/app/src/main/java/com/casic/detector/common/service/SerialPortService.kt @@ -57,7 +57,7 @@ //读 while (isActive) { try { - val buffer = ByteArray(64) + val buffer = ByteArray(16) val size = stream.read(buffer) if (size > 0) { withContext(Dispatchers.Main) { @@ -79,7 +79,7 @@ //读 while (isActive) { try { - val buffer = ByteArray(64) + val buffer = ByteArray(16) val size = stream.read(buffer) if (size > 0) { withContext(Dispatchers.Main) { @@ -100,7 +100,7 @@ //调高串口电位 gpioManager.setGpioHigh("18") Log.d(kTag, "getOutputStream: 调高串口电位") - return serialPorts.first().outputStream + return serialPorts.last().outputStream } fun closeSerialPort() { diff --git a/app/src/main/java/com/casic/detector/common/service/SerialPortService.kt b/app/src/main/java/com/casic/detector/common/service/SerialPortService.kt index 3173907..af54d85 100644 --- a/app/src/main/java/com/casic/detector/common/service/SerialPortService.kt +++ b/app/src/main/java/com/casic/detector/common/service/SerialPortService.kt @@ -57,7 +57,7 @@ //读 while (isActive) { try { - val buffer = ByteArray(64) + val buffer = ByteArray(16) val size = stream.read(buffer) if (size > 0) { withContext(Dispatchers.Main) { @@ -79,7 +79,7 @@ //读 while (isActive) { try { - val buffer = ByteArray(64) + val buffer = ByteArray(16) val size = stream.read(buffer) if (size > 0) { withContext(Dispatchers.Main) { @@ -100,7 +100,7 @@ //调高串口电位 gpioManager.setGpioHigh("18") Log.d(kTag, "getOutputStream: 调高串口电位") - return serialPorts.first().outputStream + return serialPorts.last().outputStream } fun closeSerialPort() { diff --git a/app/src/main/java/com/casic/detector/common/view/InstallMarkerActivity.kt b/app/src/main/java/com/casic/detector/common/view/InstallMarkerActivity.kt index c50ce8c..03195fc 100644 --- a/app/src/main/java/com/casic/detector/common/view/InstallMarkerActivity.kt +++ b/app/src/main/java/com/casic/detector/common/view/InstallMarkerActivity.kt @@ -60,7 +60,8 @@ import java.util.Calendar import java.util.Date -class InstallMarkerActivity : KotlinBaseActivity() { +class InstallMarkerActivity : KotlinBaseActivity(), + OnSerialPortDataListener { private val kTag = "InstallMarkerActivity" private val context = this @@ -251,25 +252,25 @@ LoadingDialogHub.show(this, "标识器读取中,请稍后...") countDownTimer.start() binding.readMarkerButton.isEnabled = false - serialPortService?.openSerialPort(object : OnSerialPortDataListener { - override fun write(outStream: OutputStream) { - outStream.write('2'.code) - outStream.flush() - } + serialPortService?.openSerialPort(this) + } + } - override fun onDataReceived(buffer: ByteArray) { - val hex = buffer.toHex() - Log.d(kTag, hex) - val markerId = hex.take(20).hexToString() - if (markerId.isNumber()) { - LoadingDialogHub.dismiss() - countDownTimer.cancel() - serialPortService?.closeSerialPort() - binding.readMarkerButton.isEnabled = true - binding.identifierInclude.identifierIdView.text = markerId - } - } - }) + override fun write(outStream: OutputStream) { + outStream.write('2'.code) + outStream.flush() + } + + override fun onDataReceived(buffer: ByteArray) { + val hex = buffer.toHex() + Log.d(kTag, hex) + val markerId = hex.take(20).hexToString() + if (markerId.isNumber()) { + LoadingDialogHub.dismiss() + countDownTimer.cancel() + serialPortService?.closeSerialPort() + binding.readMarkerButton.isEnabled = true + binding.identifierInclude.identifierIdView.text = markerId } }