diff --git a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt index 72a5b51..9d0a48d 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt @@ -61,7 +61,7 @@ } fun LineChart.updateLimitLine(threshold: Float) { - val limitLine = LimitLine(threshold, "阈值:${threshold}% VOL") + val limitLine = LimitLine(threshold, "阈值:${threshold}%VOL") limitLine.lineWidth = 1f limitLine.lineColor = Color.RED //允许在虚线模式下绘制(线段长度,分隔长度,偏移量) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt index 72a5b51..9d0a48d 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt @@ -61,7 +61,7 @@ } fun LineChart.updateLimitLine(threshold: Float) { - val limitLine = LimitLine(threshold, "阈值:${threshold}% VOL") + val limitLine = LimitLine(threshold, "阈值:${threshold}%VOL") limitLine.lineWidth = 1f limitLine.lineColor = Color.RED //允许在虚线模式下绘制(线段长度,分隔长度,偏移量) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 942a650..1889d9b 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -47,6 +47,7 @@ //趋势线起点X坐标 private var i = 0 private var isGetMethaneState = false + private var isGetThreshold = false private var isGetTemperature = false override fun initOnCreate(savedInstanceState: Bundle?) { @@ -93,6 +94,13 @@ delay(500) + while (!isGetThreshold) { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_METHANE_THRESHOLD_CODE) + delay(1000) + } + + delay(500) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1000) @@ -120,8 +128,8 @@ binding.lineChart.updateLimitLine(threshold) SaveKeyValues.putValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, threshold) - val weakReferenceHandler = SocketConnectionService.weakReferenceHandler - ?: return@setOnClickListener + val weakReferenceHandler = + SocketConnectionService.weakReferenceHandler ?: return@setOnClickListener val message = weakReferenceHandler.obtainMessage() message.what = LocaleConstant.UPDATE_GAS_THRESHOLD_CODE //用户使用【%VOL】,但是单片机只能设置【ppm·m】,所以需要转换一下 @@ -145,6 +153,14 @@ } } + LocaleConstant.QUERY_METHANE_THRESHOLD_RESPONSE_CODE -> { + isGetThreshold = true + val ppm = msg.obj as Long + val threshold = "%.2f".format(ppm / 10000f) + SaveKeyValues.putValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, threshold) + binding.lineChart.updateLimitLine(ppm / 10000f) + } + LocaleConstant.QUERY_CPU_TEMPERATURE_RESPONSE_CODE -> { isGetTemperature = true val cpuTemperature = msg.obj as Float @@ -204,13 +220,4 @@ } return true } - - override fun onResume() { - super.onResume() - //回显甲烷默认阈值 - val threshold = SaveKeyValues.getValue( - LocaleConstant.METHANE_DEFAULT_VALUE_KEY, 0.1f - ) as Float - binding.thresholdView.setText(threshold.toString()) - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt index 72a5b51..9d0a48d 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt @@ -61,7 +61,7 @@ } fun LineChart.updateLimitLine(threshold: Float) { - val limitLine = LimitLine(threshold, "阈值:${threshold}% VOL") + val limitLine = LimitLine(threshold, "阈值:${threshold}%VOL") limitLine.lineWidth = 1f limitLine.lineColor = Color.RED //允许在虚线模式下绘制(线段长度,分隔长度,偏移量) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 942a650..1889d9b 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -47,6 +47,7 @@ //趋势线起点X坐标 private var i = 0 private var isGetMethaneState = false + private var isGetThreshold = false private var isGetTemperature = false override fun initOnCreate(savedInstanceState: Bundle?) { @@ -93,6 +94,13 @@ delay(500) + while (!isGetThreshold) { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_METHANE_THRESHOLD_CODE) + delay(1000) + } + + delay(500) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1000) @@ -120,8 +128,8 @@ binding.lineChart.updateLimitLine(threshold) SaveKeyValues.putValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, threshold) - val weakReferenceHandler = SocketConnectionService.weakReferenceHandler - ?: return@setOnClickListener + val weakReferenceHandler = + SocketConnectionService.weakReferenceHandler ?: return@setOnClickListener val message = weakReferenceHandler.obtainMessage() message.what = LocaleConstant.UPDATE_GAS_THRESHOLD_CODE //用户使用【%VOL】,但是单片机只能设置【ppm·m】,所以需要转换一下 @@ -145,6 +153,14 @@ } } + LocaleConstant.QUERY_METHANE_THRESHOLD_RESPONSE_CODE -> { + isGetThreshold = true + val ppm = msg.obj as Long + val threshold = "%.2f".format(ppm / 10000f) + SaveKeyValues.putValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, threshold) + binding.lineChart.updateLimitLine(ppm / 10000f) + } + LocaleConstant.QUERY_CPU_TEMPERATURE_RESPONSE_CODE -> { isGetTemperature = true val cpuTemperature = msg.obj as Float @@ -204,13 +220,4 @@ } return true } - - override fun onResume() { - super.onResume() - //回显甲烷默认阈值 - val threshold = SaveKeyValues.getValue( - LocaleConstant.METHANE_DEFAULT_VALUE_KEY, 0.1f - ) as Float - binding.thresholdView.setText(threshold.toString()) - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt index c97317f..b7050b5 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt @@ -43,6 +43,10 @@ tcpClient.sendMessage(CommandCreator.closeLaser()) } + LocaleConstant.QUERY_METHANE_THRESHOLD_CODE -> { + tcpClient.sendMessage(CommandCreator.queryMethaneThreshold()) + } + LocaleConstant.UPDATE_GAS_THRESHOLD_CODE -> { val threshold = msg.obj as Int val thresholdCommand = CommandCreator.setThreshold(threshold) @@ -171,7 +175,7 @@ if (bytes == null) { return } -// Log.d(kTag, bytes.contentToString()) + Log.d(kTag, bytes.contentToString()) //根据帧头判断。不能直接转为ascii,因为有的协议返回的不是ascii,会报错 val dataHeadArray = bytes.copyOfRange(0, 7) @@ -225,11 +229,7 @@ } } } - } else { - if (bytes.size != 13) { - return - } - + } else if (bytes.size == 13) { //取前6位解析设备编号 val deviceCode = bytes.take(6).toByteArray().toHex() if (BaseSettingsFragment.weakReferenceHandler != null) { @@ -323,6 +323,18 @@ weakReferenceHandler.sendMessage(message) } } + } else if (bytes.size == 14) { + if ((bytes[6].toInt() and 0xFF).toString(16).uppercase() == "BB") { + if ((bytes[9].toInt() and 0xFF).toString(16).uppercase() == "94") { + val dataArray = bytes.copyOfRange(9, bytes.size) + val concentration = dataArray.handleGasConcentration() + val weakReferenceHandler = MethaneMonitorFragment.weakReferenceHandler ?: return + val message = weakReferenceHandler.obtainMessage() + message.what = LocaleConstant.QUERY_METHANE_THRESHOLD_RESPONSE_CODE + message.obj = concentration + weakReferenceHandler.sendMessage(message) + } + } } } diff --git a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt index 72a5b51..9d0a48d 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt @@ -61,7 +61,7 @@ } fun LineChart.updateLimitLine(threshold: Float) { - val limitLine = LimitLine(threshold, "阈值:${threshold}% VOL") + val limitLine = LimitLine(threshold, "阈值:${threshold}%VOL") limitLine.lineWidth = 1f limitLine.lineColor = Color.RED //允许在虚线模式下绘制(线段长度,分隔长度,偏移量) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 942a650..1889d9b 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -47,6 +47,7 @@ //趋势线起点X坐标 private var i = 0 private var isGetMethaneState = false + private var isGetThreshold = false private var isGetTemperature = false override fun initOnCreate(savedInstanceState: Bundle?) { @@ -93,6 +94,13 @@ delay(500) + while (!isGetThreshold) { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_METHANE_THRESHOLD_CODE) + delay(1000) + } + + delay(500) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1000) @@ -120,8 +128,8 @@ binding.lineChart.updateLimitLine(threshold) SaveKeyValues.putValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, threshold) - val weakReferenceHandler = SocketConnectionService.weakReferenceHandler - ?: return@setOnClickListener + val weakReferenceHandler = + SocketConnectionService.weakReferenceHandler ?: return@setOnClickListener val message = weakReferenceHandler.obtainMessage() message.what = LocaleConstant.UPDATE_GAS_THRESHOLD_CODE //用户使用【%VOL】,但是单片机只能设置【ppm·m】,所以需要转换一下 @@ -145,6 +153,14 @@ } } + LocaleConstant.QUERY_METHANE_THRESHOLD_RESPONSE_CODE -> { + isGetThreshold = true + val ppm = msg.obj as Long + val threshold = "%.2f".format(ppm / 10000f) + SaveKeyValues.putValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, threshold) + binding.lineChart.updateLimitLine(ppm / 10000f) + } + LocaleConstant.QUERY_CPU_TEMPERATURE_RESPONSE_CODE -> { isGetTemperature = true val cpuTemperature = msg.obj as Float @@ -204,13 +220,4 @@ } return true } - - override fun onResume() { - super.onResume() - //回显甲烷默认阈值 - val threshold = SaveKeyValues.getValue( - LocaleConstant.METHANE_DEFAULT_VALUE_KEY, 0.1f - ) as Float - binding.thresholdView.setText(threshold.toString()) - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt index c97317f..b7050b5 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt @@ -43,6 +43,10 @@ tcpClient.sendMessage(CommandCreator.closeLaser()) } + LocaleConstant.QUERY_METHANE_THRESHOLD_CODE -> { + tcpClient.sendMessage(CommandCreator.queryMethaneThreshold()) + } + LocaleConstant.UPDATE_GAS_THRESHOLD_CODE -> { val threshold = msg.obj as Int val thresholdCommand = CommandCreator.setThreshold(threshold) @@ -171,7 +175,7 @@ if (bytes == null) { return } -// Log.d(kTag, bytes.contentToString()) + Log.d(kTag, bytes.contentToString()) //根据帧头判断。不能直接转为ascii,因为有的协议返回的不是ascii,会报错 val dataHeadArray = bytes.copyOfRange(0, 7) @@ -225,11 +229,7 @@ } } } - } else { - if (bytes.size != 13) { - return - } - + } else if (bytes.size == 13) { //取前6位解析设备编号 val deviceCode = bytes.take(6).toByteArray().toHex() if (BaseSettingsFragment.weakReferenceHandler != null) { @@ -323,6 +323,18 @@ weakReferenceHandler.sendMessage(message) } } + } else if (bytes.size == 14) { + if ((bytes[6].toInt() and 0xFF).toString(16).uppercase() == "BB") { + if ((bytes[9].toInt() and 0xFF).toString(16).uppercase() == "94") { + val dataArray = bytes.copyOfRange(9, bytes.size) + val concentration = dataArray.handleGasConcentration() + val weakReferenceHandler = MethaneMonitorFragment.weakReferenceHandler ?: return + val message = weakReferenceHandler.obtainMessage() + message.what = LocaleConstant.QUERY_METHANE_THRESHOLD_RESPONSE_CODE + message.obj = concentration + weakReferenceHandler.sendMessage(message) + } + } } } diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt index e98ccb8..8a7f688 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt @@ -30,6 +30,22 @@ } /** + * 查询甲烷阈值指令 + * */ + fun queryMethaneThreshold(): ByteArray { + return byteArrayOf( + 0xAA.toByte(), + 0x01, + 0x01, + 0x94.toByte(), + 0x00, + 0x00, + 0x00, + 0x96.toByte() + ) + } + + /** * 设置甲烷阈值指令 */ fun setThreshold(threshold: Int): ByteArray { diff --git a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt index 72a5b51..9d0a48d 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/extensions/LineChart.kt @@ -61,7 +61,7 @@ } fun LineChart.updateLimitLine(threshold: Float) { - val limitLine = LimitLine(threshold, "阈值:${threshold}% VOL") + val limitLine = LimitLine(threshold, "阈值:${threshold}%VOL") limitLine.lineWidth = 1f limitLine.lineColor = Color.RED //允许在虚线模式下绘制(线段长度,分隔长度,偏移量) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 942a650..1889d9b 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -47,6 +47,7 @@ //趋势线起点X坐标 private var i = 0 private var isGetMethaneState = false + private var isGetThreshold = false private var isGetTemperature = false override fun initOnCreate(savedInstanceState: Bundle?) { @@ -93,6 +94,13 @@ delay(500) + while (!isGetThreshold) { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_METHANE_THRESHOLD_CODE) + delay(1000) + } + + delay(500) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1000) @@ -120,8 +128,8 @@ binding.lineChart.updateLimitLine(threshold) SaveKeyValues.putValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, threshold) - val weakReferenceHandler = SocketConnectionService.weakReferenceHandler - ?: return@setOnClickListener + val weakReferenceHandler = + SocketConnectionService.weakReferenceHandler ?: return@setOnClickListener val message = weakReferenceHandler.obtainMessage() message.what = LocaleConstant.UPDATE_GAS_THRESHOLD_CODE //用户使用【%VOL】,但是单片机只能设置【ppm·m】,所以需要转换一下 @@ -145,6 +153,14 @@ } } + LocaleConstant.QUERY_METHANE_THRESHOLD_RESPONSE_CODE -> { + isGetThreshold = true + val ppm = msg.obj as Long + val threshold = "%.2f".format(ppm / 10000f) + SaveKeyValues.putValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, threshold) + binding.lineChart.updateLimitLine(ppm / 10000f) + } + LocaleConstant.QUERY_CPU_TEMPERATURE_RESPONSE_CODE -> { isGetTemperature = true val cpuTemperature = msg.obj as Float @@ -204,13 +220,4 @@ } return true } - - override fun onResume() { - super.onResume() - //回显甲烷默认阈值 - val threshold = SaveKeyValues.getValue( - LocaleConstant.METHANE_DEFAULT_VALUE_KEY, 0.1f - ) as Float - binding.thresholdView.setText(threshold.toString()) - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt index c97317f..b7050b5 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt @@ -43,6 +43,10 @@ tcpClient.sendMessage(CommandCreator.closeLaser()) } + LocaleConstant.QUERY_METHANE_THRESHOLD_CODE -> { + tcpClient.sendMessage(CommandCreator.queryMethaneThreshold()) + } + LocaleConstant.UPDATE_GAS_THRESHOLD_CODE -> { val threshold = msg.obj as Int val thresholdCommand = CommandCreator.setThreshold(threshold) @@ -171,7 +175,7 @@ if (bytes == null) { return } -// Log.d(kTag, bytes.contentToString()) + Log.d(kTag, bytes.contentToString()) //根据帧头判断。不能直接转为ascii,因为有的协议返回的不是ascii,会报错 val dataHeadArray = bytes.copyOfRange(0, 7) @@ -225,11 +229,7 @@ } } } - } else { - if (bytes.size != 13) { - return - } - + } else if (bytes.size == 13) { //取前6位解析设备编号 val deviceCode = bytes.take(6).toByteArray().toHex() if (BaseSettingsFragment.weakReferenceHandler != null) { @@ -323,6 +323,18 @@ weakReferenceHandler.sendMessage(message) } } + } else if (bytes.size == 14) { + if ((bytes[6].toInt() and 0xFF).toString(16).uppercase() == "BB") { + if ((bytes[9].toInt() and 0xFF).toString(16).uppercase() == "94") { + val dataArray = bytes.copyOfRange(9, bytes.size) + val concentration = dataArray.handleGasConcentration() + val weakReferenceHandler = MethaneMonitorFragment.weakReferenceHandler ?: return + val message = weakReferenceHandler.obtainMessage() + message.what = LocaleConstant.QUERY_METHANE_THRESHOLD_RESPONSE_CODE + message.obj = concentration + weakReferenceHandler.sendMessage(message) + } + } } } diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt index e98ccb8..8a7f688 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt @@ -30,6 +30,22 @@ } /** + * 查询甲烷阈值指令 + * */ + fun queryMethaneThreshold(): ByteArray { + return byteArrayOf( + 0xAA.toByte(), + 0x01, + 0x01, + 0x94.toByte(), + 0x00, + 0x00, + 0x00, + 0x96.toByte() + ) + } + + /** * 设置甲烷阈值指令 */ fun setThreshold(threshold: Int): ByteArray { diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt index fd98d1d..353eaad 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt @@ -17,42 +17,44 @@ const val QUERY_METHANE_STATE_CODE = 20240001 const val OPEN_METHANE_CODE = 20240002 const val CLOSE_METHANE_CODE = 20240003 - const val UPDATE_GAS_THRESHOLD_CODE = 20240004 - const val QUERY_CPU_TEMPERATURE_CODE = 20240005 - const val QUERY_VOICE_VALUE_CODE = 20240006 - const val QUERY_VOICE_MODE_CODE = 20240007 - const val INCREASE_VOICE_CODE = 20240008 - const val REDUCE_VOICE_CODE = 20240009 - const val OPEN_LOCALE_MODE_CODE = 20240010 - const val OPEN_REMOTE_MODE_CODE = 20240011 - const val QUERY_ALARM_MODE_CODE = 20240012 - const val OPEN_METHANE_ALARM_CODE = 20240013 - const val CLOSE_METHANE_ALARM_CODE = 20240014 - const val QUERY_DEVICE_STATE_VOICE_CODE = 20240015 - const val OPEN_DEVICE_STATE_TIPS_CODE = 20240016 - const val CLOSE_DEVICE_STATE_TIPS_CODE = 20240017 - const val QUERY_BOARD_CONFIG_CODE = 20240018 - const val QUERY_IS_USE_AI_CODE = 20240019 - const val QUERY_SERVER_CONFIG_CODE = 20240020 - const val SET_BOARD_WIFI_CONFIG_CODE = 20240021 - const val SET_BOARD_SERVER_CONFIG_CODE = 20240022 + const val QUERY_METHANE_THRESHOLD_CODE = 20240004 + const val UPDATE_GAS_THRESHOLD_CODE = 20240005 + const val QUERY_CPU_TEMPERATURE_CODE = 20240006 + const val QUERY_VOICE_VALUE_CODE = 20240007 + const val QUERY_VOICE_MODE_CODE = 20240008 + const val INCREASE_VOICE_CODE = 20240009 + const val REDUCE_VOICE_CODE = 202400010 + const val OPEN_LOCALE_MODE_CODE = 20240011 + const val OPEN_REMOTE_MODE_CODE = 20240012 + const val QUERY_ALARM_MODE_CODE = 20240013 + const val OPEN_METHANE_ALARM_CODE = 20240014 + const val CLOSE_METHANE_ALARM_CODE = 20240015 + const val QUERY_DEVICE_STATE_VOICE_CODE = 20240016 + const val OPEN_DEVICE_STATE_TIPS_CODE = 20240017 + const val CLOSE_DEVICE_STATE_TIPS_CODE = 20240018 + const val QUERY_BOARD_CONFIG_CODE = 20240019 + const val QUERY_IS_USE_AI_CODE = 20240020 + const val QUERY_SERVER_CONFIG_CODE = 20240021 + const val SET_BOARD_WIFI_CONFIG_CODE = 20240022 + const val SET_BOARD_SERVER_CONFIG_CODE = 20240023 /** * Handler Response Code * */ - const val QUERY_METHANE_STATE_RESPONSE_CODE = 20241001 - const val QUERY_CPU_TEMPERATURE_RESPONSE_CODE = 20241002 - const val QUERY_METHANE_RESPONSE_CODE = 20241003 - const val QUERY_VOICE_VALUE_RESPONSE_CODE = 20241004 - const val QUERY_VOICE_MODE_RESPONSE_CODE = 20241005 - const val QUERY_ALARM_MODE_RESPONSE_CODE = 20241006 - const val QUERY_DEVICE_STATE_VOICE_RESPONSE_CODE = 20241007 - const val DEVICE_RESPONSE_CODE = 20241008 - const val BOARD_CONFIG_RESPONSE_CODE = 20241009 - const val QUERY_IS_USE_AI_RESPONSE_CODE = 20241010 - const val SERVER_CONFIG_RESPONSE_CODE = 20241011 - const val SET_BOARD_WIFI_CONFIG_RESPONSE_CODE = 20241012 - const val SET_BOARD_SERVER_CONFIG_RESPONSE_CODE = 20241013 + const val QUERY_METHANE_THRESHOLD_RESPONSE_CODE = 20241001 + const val QUERY_METHANE_STATE_RESPONSE_CODE = 20241002 + const val QUERY_CPU_TEMPERATURE_RESPONSE_CODE = 20241003 + const val QUERY_METHANE_RESPONSE_CODE = 20241004 + const val QUERY_VOICE_VALUE_RESPONSE_CODE = 20241005 + const val QUERY_VOICE_MODE_RESPONSE_CODE = 20241006 + const val QUERY_ALARM_MODE_RESPONSE_CODE = 20241007 + const val QUERY_DEVICE_STATE_VOICE_RESPONSE_CODE = 20241008 + const val DEVICE_RESPONSE_CODE = 20241009 + const val BOARD_CONFIG_RESPONSE_CODE = 20241010 + const val QUERY_IS_USE_AI_RESPONSE_CODE = 20241011 + const val SERVER_CONFIG_RESPONSE_CODE = 20241012 + const val SET_BOARD_WIFI_CONFIG_RESPONSE_CODE = 20241013 + const val SET_BOARD_SERVER_CONFIG_RESPONSE_CODE = 20241014 /*** * SP Key