desc:NO2对CL2的交叉去除;初始化前20s气体数据显示0(规避挥发性有机物开始显示满量程问题)

main
xiaowusky 1 year ago
parent 362c3475b1
commit 9c987d6be3

@ -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),
)

@ -20,6 +20,8 @@ object GasPortUtils {
private var toDoCmdList: ArrayList<ByteArray> = 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
}
}

@ -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)

Loading…
Cancel
Save