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/decoder/AirDataDecoder.kt | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt b/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt index f06f127..eee55d6 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt @@ -1,6 +1,6 @@ package com.flightfeather.uav.socket.decoder -import com.flightfeather.uav.socket.bean.AirPackageData +import com.flightfeather.uav.socket.bean.AirDataPackage import com.flightfeather.uav.socket.decoder.impl.DataPackageDecoderImpl /** @@ -8,14 +8,33 @@ * @author riku * Date: 2019/9/12 */ -class AirDataDecoder { +class AirDataDecoder private constructor(){ + + companion object{ + + @Volatile + private var decoder: AirDataDecoder? = null + + @JvmStatic + val instance: AirDataDecoder + get() { + if (decoder == null) { + synchronized(AirDataDecoder::class) { + if (decoder == null) { + decoder = AirDataDecoder() + } + } + } + return this.decoder!! + } + } private val dataPackageDecoder: DataPackageDecoder = DataPackageDecoderImpl() - fun decode(msg: String): AirPackageData { + fun decode(msg: String): AirDataPackage { val list = dataPackageDecoder.toStringList(msg) dataPackageDecoder.run { - return AirPackageData( + return AirDataPackage( getHead(list), getCommandUnit(list), getDeviceCode(list), -- Gitblit v1.9.3