summaryrefslogtreecommitdiff
path: root/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/ECG3.h
blob: d8d87369e7bc8ecc5b6bd7bde21492903111566e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//
//  ECG3.h
//  iHealthDemoCode
//
//  Created by zhiwei jing on 16/7/12.
//  Copyright © 2016年 zhiwei jing. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ECGMacroFile.h"

/**
 Sync Time Successfully
 */
typedef void (^DisposeECG3SyncTimeSuccessBlock)(void);

/**
 Error block

 @param errorId see ECG3ErrorID enum
 */
typedef void(^DisposeECG3ErrorBlock)(ECG3ErrorID errorId);
/**
 Start Measure
 */
typedef void (^DisposeECG3StartMeasureBlock)(void);
/**
 Finish Measure
 */
typedef void (^DisposeECG3FinishMeasureSuccessBlock)(void);

 /**
 ECG3 Wave Data
 */
typedef void (^DisposeECG3WaveDataBlock)(NSArray* waveDataArray);

/**
 ECG3 HR Data
 */
typedef void (^DisposeECG3PluseResultBlock)(BOOL hasHR,NSUInteger HR);
/**
 get Battery
 */
typedef void (^DisposeECG3GetBatteryBlock)(NSNumber *battery);
/**
 ECG3
 */
@interface ECG3 : NSObject

@property (strong, nonatomic) NSString *currentUUID;
@property (strong, nonatomic) NSString *serialNumber;
@property (strong, nonatomic) NSString *firmwareVersion;

/**
 * Sync time
 * @param syncTimeBlock Sync time successfully
 * @param errorBlock Communication error codes, see ECG3 error descriptions.
 */
-(void)commandECG3SyncTime:(DisposeECG3SyncTimeSuccessBlock)syncTimeBlock withErrorBlock:(DisposeECG3ErrorBlock)errorBlock;


/**
 * Start Measure
 * @param startMeasureBlock True: Success, False: Failed.
 * @param waveDataBlock waveData:ECGWaveData use for draw wave
 * @param pluseResultBlock hasHR: whether have heart; HR: heart rate (unit: bpm) only valid when isHaveHeart is true
 * @param errorBlock Communication error codes, see ECG3 error descriptions.
 */
-(void)commandECG3StartMeasure:(DisposeECG3StartMeasureBlock)startMeasureBlock withWaveData:(DisposeECG3WaveDataBlock)waveDataBlock withPulseResult:(DisposeECG3PluseResultBlock)pluseResultBlock withErrorBlock:(DisposeECG3ErrorBlock)errorBlock;



/**
 * Finish Measure
 * @param finishMeasureBlock finish successfully
 * @param errorBlock Communication error codes, see ECG3 error descriptions.
 */
-(void)commandECG3FinishMeasure:(DisposeECG3FinishMeasureSuccessBlock)finishMeasureBlock withErrorBlock:(DisposeECG3ErrorBlock)errorBlock;




/**
 * Get Battery
 * @param batteryBlock from 0~100.
 * @param errorBlock Communication error codes, see ECG3 error descriptions.
 */
-(void)commandECG3GetBatteryInfo:(DisposeECG3GetBatteryBlock)batteryBlock withErrorBlock:(DisposeECG3ErrorBlock)errorBlock;

/**
 Disconnect device
 */
- (void)disconnectDevice;
@end