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 | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 118 insertions(+), 0 deletions(-) diff --git a/src/test/kotlin/com/flightfeather/uav/Test.kt b/src/test/kotlin/com/flightfeather/uav/Test.kt index 6152cdb..85e68a9 100644 --- a/src/test/kotlin/com/flightfeather/uav/Test.kt +++ b/src/test/kotlin/com/flightfeather/uav/Test.kt @@ -1,10 +1,128 @@ 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 +import com.flightfeather.uav.socket.eunm.AirCommandUnit +import com.google.gson.Gson +import org.junit.Test +import java.io.File +import java.io.FileOutputStream +import java.io.OutputStreamWriter +import java.math.BigDecimal +import java.text.SimpleDateFormat +import java.util.* + /** * @author riku * Date: 2019/9/12 */ class Test { + @Test + fun foo1() { + val s = SimpleDateFormat.getDateTimeInstance().format(Date()) + println(s) + } + @Test + fun foo2() { + val file = File("E:\\VSprojects\\uav-monitor\\asset\\data\\data-2020-12-24-01-34-24.txt") + val outFile = File("E:\\VSprojects\\uav-monitor\\asset\\data\\data.json") + val out = OutputStreamWriter(FileOutputStream(outFile)) + val list = mutableListOf<List<DataUnit>>() + file.readLines().forEach { + val p = AirDataDecoder.instance.decode(it) +// val str = Gson().toJson(p.dataUnit) + if (p.commandUnit == AirCommandUnit.AirData.value) { + list.add(p.dataUnit) + } + } + val str = Gson().toJson(list) + out.append(str) + out.flush() + out.close() + } + + @Test + fun dataChange() { + FileExchange().doTask2() + } + + @Test + fun listCopy() { + val l1 = listOf(Company().apply { ciGuid = "a" }, Company().apply { ciGuid = "b" }, Company().apply { ciGuid = "c" }) + val l2 = mutableListOf<Company>().apply { addAll(l1) } + l2[1].ciGuid = "d" + println(l1) + println(l2) + } + + @Test + fun average() { + for (i in 0..2) { + println(i) + } + 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