From d6d9a09d505d11148599a95a5be3e1351edbe0ac Mon Sep 17 00:00:00 2001 From: hc Date: Mon, 13 Apr 2026 15:17:52 +0800 Subject: Local iHealth SDK, device detail screen, iOS event fixes --- .../Communication_SDK/Headers/BPDevice.h | 131 +++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/BPDevice.h (limited to 'libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/BPDevice.h') diff --git a/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/BPDevice.h b/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/BPDevice.h new file mode 100644 index 0000000..8f7a96b --- /dev/null +++ b/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/BPDevice.h @@ -0,0 +1,131 @@ +// +// BPDevice.h +// iHealthDemoCode +// +// Created by Realank on 2017/1/4. +// Copyright © 2017年 ihealthSDK. All rights reserved. +// + +#import +#import "BPMacroFile.h" + + +/** + a BP protocol related to realtime measure + */ +@protocol BPRealtimeMeasureProtocol + +/** + * Establish measurement connection and start BP measurement. + * @param blockZeroState Zeroing state + * @param pressure Pressure value in the process of measurement, the unit is ‘mmHg’. + * @param blockWaveletWithHeartbeat Wavelet data set including pulse rate + * @param blockWaveletWithoutHeartbeat Wavelet data set without pulse rate + * @param result result of the measurement, including systolic pressure, diastolic pressure, pulse rate and irregular judgment. Relevant key: time, sys, dia, heartRate, irregular. irregular will be 0 or 1. + * @param error Return error codes. + */ +-(void)commandStartMeasureWithZeroingState:(BlockZero)blockZeroState pressure:(BlockPressure)pressure waveletWithHeartbeat:(BlockWavelet)blockWaveletWithHeartbeat waveletWithoutHeartbeat:(BlockWavelet)blockWaveletWithoutHeartbeat result:(BlockMeasureResult)result errorBlock:(BlockError)error; + +/** + * stop measuring state of BP + * @param success The block return means measurement has been successfully stoped. + * @param error Return error codes. + */ +-(void)stopBPMeassureSuccessBlock:(BlockSuccess)success errorBlock:(BlockError)error; + +@end + + +/** + a BP protocol related to offline data transfer + */ +@protocol BPOfflineDataTransferProtocol + +/** + * Upload offline data. + * @param totalCount quantity of total history data + * @param progress upload completion ratio , from 0.0 to 1.0, 1.0 means upload completed. + * @param uploadDataArray offline data set, may including measurement time, systolic pressure, diastolic pressure, pulse rate, irregular judgment,scheme ID, body movement flag. corresponding KEYs are time, sys, dia, heartRate, irregular,schemeID,bodyMovementFlg. + * @param error Return error codes. + */ +-(void)commandTransferMemoryDataWithTotalCount:(BlockBachCount)totalCount progress:(BlockBachProgress)progress dataArray:(BlockBachArray)uploadDataArray errorBlock:(BlockError)error; + + +/** + * Upload offline data total Count. + * @param totalCount quantity of total history data. + * @param error Return error codes. + */ +-(void)commandTransferMemoryTotalCount:(BlockBachCount)totalCount errorBlock:(BlockError)error; + +-(void)commandDeleteDataSuccessBlock:(BlockSuccess)success errorBlock:(BlockError)error; + +@end + + +/** + a BP protocol related to basic function, such as get function, get energy + */ +@protocol BPBasicProtocol + +/** + * Synchronize time and judge if the device supports BT auto-connection, offline detection, and if the function on or off, corresponding KEY are haveBlue, haveOffline, blueOpen, offlineOpen. ‘True’ means yes or on, ‘False’ means no or off + * @param function A block to return the function and states that the device supports. + * @param error Return error codes. + */ +-(void)commandFunction:(BlockDeviceFunction)function errorBlock:(BlockError)error; + +/** + * Get battery remaining energy by percent + * @param energyValue A block to return the device battery remaining energy percentage, ‘80’ stands for 80%. + * @param error Return error codes. + */ +-(void)commandEnergy:(BlockEnergyValue)energyValue errorBlock:(BlockError)error; + +@end + + +/** + a BP protocol related to basic function and disconnect + */ +@protocol BPBasicBTLEProtocol + +/** + * Disconnect current device + */ +-(void)commandDisconnectDevice; + +@end + + +/** + a BP protocol related to enable offline + */ +@protocol BPEnableOfflineProtocol + +/** + * set up offline detection + * @param open True means on; False means off. + * @param successBlock A block to refer ‘set success’. + * @param errorBlock A block to refer ‘set failed’. + */ +-(void)commandSetOffline:(BOOL)open success:(BlockSuccess)successBlock error:(BlockError)errorBlock; + +@end + + +/** + BP device basic class + */ +@interface BPDevice : NSObject + +@property (copy, nonatomic) NSString *currentUUID; +///‘serialNumber’ is for separating different device when multiple device have been connected. +@property (copy, nonatomic) NSString *serialNumber; +@property (copy, nonatomic) NSString *firmwareVersion; +@property (copy, nonatomic) NSString *hardwareVersion; +@property (copy, nonatomic) NSString *deviceName; +@property (copy, nonatomic) NSString *protocolString; +@property (copy, nonatomic) NSString *modelNumber; +@property (copy, nonatomic) NSNumber *isNew550BT; +@end -- cgit