desc:传感器默认最大量程

main
xiaowusky 1 year ago
parent 9e2289e30d
commit 66b6f9f115

@ -104,13 +104,13 @@ object ParseHelper {
c18.plus(c17).plus(java.lang.Long.toBinaryString(valueHexLong)).toInt(2) / 10f.pow(
pointNum
)
// 量程
val rangHex: String = HexUtils.byteArrToHex(it, 11, 11 + 2)
val rangHexLong: Long = HexUtils.hexToLong(rangHex)
// // 量程
// val rangHex: String = HexUtils.byteArrToHex(it, 11, 11 + 2)
// val rangHexLong: Long = HexUtils.hexToLong(rangHex)
// 是否超量程
val overRange = value > rangHexLong || status == 8
val overRange = value > type.rangMax || status == 8
LogUtils.w("receive msg 单位转换前 $type, 浓度 = $value $unit, 最大量程 = $rangHexLong")
LogUtils.w("receive msg 单位转换前 $type, 浓度 = $value $unit, 最大量程 = ${type.rangMax}")
//根据单位进行数值转换
val localGasUnit = getLocalGasUnit(type.desc)

@ -34,26 +34,41 @@ const val CH4_LEL2PPMFACTOR = 500f
const val H2S_LEL2PPMFACTOR = 430f
const val H2_LEL2PPMFACTOR = 400f
// 基于传感器默认单位的最大量程
const val RANGE_MAX_H2_CH4 = 100
const val RANGE_MAX_O2 = 30
const val RANGE_MAX_CO = 1000
const val RANGE_MAX_H2S = 100
const val RANGE_MAX_NH3 = 500
const val RANGE_MAX_SO2 = 20
const val RANGE_MAX_CL2 = 10
const val RANGE_MAX_HF = 10
const val RANGE_MAX_NO = 250
const val RANGE_MAX_NO2 = 20
const val RANGE_MAX_CO2 = 5000
const val RANGE_MAX_VOCS = 100
enum class GasTypeEnum(
val code: Int,
val desc: String,
val rangMax: Int,
val molecular: Int = -1,
val lel2ppmFactor: Float = 0f
) {
TYPE_CO(5, CO, MOLECULAR_CO),
TYPE_CH4(11, CH4, MOLECULAR_H2S, CH4_LEL2PPMFACTOR),
TYPE_O2(67, O2, MOLECULAR_CH4),
TYPE_H2S(52, H2S, MOLECULAR_O2, H2S_LEL2PPMFACTOR),
TYPE_H2(50, H2, MOLECULAR_H2, H2_LEL2PPMFACTOR),
TYPE_NH3(63, NH3, MOLECULAR_NH3),
TYPE_S02(72, S02, MOLECULAR_S02),
TYPE_CL2(17, CL2, MOLECULAR_CL2),
TYPE_NO2(60, NO2, MOLECULAR_NO2),
TYPE_NO(59, NO, MOLECULAR_NO),
TYPE_HF(57, HF, MOLECULAR_HF),
TYPE_C02(6, C02, MOLECULAR_C02),
TYPE_VOCS(80, VOCS),
TYPE_UNKNOW(-1, "UNKNOW")
TYPE_CO(5, CO, RANGE_MAX_CO, MOLECULAR_CO),
TYPE_CH4(11, CH4, RANGE_MAX_H2_CH4, MOLECULAR_H2S, CH4_LEL2PPMFACTOR),
TYPE_O2(67, O2, RANGE_MAX_O2, MOLECULAR_CH4),
TYPE_H2S(52, H2S, RANGE_MAX_H2S, MOLECULAR_O2, H2S_LEL2PPMFACTOR),
TYPE_H2(50, H2, RANGE_MAX_H2_CH4, MOLECULAR_H2, H2_LEL2PPMFACTOR),
TYPE_NH3(63, NH3, RANGE_MAX_NH3, MOLECULAR_NH3),
TYPE_S02(72, S02, RANGE_MAX_SO2, MOLECULAR_S02),
TYPE_CL2(17, CL2, RANGE_MAX_CL2, MOLECULAR_CL2),
TYPE_NO2(60, NO2, RANGE_MAX_NO2, MOLECULAR_NO2),
TYPE_NO(59, NO, RANGE_MAX_NO, MOLECULAR_NO),
TYPE_HF(57, HF, RANGE_MAX_HF, MOLECULAR_HF),
TYPE_C02(6, C02, RANGE_MAX_CO2, MOLECULAR_C02),
TYPE_VOCS(80, VOCS, RANGE_MAX_VOCS),
TYPE_UNKNOW(-1, "UNKNOW", -1)
}
val gasTypeMap by lazy {

Loading…
Cancel
Save