package com.flightfeather.uav
|
|
import com.flightfeather.uav.common.utils.DateUtil
|
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 d = "2023-06-13 00:01:50.0\t".trim().split(".")[0]
|
val t = DateUtil.instance.StringToDate(d, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS)
|
println(d)
|
println(t)
|
}
|
|
@Test
|
fun foo17() {
|
repeat(8) {
|
if (it == 5) return@repeat
|
println(it)
|
}
|
}
|
}
|