Преглед на файлове

485指令适配及通用化改造

Frankensteinly преди 1 година
родител
ревизия
1dc53b2b2d

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

@@ -178,7 +178,7 @@ class DockBean(
      * 通用设备信息Bean
      *
      * @param type 0:钥匙 1:锁
-     * @param idx 锁具底座时:锁具序号 0-9  钥匙底座时:0-左 1-右    便携式底座:锁具0-2 钥匙8
+     * @param idx 锁具底座时:锁具序号 0-9  钥匙底座时:0-左 1-右    便携式底座:锁具0-2 钥匙0
      * @param isExist true:有设备 false:无设备
      */
     open class DeviceBean(
@@ -190,6 +190,7 @@ class DockBean(
     /**
      * 钥匙
      */
+    // TODO isLeft待移除,使用idx替代
     class KeyBean(
         idx: Int,
         isExist: Boolean,

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

@@ -321,7 +321,7 @@ object ModBusController {
      */
     fun controlKeyBuckle(isOpen: Boolean, isLeft: Boolean, slaveIdx: Int?, done: ((res: ByteArray) -> Unit)? = null)  {
         slaveIdx?.let {
-            modBusManager?.generateKeyBuckleCmd(isOpen, isLeft)?.let { cmd ->
+            modBusManager?.generateKeyBuckleCmd(isOpen, if (isLeft) 0 else 1)?.let { cmd ->
                 modBusManager?.sendTo(it, cmd) { res ->
                     done?.invoke(res)
                 }

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

@@ -325,15 +325,15 @@ class ModBusManager(
     }
 
     /**
-     * 操作钥匙底座卡扣,一次只操作一个卡扣
+     * 操作钥匙/便携式底座钥匙卡扣,一次只操作一个卡扣
      *
      * @param isOpen true:开操作 false:关操作
-     * @param isLeft true:左卡扣 false:右卡扣
+     * @param index 0:左 1:右 便携式底座钥匙传0
      */
-    fun generateKeyBuckleCmd(isOpen: Boolean, isLeft: Boolean): MBFrame {
+    fun generateKeyBuckleCmd(isOpen: Boolean, index: Int): MBFrame {
         return MBFrame(
             FRAME_TYPE_WRITE,
-            byteArrayOf(0x00, 0x11, if (isLeft) 0b10000000.toByte() else 0b00001000, if (isOpen) 0x00 else 0xFF.toByte())
+            byteArrayOf(0x00, 0x11, if (index == 0) 0b10000000.toByte() else 0b00001000, if (isOpen) 0x00 else 0xFF.toByte())
         )
     }