From 25d0f31f22f77a914a50bbc088902e00e28c4889 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 15 七月 2020 11:10:42 +0800 Subject: [PATCH] 根据新的多参数传输协议,修改解析规则 --- src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt | 30 ++++++++---------------------- 1 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt b/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt index 3301672..504b3ca 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/MessageManager.kt @@ -6,7 +6,6 @@ import com.flightfeather.uav.socket.decoder.AirDataDecoder import com.flightfeather.uav.socket.decoder.impl.DataPackageDecoderImpl import com.flightfeather.uav.socket.eunm.AirCommandUnit -import io.netty.buffer.Unpooled import io.netty.channel.ChannelHandlerContext import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Component @@ -30,7 +29,7 @@ @Autowired lateinit var airDataRepository: AirDataRepository - val vehicleDataDecoder = AirDataDecoder() + val airDataDecoder = AirDataDecoder.instance val dataPackageDecoder = DataPackageDecoderImpl() @PostConstruct @@ -41,21 +40,10 @@ fun dealStringMsg(msg: String, ctx: ChannelHandlerContext?) { //瑙e寘 - val packageData = vehicleDataDecoder.decode(msg) + val packageData = airDataDecoder.decode(msg) if (bccCheck(msg)) { - if (packageData.commandUnit == AirCommandUnit.Confirm.value) { - val t = mutableListOf<AirTypeData>() - packageData.dataUnit.forEach { - if (it is AirTypeData) { - t.add(it) - } - } - DeviceSession.saveAirType(packageData.deviceCode, t) - } else if (packageData.commandUnit == AirCommandUnit.AirData.value) { - val types = DeviceSession.getAirType(packageData.deviceCode) - } //淇濆瓨 DeviceSession.saveDevice(packageData.deviceCode, ctx) // saveToTxt(msg) @@ -76,9 +64,9 @@ /** * 淇濆瓨鑷虫暟鎹簱 */ - fun saveToDataBase(packageData: AirPackageData) { - when (packageData.commandUnit) { - AirCommandUnit.AirData.value -> instance.airDataRepository.saveAirData(packageData) + fun saveToDataBase(dataPackage: AirDataPackage) { + when (dataPackage.commandUnit) { + AirCommandUnit.AirData.value -> instance.airDataRepository.saveAirData(dataPackage) } } @@ -88,15 +76,13 @@ fun bccCheck(msg: String):Boolean { val list = mutableListOf<String>().apply { addAll(dataPackageDecoder.toStringList(msg)) - //鍘婚櫎2 浣嶈捣濮嬬 - removeAt(0) - removeAt(0) } //鍙栧緱鏁版嵁鍖呬腑鐨刡cc鏍¢獙缁撴灉 - val oldBcc = list[list.size - 1].toInt(16) + val oldBcc = "${list[list.lastIndex - 1]}${list[list.lastIndex]}".toInt(16) //鍘婚櫎鏍¢獙缁撴灉 - list.removeAt(list.size-1) + list.removeAt(list.lastIndex) + list.removeAt(list.lastIndex) //璁$畻bcc鏍¢獙缁撴灉 var newBcc = 0x00 -- Gitblit v1.9.3