Commit 40bc87241ba9c5a5b5f48f30f909b809c1eb6bc2
1 parent
7a10e2ea
feat:firmware version
Showing
5 changed files
with
56 additions
and
1 deletions
HDFwear/20240126ReadMe.md
... | ... | @@ -141,6 +141,10 @@ BluetoothManager+Function |
141 | 141 | 接收: [237, 126, 0, 1, 128, 36, 0, 7, 0, 12, 0, 5, 0, 65, 0, 48, 0, 98, 0, 115, 0, 140, 194, 200] |
142 | 142 | 接收: [237, 126, 0, 1, 128, 36, 0, 1, 0, 1, 255, 46, 6] |
143 | 143 | |
144 | +拉取固件版本号 | |
145 | + func newGetfirmwareVersionData(option: SyncOption = .now, closure: FirmwareVersionClosure? = nil) | |
146 | + 发送: [237, 126, 0, 1, 0, 40, 0, 1, 0, 2, 20, 1, 233, 127] | |
147 | + 接收: [237, 126, 0, 1, 128, 55, 0, 1, 0, 2, 1, 4, 5, 79] | |
144 | 148 | |
145 | 149 | 接受数据类 |
146 | 150 | ... | ... |
HDFwear/Mine/MineViewController.swift
... | ... | @@ -671,6 +671,18 @@ extension MineViewController: UITableViewDataSource, UITableViewDelegate { |
671 | 671 | } |
672 | 672 | } |
673 | 673 | |
674 | + let archiveAction105 = UIAlertAction(title: "newGetfirmwareVersionData", style: .default) {[weak self] action in | |
675 | + BluetoothManager.shared.newGetfirmwareVersionData() {first, second, error in | |
676 | + if error != nil { | |
677 | + print("newGetfirmwareVersionData" + (error?.description ?? "")) | |
678 | + }else { | |
679 | + self?.showDetailAlert(msg: "first is" + String(first ?? 0) + "\nsecond is " + String(second ?? 0)) | |
680 | + print("newGetfirmwareVersionData success") | |
681 | + } | |
682 | + } | |
683 | + } | |
684 | + | |
685 | + | |
674 | 686 | alert.addAction(archiveAction9a) |
675 | 687 | alert.addAction(archiveAction9b) |
676 | 688 | alert.addAction(archiveAction10a) |
... | ... | @@ -689,6 +701,7 @@ extension MineViewController: UITableViewDataSource, UITableViewDelegate { |
689 | 701 | alert.addAction(archiveAction103) |
690 | 702 | alert.addAction(archiveAction104a) |
691 | 703 | alert.addAction(archiveAction104b) |
704 | + alert.addAction(archiveAction105) | |
692 | 705 | |
693 | 706 | alert.addAction(UIAlertAction(title: "取消", style: .destructive, handler: nil)) |
694 | 707 | present(alert, animated: true, completion: nil) | ... | ... |
HDFwear/Tools/Bluetooth+Types.swift
HDFwear/Tools/BluetoothManager+Function.swift
... | ... | @@ -259,6 +259,12 @@ extension BluetoothManager { |
259 | 259 | newStartSyncHealthData(closure: closure, data: data, synType: .beidouCard) |
260 | 260 | } |
261 | 261 | |
262 | + // 拉取固件版本号 | |
263 | + func newGetfirmwareVersionData(option: SyncOption = .now, closure: FirmwareVersionClosure? = nil) { | |
264 | + let data = BleMessage.shared.getSyncCmd(.firmwareVersion, option) | |
265 | + newStartSyncHealthData(closure: closure, data: data, synType: .firmwareVersion) | |
266 | + } | |
267 | + | |
262 | 268 | //MARK: - old code |
263 | 269 | // 拉取睡眠数据 |
264 | 270 | func getSleepData(option: SyncOption = .now, closure: SleepClosure? = nil) { |
... | ... | @@ -375,6 +381,12 @@ extension BluetoothManager { |
375 | 381 | beidouCardClosure?(nil, -1002) |
376 | 382 | beidouCardClosure = nil |
377 | 383 | } |
384 | + case is FirmwareVersionClosure: | |
385 | + if firmwareVersionClosure == nil { | |
386 | + firmwareVersionClosure = closure as? FirmwareVersionClosure | |
387 | + firmwareVersionClosure?(nil, nil, -1002) | |
388 | + firmwareVersionClosure = nil | |
389 | + } | |
378 | 390 | default: |
379 | 391 | break |
380 | 392 | } |
... | ... | @@ -612,6 +624,16 @@ extension BluetoothManager { |
612 | 624 | }else { |
613 | 625 | parseBeidouCardData(content) |
614 | 626 | } |
627 | + case 0x8037://固件版本号 | |
628 | + print("固件版本号") | |
629 | + let content = parseContentFromBytes(bytes) | |
630 | + if (content.count == 1 && content.first == 0xff) { | |
631 | + for delegate in syncDelegateList { | |
632 | + delegate.didReceiveFinishCommand(0x8029) | |
633 | + } | |
634 | + }else { | |
635 | + parseFirmwareVersionData(content) | |
636 | + } | |
615 | 637 | default: |
616 | 638 | break |
617 | 639 | } |
... | ... | @@ -812,7 +834,7 @@ extension BluetoothManager { |
812 | 834 | func parseBeidouCardData(_ content: [UInt8]) { |
813 | 835 | guard content.count > 0 else { |
814 | 836 | print("无有效的信息") |
815 | - intensiveTimeClosure?(nil, nil) | |
837 | + beidouCardClosure?(nil, nil) | |
816 | 838 | return |
817 | 839 | } |
818 | 840 | let card = String(bytes: content, encoding: .ascii) |
... | ... | @@ -835,4 +857,14 @@ extension BluetoothManager { |
835 | 857 | } |
836 | 858 | |
837 | 859 | } |
860 | + | |
861 | + // 固件版本号数据 | |
862 | + func parseFirmwareVersionData(_ content: [UInt8]) { | |
863 | + guard content.count > 1 else { | |
864 | + print("无有效的信息") | |
865 | + firmwareVersionClosure?(nil, nil, nil) | |
866 | + return | |
867 | + } | |
868 | + firmwareVersionClosure?(Int(content[0]), Int(content[1]), nil) | |
869 | + } | |
838 | 870 | } | ... | ... |
HDFwear/Tools/BluetoothManager.swift
... | ... | @@ -108,6 +108,8 @@ class BluetoothManager: NSObject { |
108 | 108 | var intensiveTimeClosure: IntensiveTimeClosure? |
109 | 109 | typealias BeidouCardClosure = (_ card:String?, _ error: Int?) -> Void |
110 | 110 | var beidouCardClosure: BeidouCardClosure? |
111 | + typealias FirmwareVersionClosure = (_ first:Int?, _ second:Int?, _ error: Int?) -> Void | |
112 | + var firmwareVersionClosure: FirmwareVersionClosure? | |
111 | 113 | |
112 | 114 | typealias DialProgressClosure = (_ progress: Int) -> Void |
113 | 115 | var dialProgressClosure: DialProgressClosure? |
... | ... | @@ -1331,6 +1333,7 @@ class BluetoothManager: NSObject { |
1331 | 1333 | gpsClosure = nil |
1332 | 1334 | intensiveTimeClosure = nil |
1333 | 1335 | beidouCardClosure = nil |
1336 | + firmwareVersionClosure = nil | |
1334 | 1337 | switch closure { |
1335 | 1338 | case is BloodPressureClosure: |
1336 | 1339 | bloodPressureClosure = closure as? BloodPressureClosure |
... | ... | @@ -1354,6 +1357,8 @@ class BluetoothManager: NSObject { |
1354 | 1357 | intensiveTimeClosure = closure as? IntensiveTimeClosure |
1355 | 1358 | case is BeidouCardClosure: |
1356 | 1359 | beidouCardClosure = closure as? BeidouCardClosure |
1360 | + case is FirmwareVersionClosure: | |
1361 | + firmwareVersionClosure = closure as? FirmwareVersionClosure | |
1357 | 1362 | default: |
1358 | 1363 | break |
1359 | 1364 | } | ... | ... |