From 01ac08186355e85cab4a7c6f4403180184894f23 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期六, 09 十月 2021 14:38:44 +0800 Subject: [PATCH] 1. 新增网格化数据统计功能 --- src/test/kotlin/com/flightfeather/uav/Test.kt | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 59 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..85e68a9 100644 --- a/src/test/kotlin/com/flightfeather/uav/Test.kt +++ b/src/test/kotlin/com/flightfeather/uav/Test.kt @@ -1,6 +1,7 @@ package com.flightfeather.uav import com.flightfeather.uav.common.utils.FileExchange +import com.flightfeather.uav.common.utils.FileUtil import com.flightfeather.uav.domain.entity.Company import com.flightfeather.uav.socket.bean.DataUnit import com.flightfeather.uav.socket.decoder.AirDataDecoder @@ -10,6 +11,7 @@ import java.io.File import java.io.FileOutputStream import java.io.OutputStreamWriter +import java.math.BigDecimal import java.text.SimpleDateFormat import java.util.* @@ -66,4 +68,61 @@ val list = listOf(1, 2, 3, 4, 5, 0) println(list.average()) } + + @Test + fun get_crc16(){ + val dataSegment = "QN=20210713133901044;ST=22;CN=2011;PW=555555;MN=FYHB0DT0100001;Flag=1;CP=&&DataTime=20210713133800;a34001-Avg=0.017,a34001-CPM=3.9,a34001-Flag=N;a50001-Avg=71.1,a50001-Flag=N;a01001-Avg=34.0,a01001-Flag=N;a01002-Avg=59.3,a01002-Flag=N;a01007-Avg=0.6,a01007-Flag=N;a01008-Avg=256.3,a01008-Flag=N;Period=1;Scale=1.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) + } + + @Test + fun foo15() { + var i = 0 + do { + if (i == 3) { + FileUtil.instance?.saveObdData("msg", true) + } else { + FileUtil.instance?.saveObdData("msg") + } + i++ + } while (i < 10) + } + + @Test + fun foo16() { + val l = mutableListOf<BigDecimal>().apply { + add(BigDecimal.valueOf(6.23)) + add(BigDecimal("6.23")) + add(BigDecimal(6.23)) + } + l.forEach { println(it) } + } } \ No newline at end of file -- Gitblit v1.9.3