diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasPortUtils.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasPortUtils.kt index 5efec46..448cf77 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasPortUtils.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasPortUtils.kt @@ -11,7 +11,7 @@ object GasPortUtils { private const val PORT_PATH = "/dev/ttyS6" const val FULL_MSG_SIZE = 25 const val CHECK_TIME = 10000L - private const val READ_MSG_INTERVAL = 300L + private const val READ_MSG_INTERVAL = 200L private var mInitFlag = false private var readGasMsgThread: Thread? = null; diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt index e9dab14..44b340d 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt @@ -126,22 +126,22 @@ object ParseHelper { } private val overlayBuilder: StringBuilder = java.lang.StringBuilder() - private var lastTipTime = -1L private fun setOverlayData() { + if (gasMap.size < 4) { + return + } val currentTimeMillis = System.currentTimeMillis() - if (currentTimeMillis - lastTipTime > 1000) { - lastTipTime = currentTimeMillis - overlayBuilder.clear() - gasMap.forEach { item -> - val gas = item.value - val time = gas.time - // 3S内的数据我们认为有效 - if (currentTimeMillis - time <= 3000) { - overlayBuilder.append("${gas.gasName}: ${gas.gasValue} ${gas.unit}").append("@") - } + overlayBuilder.clear() + gasMap.forEach { item -> + val gas = item.value + val time = gas.time + // 3S内的数据我们认为有效 + if (currentTimeMillis - time <= 3000) { + overlayBuilder.append("${gas.gasName}: ${gas.gasValue} ${gas.unit}").append("@") } - TxtOverlay.setShowTip(overlayBuilder.toString()) } + TxtOverlay.setShowTip(overlayBuilder.toString()) + gasMap.clear() } /**