From b77a69357da82a965cd63e76e8ceaf625ec4009b Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期四, 15 七月 2021 16:37:47 +0800 Subject: [PATCH] 1. 新增信访信息获取接口 2. 新增用电量信息获取接口 3. 新增风险评估结果接口 4. 新增污染权重实时分析接口 --- src/test/kotlin/com/flightfeather/uav/Test.kt | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff --git a/src/test/kotlin/com/flightfeather/uav/Test.kt b/src/test/kotlin/com/flightfeather/uav/Test.kt index 456ec0c..52fc02f 100644 --- a/src/test/kotlin/com/flightfeather/uav/Test.kt +++ b/src/test/kotlin/com/flightfeather/uav/Test.kt @@ -66,4 +66,38 @@ val list = listOf(1, 2, 3, 4, 5, 0) println(list.average()) } + + @Test + fun get_crc16(){ + val dataSegment = "QN=20210713115502858;ST=22;CN=2011;PW=555555;MN=FYHB0MH0300045;Flag=1;CP=&&DataTime=20210713115000;a34001-Avg=0.025,a34001-CPM=5.9,a34001-Flag=N;a50001-Avg=0.0,a50001-Flag=D;a01001-Avg=33.0,a01001-Flag=N;a01002-Avg=68.2,a01002-Flag=N;a01007-Avg=0.0,a01007-Flag=N;a01008-Avg=0.0,a01008-Flag=N;Period=5;Scale=0.0;SelfTemp=0.0;SelfHum=0.0;IsReplacement=N&&" + var CRC = 0x0000ffff + val POLYNOMIAL = 0x0000a001 + var i: Int + var j: Int + val bufData = dataSegment.toByteArray() + val buflen = bufData.size + if (buflen == 0) { + return + } + i = 0 + while (i < buflen) { + CRC = CRC xor (bufData[i].toInt() and 0x000000ff) + j = 0 + while (j < 8) { + if (CRC and 0x00000001 != 0) { + CRC = CRC shr 1 + CRC = CRC xor POLYNOMIAL + } else { + CRC = CRC shr 1 + } + j++ + } + i++ + } + var strCRC = Integer.toHexString(CRC).toString() + if (strCRC.length < 4) { + strCRC += "0" + } + println(strCRC) + } } \ No newline at end of file -- Gitblit v1.9.3