Просмотр исходного кода

优化未响应的主板提示

Frankensteinly 8 месяцев назад
Родитель
Сommit
a630711f29

+ 11 - 3
app/src/main/java/com/grkj/iscs/BusinessManager.kt

@@ -23,7 +23,6 @@ import com.grkj.iscs.extentions.startsWith
 import com.grkj.iscs.extentions.toHexStrings
 import com.grkj.iscs.modbus.DockBean
 import com.grkj.iscs.modbus.ModBusController
-import com.grkj.iscs.model.Constants
 import com.grkj.iscs.model.Constants.PERMISSION_REQUEST_CODE
 import com.grkj.iscs.model.Constants.USER_TYPE_LOCKER
 import com.grkj.iscs.model.DeviceConst.DEVICE_TYPE_CARD
@@ -213,8 +212,17 @@ object BusinessManager {
     fun registerMainListener() {
         ModBusController.registerStatusListener(this) { res ->
             LogUtil.i("设备状态:${(res as List<ByteArray>).map { it.toHexStrings() }}")
-            if (res.isEmpty() || res.all { it.isEmpty() }) {
-                ToastUtils.tip(R.string.no_board_responses)
+            if (res.isEmpty() || res.any { it.isEmpty() }) {
+                var tipStr = MyApplication.instance?.applicationContext?.getString(R.string.no_response_board_exists) + " : "
+                val addressList = mutableListOf<String>()
+
+                ModBusController.modBusManager?.mSlaveAddressList?.forEach { itDock ->
+                    if (res.none { it.isNotEmpty() && it[0] == itDock }) {
+                        addressList.add("0x${String.format("%02X", itDock)}")
+                    }
+                }
+                tipStr += addressList
+                ToastUtils.tip(tipStr)
             }
             res.forEach { bytes ->
                 val dockBean = ModBusController.updateStatus(bytes) ?: return@forEach

+ 1 - 1
app/src/main/java/com/grkj/iscs/modbus/ModBusController.kt

@@ -35,7 +35,7 @@ object ModBusController {
     private const val LISTENER_TYPE_STATUS = 3
 
     // 主控板管理器
-    private var modBusManager: ModBusManager? = null
+    var modBusManager: ModBusManager? = null
     private var slaveCount: Int = 0
 
     private val threadPool = Executors.newScheduledThreadPool(4)

+ 1 - 1
app/src/main/java/com/grkj/iscs/modbus/ModBusManager.kt

@@ -69,7 +69,7 @@ class ModBusManager(
 
     private var thread: Thread? = null
 
-    private var mSlaveAddressList = mutableListOf<Byte>()
+    var mSlaveAddressList = mutableListOf<Byte>()
 
 
     init {

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -203,6 +203,7 @@
     <string name="save_config">保存配置</string>
     <string name="system_setting_tip">保存配置后App将自动重启,配置将在重启后生效</string>
     <string name="no_board_responses">没有主板响应</string>
+    <string name="no_response_board_exists">存在未响应的主板</string>
     <string name="please_take_out_ready_device_first">请先取出已开卡扣的设备</string>
     <string name="can_not_do_colock_action">当前无法进行共锁相关操作</string>
     <string name="key_is_in_failure_mode">钥匙处于故障模式</string>