From cbe73597ebf8de2aabfe25215eec8ff4272cd651 Mon Sep 17 00:00:00 2001 From: daifengyi Date: Sat, 1 Jul 2023 13:13:35 +0800 Subject: [PATCH] feat:heart rate --- HDFwear/Home/Model/HealthModel.swift | 12 ++++++++---- HDFwear/Tools/BluetoothManager+Function.swift | 20 +++++++++++++++++--- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/HDFwear/Home/Model/HealthModel.swift b/HDFwear/Home/Model/HealthModel.swift index 6a65ab1..86ff352 100644 --- a/HDFwear/Home/Model/HealthModel.swift +++ b/HDFwear/Home/Model/HealthModel.swift @@ -287,10 +287,14 @@ class HeartRateModel: Object { class func toHeartRateArray(_ bytes: [UInt8]) -> [HeartRateModel] { var hrArray: [HeartRateModel] = [] - let num = bytes.count/7 - for i in 0.. [UInt8] { - let contentLength = Int(bytes[10]) // 获取内容长度 - guard bytes.count >= 11 + contentLength else { + let contentLength = Int(bytes[9]) // 获取内容长度 + guard bytes.count >= 10 + contentLength else { return [] // 如果字节数组长度不足以包含内容,返回空数组 } - let content = Array(bytes[11..<(11 + contentLength)]) // 获取内容部分 + let content = Array(bytes[10..<(10 + contentLength)]) // 获取内容部分 return content } @@ -438,4 +441,15 @@ extension BluetoothManager { print("内容: \(info)") } } + + func parseHeartRateData (_ content: [UInt8]) { + guard content.count > 0 else { + print("无有效的信息") + heartRateClosure?([], nil) + return + } + let hrArray = HeartRateModel.toHeartRateArray(content) + HeartRateModel.addArray(hrArray)// 加入数据库 + heartRateClosure?(hrArray, nil) + } } -- libgit2 0.21.4