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/AM5.h | 335 +++++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100755 libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/AM5.h (limited to 'libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/AM5.h') diff --git a/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/AM5.h b/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/AM5.h new file mode 100755 index 0000000..a08f3ae --- /dev/null +++ b/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/AM5.h @@ -0,0 +1,335 @@ +// +// AM5.h +// iHealthSDKStatic +// +// Created by user on 2019/7/2. +// Copyright © 2019 ihealthSDK. All rights reserved. +// + +#import +#import "AM5Header.h" +#import "AMMacroFile.h" + +@interface AM5 : NSObject + +@property (strong, nonatomic) NSString *currentUUID; +@property (strong, nonatomic) NSString *serialNumber; + + +/** + *BindingDevice + + * @param bindingResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandBindingDevice:(DisposeBindingAM5Result)bindingResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + *UnBindingDevice + + * @param unbindingResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandUnBindingDevice:(DisposeUnBindingAM5Result)unbindingResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; +/** + * GetDeviceInfo + + * @param deviceInfo + This dictionary includes key: + Mode:Device mode BatteryStatus:Battery status BatteryLevel:Battery level RebootFlag:Whether to restart BindTimeStr:Binding timestamp BindState:Binding status + * @param disposeErrorBlock error code + */ +-(void)commandGetDeviceInfo:(DisposeGetAM5DeviceInfo)deviceInfo DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; +/** + * Get functional information + + * @param deviceFunctionalInfo + This dictionary includes key: + Steps:Number of steps + SleepDetection:Sleep detection + SingleMovement:Single movement + LiveData:Real-time data + Update:Equipment Update + HeartRate:Heart rate function + Notification:Notification Center + Timeline:Timeline + * @param disposeErrorBlock error code + */ +-(void)commandGetFuncTable:(DisposeGetAM5FuncTable)deviceFunctionalInfo DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; +/** + * GetDeviceMac + + * @param deviceMac This is the MAC for the device + * @param disposeErrorBlock error code + */ +-(void)commandGetDeviceMac:(DisposeGetAM5Mac)deviceMac DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * GetLiveData + + * @param liveData + This dictionary includes key: + Step:Step count Calorie:Calorie Distances:distance ActiveTime:Duration of activity HeartRate:Heart rate + * @param disposeErrorBlock error code + */ +-(void)commandGetLiveData:(DisposeGetAM5LiveData)liveData DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * GetActivityCount + + * @param activityCount + + This dictionary includes key: + + ActivityCount:Number of activities ActivityPacketCount:Number of active packages GpsCount:Number of GPS data GpsPacketCount:Number of GPS packets + + * @param disposeErrorBlock error code + */ +-(void)commandGetActivityCount:(DisposeGetAM5ActivityCount)activityCount DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * setCurrentTime + * @param setCurrentTime Synchronizes the current time to the device YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetCurrentTime:(DisposeAM5SetCurrentTime)setCurrentTime DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * setAlarm + * @param alarm + example code: + IDOSetAlarmInfoBluetoothModel * alarmModel= [IDOSetAlarmInfoBluetoothModel currentModel]; + switch alarmModel.isOpen + Whether the synchronization alarmModel.isSync + Whether or not to delete alarmModel.isDelete + Type alarmModel.type + Hour alarmModel.hour + Minute alarmModel.minute + Repeat alarmModel.repeat + TsnoozeDuration alarmModel.tsnoozeDuration + AlarmId alarmModel.alarmId + + * @param setAlarmResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetAlarm:(IDOSetAlarmInfoBluetoothModel*)alarm setResult:(DisposeAM5SetAlarm)setAlarmResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * SetUserTarget + * @param target + example code: + IDOSetUserInfoBuletoothModel * userModel= [IDOSetUserInfoBuletoothModel currentModel]; + Target sleep time(hour) userModel.goalSleepDataHour + Target sleep time(minutes) userModel.goalSleepDataMinute + Target steps userModel.goalStepData + Target Calorie userModel.goalCalorieData + Target Distance userModel.goalDistanceData + Target Weight userModel.goalWeightData + Target type userModel.goalType (type: 0: steps 1: calories 2: distance) setting a type of target requires executing a command once + + * @param setUserTargetResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetUserTarget:(IDOSetUserInfoBuletoothModel*)target setResult:(DisposeAM5SetUserTarget)setUserTargetResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * SetUserInfo + @param userInfo + example code: + IDOSetUserInfoBuletoothModel * userModel= [IDOSetUserInfoBuletoothModel currentModel]; + height userModel.height + weight userModel.weight + gender userModel.gender Gender 1: male 2: female + year userModel.year + month userModel.month + day userModel.day + + * @param setUserInfoResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetUserInfo:(IDOSetUserInfoBuletoothModel*)userInfo setResult:(DisposeAM5SetUserInfo)setUserInfoResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * SetUnit + @param unit + example code: + IDOSetUnitInfoBluetoothModel * unitInfo = [IDOSetUnitInfoBluetoothModel currentModel]; + From the unit unitInfo.distanceUnit 0x00: invalid, 0x01:km, 0x02:mi + Unit of weight unitInfo.weightUnit 0x00: invalid, 0x01:kg, 0x02:lb, 0x03: st + Temperature of the unit unitInfo.tempUnit 0x00: invalid, 0 x01: ° C, 0 x02: ° F + The language unit unitInfo.languageUnit (Invalid :0, Chinese :1, English :2, French :3, German :4, Italian :5, Spanish :6, Japanese :7,Polish :8, Czech :9, Romania :10, Lithuanian :11, Dutch :12, Slovenia :13,Hungarian :14, Russian :15, Ukrainian :16, slovak :17, Danish :18, Croatian :19) + Walking pace unitInfo.strideWalk Convert to the default value of 90 for men (unit: cm) + Running pace unitInfo.strideRun According to the default value of male conversion 72 (unit: cm) + GPS calibration step size unitInfo.strideGps 0x00: invalid, 0x01: on, 0x02: off + Unit of time unitInfo.timeUnit 0x00: invalid, 0x01:24 hours, 0x02: 12 hours + The beginning of the week unitInfo.weekStart (Sunday: 0, Monday: 1, Tuesday: 2, Wednesday: 3, Thursday: 4, Friday: 5, Saturday: 6) + + * @param setUnitResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetUnit:(IDOSetUnitInfoBluetoothModel*)unit setResult:(DisposeAM5SetUnit)setUnitResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * SetLongSit + @param longSit + example code: + IDOSetLongSitInfoBuletoothModel * SitInfo = [IDOSetLongSitInfoBuletoothModel currentModel]; + + interval SitInfo.interval + Start(Hour) SitInfo.startHour + Start(minutes) SitInfo.startMinute + End(Hour) SitInfo.endHour + End(minutes) SitInfo.endMinute + Switch SitInfo.isOpen + + * @param setLongSitResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetLongSit:(IDOSetLongSitInfoBuletoothModel*)longSit setResult:(DisposeAM5SetLongSit)setLongSitResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + + +/** + * SetLeftRightHand + @param leftRightHand + example code: + IDOSetLeftOrRightInfoBuletoothModel * leftOrRightModel = [IDOSetLeftOrRightInfoBuletoothModel currentModel]; + + Whether to wear right hand leftOrRightModel.isRight 0:left 1:right + + * @param setLeftRightHandResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetLeftRightHand:(IDOSetLeftOrRightInfoBuletoothModel*)leftRightHand setResult:(DisposeAM5SetLeftRightHand)setLeftRightHandResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * SetHrInterval + @param hrInterval + example code: + IDOSetHrIntervalInfoBluetoothModel * hrIntervalInfo = [IDOSetHrIntervalInfoBluetoothModel currentModel]; + + Fat burning threshold hrIntervalInfo.burnFat + Aerobic threshold hrIntervalInfo.aerobic + Threshold limit hrIntervalInfo.limitValue + Maximum heart rate hrIntervalInfo.userMaxHr + + * @param setHrIntervalResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetHrInterval:(IDOSetHrIntervalInfoBluetoothModel*)hrInterval setResult:(DisposeAM5SetHrInterval)setHrIntervalResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * SetHrMode + @param hrMode + example code: + IDOSetHrModeInfoBluetoothModel * hrModeInfo = [IDOSetHrModeInfoBluetoothModel currentModel]; + Heart rate pattern hrModeInfo.modeType 0: turn off heart rate monitoring function 1: manual mode 2: automatic mode (default: automatic mode) + Is there an interval hrModeInfo.isHasTimeRange + Start(Hour) hrModeInfo.startHour + Start(minutes) hrModeInfo.startMinute + End(Hour) hrModeInfo.endHour + End(minutes) hrModeInfo.endMinute + + * @param setHrModeResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetHrMode:(IDOSetHrModeInfoBluetoothModel*)hrMode setResult:(DisposeAM5SetHrMode)setHrModeResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * SetNoDisturbMode + @param noDisturbMode + example code: + IDOSetNoDisturbModeInfoBluetoothModel * noDisturbModeInfo = [IDOSetNoDisturbModeInfoBluetoothModel currentModel]; + + Is there an interval noDisturbModeInfo.isOpen + Start(Hour) noDisturbModeInfo.startHour + Start(minutes) noDisturbModeInfo.startMinute + End(Hour) noDisturbModeInfo.endHour + End(minutes) noDisturbModeInfo.endMinute + + * @param setNoDisturbModeResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetNoDisturbMode:(IDOSetNoDisturbModeInfoBluetoothModel*)noDisturbMode setResult:(DisposeAM5SetNoDisturbMode)setNoDisturbModeResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; +/** + * SetSportModeSelect + @param sportModeSelect + example code: + IDOSetSportShortcutInfoBluetoothModel * sportShortcutInfo = [IDOSetSportShortcutInfoBluetoothModel currentModel]; + sportShortcutInfo.isWalk + sportShortcutInfo.isRun + sportShortcutInfo.isByBike + sportShortcutInfo.isOnFoot + sportShortcutInfo.isMountainClimbing + sportShortcutInfo.isBadminton + sportShortcutInfo.isSpinning + sportShortcutInfo.isTreadmill + sportShortcutInfo.isFitness + sportShortcutInfo.isYoga + sportShortcutInfo.isBasketball + sportShortcutInfo.isTennis + sportShortcutInfo.isDance + sportShortcutInfo.isFootball + + * @param setSportModeSelectResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetSportModeSelect:(IDOSetSportShortcutInfoBluetoothModel*)sportModeSelect setResult:(DisposeAM5SetSportModeSelect)setSportModeSelectResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * SetSwitchNotice + @param switchNotice + example code: + IDOSetNoticeInfoBuletoothModel* noticeInfo = [IDOSetNoticeInfoBuletoothModel currentModel]; + noticeInfo.isPairing + noticeInfo.isOnChild + * @param setSwitchNoticeResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetSwitchNotice:(IDOSetNoticeInfoBuletoothModel*)switchNotice setResult:(DisposeAM5SetSwitchNotice)setSwitchNoticeResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * syncConfigComplete + + * @param syncConfigCompleteResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSyncConfigComplete:(DisposeGetAM5SyncConfigComplete)syncConfigCompleteResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * syncData + + * @param heartRateData heartRateData + * @param sleepData sleepData + * @param activityData activityData + * @param syncprogress data progress + * @param syncDataSuccess sync finish + * @param disposeErrorBlock error code + */ +-(void)commandSyncData:(DisposeGetAM5SyncHeartRateData)heartRateData syncSleepData:(DisposeGetAM5SyncSleepData)sleepData syncActivityData:(DisposeGetAM5SyncActivityData)activityData syncDataProgress:(DisposeAM5SyncDataProgress)syncprogress syncDataSuccess:(DisposeAM5SyncDataSuccess)syncDataSuccess DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * setAppReboot + + * @param setAppRebootResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetAppReboot:(DisposeAM5SetAppReboot)setAppRebootResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * SetHandUp + @param setHandUp + example code: + IDOSetHandUpInfoBuletoothModel * handUpModel= [IDOSetHandUpInfoBuletoothModel currentModel]; + handUpModel.isOpen YES:open NO:close + * @param setHandUpResult YES:success NO:failed + * @param disposeErrorBlock error code + */ +-(void)commandSetHandUp:(IDOSetHandUpInfoBuletoothModel*)setHandUp setResult:(DisposeAM5SetHandUp)setHandUpResult DiaposeErrorBlock:(DisposeAM5ErrorBlock)disposeErrorBlock; + +/** + * Disconnect AM5 connection. + */ +-(void)commandAM5Disconnect; + +@end + -- cgit