From e6cc379fbef57277568ee667ec07a508b3dcc479 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 29 八月 2024 17:35:35 +0800 Subject: [PATCH] 1. 新增NO监测因子 2. 新增第三方数据接口数据获取相关模块 --- src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt | 30 ++++++++++++++++++++++++------ 1 files changed, 24 insertions(+), 6 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..12e53d0 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt @@ -1,21 +1,39 @@ package com.flightfeather.uav.socket.decoder -import com.flightfeather.uav.socket.bean.AirPackageData -import com.flightfeather.uav.socket.decoder.impl.DataPackageDecoderImpl +import com.flightfeather.uav.socket.bean.AirDataPackage /** * 绌烘皵璐ㄩ噺澶氬弬鏁版暟鎹В鐮佸櫒 * @author riku * Date: 2019/9/12 */ -class AirDataDecoder { +class AirDataDecoder private constructor(){ - private val dataPackageDecoder: DataPackageDecoder = DataPackageDecoderImpl() + companion object{ - fun decode(msg: String): AirPackageData { + @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 = DataPackageDecoder() + + 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