123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- //
- // BroadcastHeightGuage.m
- // AILinkBleSDK_Example
- //
- // Created by LarryZhang on 2023/6/26.
- // Copyright © 2023 zhengzida. All rights reserved.
- //
-
- #import "BroadcastHeightGuage.h"
- #import <AILinkBleSDK/ELBroadcastHeightGaugeBleManager.h>
-
- @interface BroadcastHeightGuage ()
-
- @property (weak, nonatomic) IBOutlet UILabel *bleStatusLabel;
-
- @property (weak, nonatomic) IBOutlet UITextView *logTextView;
-
- @end
-
-
- @interface BroadcastHeightGuage () <ELBroadcastHeightGaugeBleDelegate>
-
- @end
-
-
- @implementation BroadcastHeightGuage
-
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view from its nib.
-
- [self initBle];
- [self scanBle];
- }
-
- - (void)dealloc {
- [self deinitBle];
- }
-
- #pragma mark - Action
-
- - (IBAction)clearAction:(id)sender {
- self.logTextView.text = @"";
- }
-
- - (IBAction)shareLogAction:(id)sender {
- }
-
-
- #pragma mark - BLE
-
- - (void)initBle {
- [ELBroadcastHeightGaugeBleManager shareManager].heightGaugeDelegate = self;
- }
-
- - (void)scanBle {
- [[ELBroadcastHeightGaugeBleManager shareManager] startScanAll];
- }
-
- - (void)deinitBle {
- [[ELBroadcastHeightGaugeBleManager shareManager] stopScan];
- [ELBroadcastHeightGaugeBleManager shareManager].heightGaugeDelegate = nil;
- }
-
- /**Callback Bluetooth status(回调蓝牙状态) */
- - (void)broadcastHeightGaugeUpdateState:(ELBluetoothState)state {
- if (state == ELBluetoothStateAvailable) {
- self.bleStatusLabel.text = @"Connecting";
- } else if (state == ELBluetoothStateUnavailable) {
- self.bleStatusLabel.text = @"Bluetooth is disconnected";
- }
-
- }
-
- /** 回调身高数据 */
- - (void)broadcastHeightGaugeDeviceDataModel:(ELBroadcastHeightGaugeBleDataModel *)model {
-
- static NSInteger serialNumber = 0;
- if (serialNumber == model.serialNumber) {
- return;
- }
- serialNumber = model.serialNumber;
-
- switch (model.testState) {
- case BroadcastHeightGuage_TestState_Measuring: {
- self.bleStatusLabel.text = @"Measuring";
- break;
- }
- case BroadcastHeightGuage_TestState_Stable: {
- self.bleStatusLabel.text = @"Stabl";
- break;
- }
- case BroadcastHeightGuage_TestState_Failed: {
- self.bleStatusLabel.text = @"Failed";
- break;
- }
- }
-
- NSString *log = [NSString stringWithFormat:@"MAC:%@ cid = %d--vid=%d--pid=%d\n Height = %@%@", model.mac, model.cid - 0xFFFF, model.vid, model.pid, @(model.height), AiLinkBleHeightUnitDic[@(model.heightUnit)]];
- [self addLog:log];
-
- }
-
- #pragma mark - Log
-
- - (void)addLog:(NSString *)log {
- [self addLog:log newline:YES];
- }
-
- - (void)addWithoutNewlineLog:(NSString *)log {
- [self addLog:log newline:NO];
- }
-
- - (void)addLog:(NSString *)log newline:(BOOL)newline {
- NSDateFormatter *format = [[NSDateFormatter alloc] init];
- format.dateFormat = @"HH:mm:ss.SSS";
- NSString *time = [format stringFromDate:[NSDate date]];
- if (newline) {
- self.logTextView.text = [self.logTextView.text stringByAppendingFormat:@"%@ %@\n", time, log];
- } else {
- self.logTextView.text = [self.logTextView.text stringByAppendingFormat:@"%@ %@", time, log];
- }
- [self.logTextView scrollRangeToVisible:NSMakeRange(self.logTextView.text.length, 1)];
- }
-
-
- @end
|