riku
2020-07-15 25d0f31f22f77a914a50bbc088902e00e28c4889
src/main/kotlin/com/flightfeather/uav/socket/UAVByteDataDecoder.kt
@@ -18,7 +18,6 @@
        private const val BCC_BYTES = 2//校验码长度
        const val BASE_LENGTH = HEAD_BYTES + LENGTH_BYTES + BCC_BYTES
        const val HEAD1 = 0x01.toByte()
        const val HEAD2 = 0x05.toByte()
    }
    override fun decode(p0: ChannelHandlerContext?, p1: ByteBuf?, p2: MutableList<Any>?) {
@@ -44,7 +43,7 @@
                    // 读到了协议的开始标志,结束while循环
                    val b = ByteArray(2)
                    it.readBytes(b)
                    if (b[0] == HEAD1 && b[1] == HEAD2) {
                    if (b[0] == HEAD1) {
                        dataList.add(b[0])
                        dataList.add(b[1])
                        break
@@ -61,11 +60,11 @@
                    }
                }
                ByteArray(1).apply {
                    it.readBytes(this)
                }.forEach {b ->
                    dataList.add(b)
                }
//                ByteArray(1).apply {
//                    it.readBytes(this)
//                }.forEach {b ->
//                    dataList.add(b)
//                }
                //数据单元的长度
                val length = getDataUnitLength(it, dataList)