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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
|
//
// BPMacroFile.h
// BP_SDKDemo
//
// Created by zhiwei jing on 14-2-25.
// Copyright (c) 2014年 zhiwei jing. All rights reserved.
//
#ifndef BP_SDKDemo_BPMacroFile_h
#define BP_SDKDemo_BPMacroFile_h
#import "HealthUser.h"
#import "BPController.h"
/**
BP error code
*/
typedef NS_ENUM(NSUInteger, BPDeviceError) {
/// Unable to take measurements due to arm/wrist movements.
BPError0 = 0,
/// Failed to detect systolic pressure
BPError1,
/// Failed to detect diastolic pressure
BPError2,
/// Pneumatic system blocked or cuff is too tight during inflation
BPError3,
/// Pneumatic system leakage or cuff is too loose during inflation
BPError4,
/// Cuff pressure reached over 300mmHg
BPError5,
/// Cuff pressure reached over 15 mmHg for more than 160 seconds
BPError6,
/// Data retrieving error
BPError7,
/// Data retrieving error
BPError8,
/// Data retrieving error
BPError9,
/// Data retrieving error
BPError10,
/// Communication Error
BPError11,
/// Communication Error
BPError12,
/// Low battery
BPError13,
/// Device bluetooth set failed
BPError14,
/// Systolic exceeds 260mmHg or diastolic exceeds 199mmHg
BPError15,
/// Systolic below 60mmHg or diastolic below 40mmHg
BPError16,
/// Arm/wrist movement beyond range
BPError17,
/// Heart rate in measure result exceeds max limit
BPError18,
/// Heart rate in measure result exceeds min limit
BPError19,
/// PP(Average BP) exceeds limit
BPError20,
/// User stop measure(for ABPM history measurement only)
BPErrorUserStopMeasure,
/// device error, error message displayed automatically
BPNormalError = 30,
/// Abnormal communication
BPOverTimeError,
/// Abnormal communication
BPNoRespondError,
/// device is out of communication range.
BPBeyondRangeError,
/// device is disconnected.
BPDidDisconnect,
/// measurement has been stopped.
BPAskToStopMeasure,
/// 36 device is busy doing other things
BPDeviceBusy,
/// Parameter input error.
BPInputParameterError = 400,
/// Parameter input error.
BPInvalidOperation = 402,
};
typedef void(^BlockEnergyDetailValue)(NSNumber *energyValue,NSNumber *mVolt, NSNumber* measureTimesLeft);
typedef void(^BlockEnergyValue)(NSNumber *energyValue);
typedef void(^BlockEnergyState)(NSNumber *energyState);
typedef void(^BlockError)(BPDeviceError error);
typedef void(^BlockDeviceFunction)(NSDictionary *functionDict);
typedef void(^BlockBlueSet)(BOOL isOpen);
typedef void(^BlockAngle)(NSDictionary *angleDict);
typedef void(^BlockPressure)(NSArray *pressureArr);
typedef void(^BlockWavelet)(NSArray *waveletArr);
typedef void(^BlockZero)(BOOL isComplete);
typedef void(^BlockMeasureResult)(NSDictionary *resultDict);
typedef void(^BlockBachCount)(NSNumber *count);
typedef void(^BlockBachProgress)(NSNumber *progressValue);
typedef void(^BlockBachArray)(NSArray *bachArray);
typedef void(^BlockBachFinished)(BOOL finishFlag);
typedef void(^BlockAskMeasureTime)(NSDictionary *measureTimeDict);//Deprecated
typedef void(^BlockSetMeasureTime)(NSDictionary *setResult);//Deprecated
typedef void(^BlockSuccess)(void);
typedef void(^BlockUserAuthentication)(UserAuthenResult result);//the result of userID verification
typedef void(^BlockSetUserID)(BOOL finishFlag);
typedef void(^BlockResult)(BOOL result);
typedef void(^BlockRedWaveDic)(NSDictionary *redWaveDict);
typedef void(^BlockMeasureStatus)(NSDictionary *statusDict);
typedef void(^BlockDisplayStatus)(NSDictionary *statusDict);
#define BP3ConnectNoti @"BP3ConnectNoti"
#define BP3DisConnectNoti @"BP3DisConnectNoti"
#define BP5ConnectNoti @"BP5ConnectNoti"
#define BP5DisConnectNoti @"BP5DisConnectNoti"
#define BP7ConnectNoti @"BP7ConnectNoti"
#define BP7DisConnectNoti @"BP7DisConnectNoti"
#define BP3LDiscover @"BP3LDiscover"
#define BP3LConnectFailed @"BP3LConnectFailed"
#define BP3LConnectNoti @"BP3LConnectNoti"
#define BP3LDisConnectNoti @"BP3LDisConnectNoti"
#define BP5SDiscover @"BP5SDiscover"
#define BP5SConnectFailed @"BP5SConnectFailed"
#define BP5SConnectNoti @"BP5SConnectNoti"
#define BP5SDisConnectNoti @"BP5SDisConnectNoti"
#define BP5SRWDiscover @"BP5SRWDiscover"
#define BP5SRWConnectFailed @"BP5SRWConnectFailed"
#define BP5SRWConnectNoti @"BP5SRWConnectNoti"
#define BP5SRWDisConnectNoti @"BP5SRWDisConnectNoti"
#define BP7SDiscover @"BP7SDiscover"
#define BP7SConnectFailed @"BP7SConnectFailed"
#define BP7SConnectNoti @"BP7SConnectNoti"
#define BP7SDisConnectNoti @"BP7SDisConnectNoti"
#define KN550BTDiscover @"KN550BTDiscover"
#define KN550BTConnectFailed @"KN550BTConnectFailed"
#define KN550BTConnectNoti @"KN550BTConnectNoti"
#define KN550BTDisConnectNoti @"KN550BTDisConnectNoti"
#define KD926Discover @"KD926Discover"
#define KD926ConnectFailed @"KD926ConnectFailed"
#define KD926ConnectNoti @"KD926ConnectNoti"
#define KD926DisConnectNoti @"KD926DisConnectNoti"
#define KD723Discover @"KD723Discover"
#define KD723ConnectFailed @"KD723ConnectFailed"
#define KD723ConnectNoti @"KD723ConnectNoti"
#define KD723DisConnectNoti @"KD723DisConnectNoti"
#define ABPMDiscover @"ABPMDiscover"
#define ABPMConnectFailed @"ABPMConnectFailed"
#define ABPMConnectNoti @"ABPMConnectNoti"
#define ABPMDisConnectNoti @"ABPMDisConnectNoti"
#define BP5CDiscover @"BP5CDiscover"
#define BP5CConnectFailed @"BP5CConnectFailed"
#define BP5CConnectNoti @"BP5CConnectNoti"
#define BP5CDisConnectNoti @"BP5CDisConnectNoti"
#define ContinuaBPDiscover @"ContinuaBPDiscover"
#define ContinuaBPConnectFailed @"ContinuaBPConnectFailed"
#define ContinuaBPConnectNoti @"ContinuaBPConnectNoti"
#define ContinuaBPDisConnectNoti @"ContinuaBPDisConnectNoti"
#define ABIConnectNoti @"ABIConnectNoti"
#define ABIDisConnectNoti @"ABIDisConnectNoti"
#define ArmKey @"ABI-ARM"
#define LegKey @"ABI-Leg"
#define ArmConnectNoti @"ArmConnectNoti"
#define ArmDisConnectNoti @"ArmDisConnectNoti"
//#define BPDeviceID @"ID"
//#define BPSDKRightApi @"OpenApiBP"
//result
#define kResultBPSYS @"sys"
#define kResultBPDIA @"dia"
#define kResultBPPulse @"heartRate"
#define kResultBPIHB @"irregular"
#define kResultBPHSD @"hsdValue"
#define kResultBPChooseHand @"chooseHand"
#define kResultBPBodyMove @"bodyMovement"
#define kResultBPStartAngle @"startAngle"
#define kResultBPAngleChange @"measureAngleChange"
#define kResultBPDataID @"dataID"
#define kResultBPMeasureDate @"time"
#define kResultBPMeasureDateTimeZoneInMin @"timeZoneInMin"
#define kResultBPSchemeID @"schemeID"
#define kResultBPHistoryIndex @"historyIndex"
#define kResultBPUnit @"unit"
#define kResultBPIsAutoMeasure @"isAutoMeasure"
#define kResultBPRemeasureMode @"remeasureMode"
#define kResultBPHasRawPressure @"hasRawPressure"
#define kResultBPStartMeasureAngle @"startMeasureAngle"
#define kResultBPMeasureAngleDelta @"measureAngleDelta"
#define kResultBPIsMeasureResultFailed @"isMeasureResultFailed"
#define kResultBPMeasureResultErrorCode @"measureResultErrorCode"
#define kResultBPMeasureResultRawPressure @"measureResultRawPressure"
#define kResultBPActivityStrengthList @"activityStrengthList"
#define kResultBPActivityStrengthLevel @"level"
#define kResultBPActivityStrengthAngle @"angle"
#define kResultBPActivityStrengthIsSleeping @"isSleeping"
//function
#define kFunctionBPUpAirMeasure @"upAirMeasureFlg"
#define kFunctionBPArmMeasure @"armMeasureFlg"
#define kFunctionBPHaveAngleSensor @"haveAngleSensor"
#define kFunctionBPSupportPowerOff @"havePowerOff"
#define kFunctionBPSupportOffline @"haveOffline"
#define kFunctionBPSupportClearMemory @"haveClearMemory"
#define kFunctionBPSupportBTConnectBack @"haveBlue"
#define kFunctionBPBTConnectBackOpen @"blueOpen"
#define kFunctionBPOfflineOpen @"offlineOpen"
#define kFunctionBPHaveHSD @"haveHSD"
#define kFunctionBPHaveAngleSet @"haveAngleSet"
#define kFunctionBPAutoLoopMeasureModel @"autoLoopMeasureModel"
#define kFunctionBPAutoConnect @"autoConnect"
#define kFunctionBPReConnectSwitch @"reConnectSwitch"
#define kFunctionBPhasOfflineSetingFlg @"offlineSetingFlg"
#define kFunctionBPofflineMeasureFlg @"offlineMeasureFlg"
#define kFunctionBPbtfunctionFlg @"btfunctionFlg"
#define kFunctionBPSupportUnitSetting @"hasUnitSetting"
#define kFunctionBPCurrentUnitIsKPa @"unitKPa"
#define kFunctionBPMutableUpload @"mutableUpload"
#define kFunctionBPDFU @"selfUpdate"
#define kFunctionBPSupportMoveDetect @"hasMoveDetect"
#define kFunctionBPSupportAlertSetting @"hasAlertSetting"
#define kFunctionBPSupportRawPressure @"hasRawPressure"
#define kFunctionBPRawPressureFormat @"rowPressureFormat"
#define kFunctionBPBackLightControl @"haveBackLightSetting"
#define kFunctionBPClockDisplayControl @"haveClockShowSetting"
#define kFunctionBPMaxHistoryCount @"maxHistoryCount"
#endif
|