diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasConstants.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasConstants.kt index b8c46eb..c81641b 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasConstants.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasConstants.kt @@ -166,7 +166,7 @@ val gas_cross_impact_map = hashMapOf( Pair(SO2, so2_gas_cross_impact_map), Pair(CO, co_gas_cross_impact_map), Pair(H2S, h2s_gas_cross_impact_map), - Pair(CL2, cl2_gas_cross_impact_map), +// Pair(CL2, cl2_gas_cross_impact_map), Pair(NH3, nh3_gas_cross_impact_map), Pair(NO, no_gas_cross_impact_map), ) 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 92c40b3..ef9bf88 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 @@ -20,6 +20,8 @@ object GasPortUtils { private var toDoCmdList: ArrayList = ArrayList() private val listeners: ArrayList<(ByteArray) -> Unit> = ArrayList() private val switchStatus = booleanArrayOf(true, true, true, true, true) + private var initTime = 0L + private var afterDelay = false fun setSwitch(index: Int, status: Boolean) { switchStatus[index] = status @@ -39,6 +41,8 @@ object GasPortUtils { } fun initPort() { + initTime = System.currentTimeMillis() + afterDelay = false openPorts() readGasMsg() TxtOverlay.startShow(null) @@ -141,4 +145,15 @@ object GasPortUtils { toDoCmdList.add(buildSensorRangeCmd(index, value)) } } + + /** + * 是否初始化超过20s + */ + fun isInitOver20Second(): Boolean { + if (afterDelay || System.currentTimeMillis() - initTime > 20000) { + afterDelay = true + return true + } + return false + } } \ No newline at end of file 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 3d7312c..c780604 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 @@ -117,6 +117,9 @@ object ParseHelper { c18.plus(c17).plus(java.lang.Long.toBinaryString(valueHexLong)).toInt(2) / 10f.pow( pointNum ) + if (!GasPortUtils.isInitOver20Second()) { + value = 0f + } // 量程 val rangHex: String = HexUtils.byteArrToHex(it, 11, 11 + 2) val rangHexLong: Long = HexUtils.hexToLong(rangHex)