From 2bf337ab074f1c047c4f4e4df29ed994d3decaf1 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 17 九月 2019 13:57:32 +0800
Subject: [PATCH] 修改一些属性及类的命名
---
src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt | 15 ++--
src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt | 7 -
src/test/kotlin/com/flightfeather/obd/socket/decoder/VehicleDataDecoderTest.kt | 117 +++++++++++++++++++++++++++++++++++++++
src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt | 4
src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataStream.kt | 2
src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataStream.kt | 2
src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt | 4
src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt | 2
src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt | 6 +-
9 files changed, 136 insertions(+), 23 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt b/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt
index 0ecfaae..b3ba4d2 100644
--- a/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt
+++ b/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt
@@ -71,13 +71,13 @@
obdTime = it.time
obdProtocol = it.obdProtocol
obdMil = it.obdMil
- obdIdCode = it.obdSoftwareCode
+ obdIdCode = it.obdCrn
obdVerificationCode = it.obdCvn
obdFaultCodeNum = it.obdFaultCodeNum
obdFaultCode = it.obdFaultCode
}
}
- is EngineDataFlow -> {
+ is EngineDataStream -> {
obdData.apply {
obdTime = it.time
obdLng = it.obdLong
@@ -101,7 +101,7 @@
obdTotalMileage = it.obdTotalMileage
}
}
- is SupplementDataFlow -> {
+ is SupplementDataStream -> {
obdData.apply {
obdTime = it.time
obdEngineTorqueMode = it.obdEngineTorqueMode?.toString()
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataFlow.kt b/src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataStream.kt
similarity index 97%
rename from src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataFlow.kt
rename to src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataStream.kt
index fe81661..2a6dce2 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataFlow.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataStream.kt
@@ -9,7 +9,7 @@
* 瀹炴椂淇℃伅[RealTimeData] 涓殑鍙戝姩鏈烘暟鎹祦
* 鏁版嵁绫诲瀷 @see [ObdDataType.EngineDataFlow]
*/
-class EngineDataFlow(
+class EngineDataStream(
time: Date?,
serialNum: Int?
) : RealTimeData(time, serialNum) {
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt b/src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt
index c986cc6..a53bcd7 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt
@@ -19,7 +19,7 @@
var diagnosisSupportStatus: String? = null//璇婃柇鏀寔鐘舵��
var diagnosisReadyStatus: String? = null//璇婃柇灏辩华鐘舵��
var obdVin: String? = null
- var obdSoftwareCode: String? = null//杞欢鏍囧畾璇嗗埆鍙�
+ var obdCrn: String? = null//杞欢鏍囧畾璇嗗埆鍙�
var obdCvn: String? = null//鏍囧畾楠岃瘉鐮�
var IUPR:String?=null//瀹氫箟鍙傝�� SAE J 1979-DA 琛� G11
var obdFaultCodeNum: Int? = null//鏁呴殰鐮佹�绘暟: 鏈夋晥鍊艰寖鍥达細0~253锛屸��0xFE鈥濊〃绀烘棤鏁堛��
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataFlow.kt b/src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataStream.kt
similarity index 98%
rename from src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataFlow.kt
rename to src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataStream.kt
index 4460b73..8e1157b 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataFlow.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataStream.kt
@@ -45,7 +45,7 @@
* 鏁版嵁鑼冨洿锛�-273~1734.96875鈩�
* 鈥�0xFF,0xFF鈥濊〃绀烘棤鏁�
*/
-class SupplementDataFlow(
+class SupplementDataStream(
time: Date?,
serialNum: Int?
) : RealTimeData(time, serialNum) {
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt b/src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt
index 24e41e0..a724c1e 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt
@@ -14,9 +14,9 @@
fun getObdData(time: Date?, serialNum: Int, b: List<String>): ObdData?
- fun getEngineDataFlow(time: Date?, serialNum: Int, b: List<String>): EngineDataFlow?
+ fun getEngineDataStream(time: Date?, serialNum: Int, b: List<String>): EngineDataStream?
- fun getSupplementDataFlow(time: Date?, serialNum: Int, b: List<String>): SupplementDataFlow?
+ fun getSupplementDataStream(time: Date?, serialNum: Int, b: List<String>): SupplementDataStream?
/**
* 鏍规嵁浼犲叆鐨勫垪琛紝榛樿绗竴浣嶄负 [ObdDataType]锛岃繑鍥炲搴旂殑鏁版嵁鍒楄〃
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt b/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt
index ff459d2..02ad0de 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt
@@ -4,11 +4,8 @@
import com.flightfeather.obd.socket.decoder.DataUnitDecoder
import com.flightfeather.obd.socket.decoder.RealTimeDataDecoder
import com.flightfeather.obd.socket.eunm.ObdDataType
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.stereotype.Component
import java.lang.StringBuilder
import java.util.*
-import javax.annotation.PostConstruct
/**
* @author riku
@@ -72,8 +69,8 @@
if (data.isNotEmpty()) {
val r = when (data[0].toInt(16)) {
ObdDataType.ObdData.value -> realTimeDataDecoder.getObdData(time, serialNum, data)
- ObdDataType.EngineDataFlow.value -> realTimeDataDecoder.getEngineDataFlow(time, serialNum, data)
- ObdDataType.SupplementDataFlow.value -> realTimeDataDecoder.getSupplementDataFlow(time, serialNum, data)
+ ObdDataType.EngineDataFlow.value -> realTimeDataDecoder.getEngineDataStream(time, serialNum, data)
+ ObdDataType.SupplementDataFlow.value -> realTimeDataDecoder.getSupplementDataStream(time, serialNum, data)
else -> null
}
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt b/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt
index e1067f6..a1a4e22 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt
@@ -1,11 +1,10 @@
package com.flightfeather.obd.socket.decoder.impl
-import com.flightfeather.obd.socket.bean.EngineDataFlow
+import com.flightfeather.obd.socket.bean.EngineDataStream
import com.flightfeather.obd.socket.bean.ObdData
-import com.flightfeather.obd.socket.bean.SupplementDataFlow
+import com.flightfeather.obd.socket.bean.SupplementDataStream
import com.flightfeather.obd.socket.decoder.RealTimeDataDecoder
import com.flightfeather.obd.socket.eunm.ObdDataType
-import org.springframework.stereotype.Component
import java.util.*
/**
@@ -53,7 +52,7 @@
diagnosisSupportStatus = "${dataList[2]}${dataList[3]}".toIntOrNull(16)?.toString(2)
diagnosisReadyStatus = "${dataList[4]}${dataList[5]}".toIntOrNull(16)?.toString(2)
obdVin = vin.toString()
- obdSoftwareCode = softwareCode.toString()
+ obdCrn = softwareCode.toString()
obdCvn = cvn.toString()
this.IUPR = IUPR.toString()
obdFaultCodeNum = faultCodeNum
@@ -64,7 +63,7 @@
}
}
- override fun getEngineDataFlow(time: Date?, serialNum: Int, b: List<String>): EngineDataFlow? {
+ override fun getEngineDataStream(time: Date?, serialNum: Int, b: List<String>): EngineDataStream? {
val dataList = mutableListOf<String>().apply { addAll(b) }
if (b.isNotEmpty()) {
//鍘婚櫎 淇℃伅绫诲瀷鏍囧織
@@ -72,7 +71,7 @@
}
return if (dataList.size >= 37) {
- EngineDataFlow(time, serialNum).apply {
+ EngineDataStream(time, serialNum).apply {
obdSpeed = "${dataList[0]}${dataList[1]}".toIntOrNull(16)?.toDouble()?.times((1 / 256).toDouble())
obdAirPressure = dataList[2].toIntOrNull(16)?.toDouble()?.times(0.5)
obdEngineTorque = dataList[3].toIntOrNull(16)?.minus(125)?.toDouble()?.div(100)
@@ -98,7 +97,7 @@
}
}
- override fun getSupplementDataFlow(time: Date?, serialNum: Int, b: List<String>): SupplementDataFlow? {
+ override fun getSupplementDataStream(time: Date?, serialNum: Int, b: List<String>): SupplementDataStream? {
val dataList = mutableListOf<String>().apply { addAll(b) }
if (b.isNotEmpty()) {
//鍘婚櫎 淇℃伅绫诲瀷鏍囧織
@@ -106,7 +105,7 @@
}
return if (dataList.size >= 17) {
- SupplementDataFlow(time, serialNum).apply {
+ SupplementDataStream(time, serialNum).apply {
obdEngineTorqueMode = dataList[0].toIntOrNull(16)
obdAcceleratorPedal = dataList[1].toIntOrNull(16)?.toDouble()?.times(0.4)?.div(100)
obdTotalOilConsumption = "${dataList[2]}${dataList[3]}${dataList[4]}${dataList[5]}".toIntOrNull(16)?.toDouble()?.times(0.5)
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt b/src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt
index 1a9b434..9b9c944 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt
@@ -8,9 +8,9 @@
* 瀹炴椂淇℃伅[RealTimeData]鍜岃ˉ鍙戜俊鎭痆ReplacementData] 涓殑鏁版嵁绫诲瀷
* 绫诲瀷缂栫爜 璇存槑
* 0x01 OBD 淇℃伅 @see [com.flightfeather.obd.socket.bean.ObdData]
- * 0x02 鏁版嵁娴佷俊鎭� @see[com.flightfeather.obd.socket.bean.EngineDataFlow]
+ * 0x02 鏁版嵁娴佷俊鎭� @see[com.flightfeather.obd.socket.bean.EngineDataStream]
* 0x03-0x7F 棰勭暀
- * 0x80 琛ュ厖鏁版嵁娴� @see[com.flightfeather.obd.socket.bean.SupplementDataFlow]
+ * 0x80 琛ュ厖鏁版嵁娴� @see[com.flightfeather.obd.socket.bean.SupplementDataStream]
* 0x81~0xFE 鐢ㄦ埛鑷畾涔�
*/
enum class ObdDataType constructor(val value: Int){
diff --git a/src/test/kotlin/com/flightfeather/obd/socket/decoder/VehicleDataDecoderTest.kt b/src/test/kotlin/com/flightfeather/obd/socket/decoder/VehicleDataDecoderTest.kt
new file mode 100644
index 0000000..8eac338
--- /dev/null
+++ b/src/test/kotlin/com/flightfeather/obd/socket/decoder/VehicleDataDecoderTest.kt
@@ -0,0 +1,117 @@
+package com.flightfeather.obd.socket.decoder
+
+import com.flightfeather.obd.domain.entity.ObdData
+import com.flightfeather.obd.socket.bean.*
+import com.flightfeather.obd.socket.eunm.ObdCommandUnit
+import org.junit.Test
+
+/**
+ * @author riku
+ * Date: 2019/9/17
+ */
+class VehicleDataDecoderTest {
+
+ private val vehicleDataDecoder = VehicleDataDecoder()
+
+ @Test
+ fun decode() {
+ val msg = "23 23 02 31 37 36 39 31 35 33 31 39 30 39 31 32 30 30 30 36 01 01 00 42 13 09 11 08 3b 36 02 00 3a 00 00 d4 00 00 12 c0 09 5e 00 c8 00 c8 00 15 a9 00 00 00 00 00 00 73 00 00 00 b9 1b c7 00 2e e1 24 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dc"
+ val msg2 = "23 23 02 31 37 36 39 31 35 33 31 39 30 39 31 32 30 30 30 36 01 01 00 42 13 09 11 08 3b 36 02 00 3b 00 00 d4 00 00 12 c0 09 5e 00 c8 00 c8 00 15 a9 00 00 00 00 00 00 73 00 00 00 b9 1b c7 00 2e e1 25 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dc"
+ val packageData = vehicleDataDecoder.decode(msg2)
+
+ val obdData = ObdData().apply {
+ obdVin = packageData.deviceCode
+ }
+ when (packageData.commandUnit) {
+ ObdCommandUnit.CarRegister.value -> {
+ packageData.dataUnit.forEach {
+ when (it) {
+ is CarRegisterData -> {
+ obdData.apply {
+ obdTime = it.time
+ }
+ }
+ }
+ }
+ }
+ ObdCommandUnit.RealTimeData.value,
+ ObdCommandUnit.ReplacementData.value -> {
+ packageData.dataUnit.forEach {
+ when (it) {
+ is com.flightfeather.obd.socket.bean.ObdData -> {
+ obdData.apply {
+ obdTime = it.time
+ obdProtocol = it.obdProtocol
+ obdMil = it.obdMil
+ obdIdCode = it.obdCrn
+ obdVerificationCode = it.obdCvn
+ obdFaultCodeNum = it.obdFaultCodeNum
+ obdFaultCode = it.obdFaultCode
+ }
+ }
+ is EngineDataStream -> {
+ obdData.apply {
+ obdTime = it.time
+ obdLng = it.obdLong
+ obdLat = it.obdLat
+ obdSpeed = it.obdSpeed?.toInt()
+ obdAirPressure = it.obdAirPressure
+ obdEngineTorque = it.obdEngineTorque
+ obdFrictionTorque = it.obdFrictionTorque
+ obdEngineRpm = it.obdEngineRpm?.toInt()
+ obdStartFuelFlow = it.obdEngineFuelFlow
+ obdScrUpstreamNo = it.obdScrUpstreamNo
+ obdScrDownstreamNo = it.obdScrDownstreamNo
+ obdRemainReactant = it.obdRemainReactant
+ obdAirInput = it.obdAirInput
+ obdScrInputTemp = it.obdScrInputTemp
+ obdScrOutputTemp = it.obdScrOutputTemp
+ obdDpf = it.obdDpf
+ obdEngineCoolantTemp = it.obdEngineCoolantTemp
+ obdFuelLevel = it.obdFuelLevel
+ obdLocationStatus = it.obdLocationStatus
+ obdTotalMileage = it.obdTotalMileage
+ }
+ }
+ is SupplementDataStream -> {
+ obdData.apply {
+ obdTime = it.time
+ obdEngineTorqueMode = it.obdEngineTorqueMode?.toString()
+ obdAcceleratorPedal = it.obdAcceleratorPedal
+ obdTotalOilConsumption = it.obdTotalOilConsumption
+ obdUreaBoxTemp = it.obdUreaBoxTemp
+ obdUreaVolume = it.obdUreaVolume?.toInt()
+ obdTotalUreaConsume = it.obdTotalUreaConsume
+ obdDpfTemp = it.obdDpfTemp
+// obdFirmwareVersion =
+ }
+ }
+ }
+ }
+
+ }
+ ObdCommandUnit.CarLogOut.value -> {
+ packageData.dataUnit.forEach {
+ when (it) {
+ is CarLogOutData -> {
+ obdData.apply {
+ obdTime = it.time
+ }
+ }
+ }
+ }
+ }
+ ObdCommandUnit.TimeCalibration.value -> {
+ packageData.dataUnit.forEach {
+ when (it) {
+ is TimeCalibrationData -> {
+ obdData.apply {
+ obdTime = it.time
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3