iOS AILinkBleSDK - 蓝牙SDK
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ELBodyFatScaleBleManager.h 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. //
  2. // ELScaleBleManager.h
  3. // Elink
  4. //
  5. // Created by cliCk on 2019/5/28.
  6. // Copyright © 2019 iot_iMac. All rights reserved.
  7. //
  8. #import <AILinkBleSDK/ELBluetoothManager.h>
  9. #import "ELBodyFatScaleBleHeader.h"
  10. @class ELBodyFatScaleBleUserModel,ELBodyFatScaleBleWeightModel,ELBodyFatScaleDeviceModel;
  11. NS_ASSUME_NONNULL_BEGIN
  12. @protocol ELBodyFatScaleBleDelegate <NSObject>
  13. @optional
  14. /** Callback Bluetooth status(回调蓝牙状态) */
  15. - (void)bodyFatScaleManagerUpdateState:(ELBluetoothState )state;
  16. /**Callback all body fat scales detected( 回调扫描到的所有体脂秤 )*/
  17. - (void)bodyFatScaleManagerScanDevices:(NSArray<ELBodyFatScaleDeviceModel *> *)scaleDevices;
  18. /// 回调透传数据
  19. - (void)bodyFatScaleManagerReceivePassData:(NSData *)data;
  20. #pragma mark 回调A7指令数据
  21. - (void)bodyFatScaleManagerCallBackSynUserSuccess;
  22. // 蓝牙回复0x34 指令
  23. - (void)bodyFatScaleManagerCallBackSendUserListVersion:(NSData *)playLoadData;
  24. /**
  25. 6.1.23MCU切换用户()
  26. */
  27. //- (void)bodyFatScaleManagerCallBackMCUchangeUserAction;
  28. - (void)bodyFatScaleManagerCallBackMCUchangeUserActionWithuserID:(NSData *)userIDData;
  29. /**
  30. APP下发用户头像名称版本
  31. */
  32. - (void)bodyFatScaleManagerCallBackindicatoruserAvatarAndNicknameWithData:(NSData *)data isNeedTochanege:(BOOL)haveto;
  33. /**
  34. Callback to set unit result(回调设置单位结果)
  35. @param result 结果
  36. */
  37. - (void)bodyFatScaleManagerCallBackSetUnitResult:(ELSetBluetoothResponseType)result;
  38. /**
  39. MCU requests user information( MCU 请求用户信息)
  40. @param status 请求状态
  41. */
  42. - (void)bodyFatScaleManagerMCURequestAppUserInfoType:(BodyFatScaleMCURequestUserInfoStatus)status;
  43. /**
  44. Return weight and body fat model(返回重量及体脂model)
  45. */
  46. -(void)bodyFatScaleManagerCallBackWeight:(ELBodyFatScaleBleWeightModel *)weightModel state:(BodyFatScaleMeasureStatus)status;
  47. /**
  48. Return weight and body fat model(返回重量及体脂model)
  49. isRequires 0x01:需要体脂数据
  50. */
  51. -(void)new_bodyFatScaleManagerCallBackWeight:(ELBodyFatScaleBleWeightModel *)weightModel state:(BodyFatScaleMeasureStatus)status mcuRequiresBodyFatData:(BOOL)isRequires;
  52. /**
  53. Return temperature (unit: ° C)(返回温度(单位:°C))
  54. @param temp 温度(单位:°C)
  55. */
  56. -(void)bodyFatScaleManagerCallBackTemp:(NSString *)temp;
  57. /**
  58. Back to impedance measurement(返回阻抗测量)
  59. @param status 阻抗测量状态
  60. @param adc 阻抗
  61. */
  62. -(void)bodyFatScaleManagerCallBackAdcMeasureStatus:(BodyFatScaleAdcMeasureStatus)status adcValue:(NSInteger)adc;
  63. /**
  64. Callback heart rate measurement(回调心率测量)
  65. @param status 心率测量状态
  66. @param heartRate 心率
  67. */
  68. -(void)bodyFatScaleManagerCallBackHeartRateMeasureStatus:(BodyFatScaleHeartRateMeasureStatus)status heartRateValue:(NSInteger)heartRate;
  69. /**
  70. Return error code(返回错误码)
  71. @param code 错误码
  72. 1:超重
  73. */
  74. -(void)bodyFatScaleManagerCallBackErrorCode:(NSInteger)code;
  75. /**
  76. Callback to set body fat mode result(回调设置体脂/抱婴模式结果)
  77. @param result 结果
  78. */
  79. -(void)bodyFatScaleManagerCallBackSetMode:(BodyFatScaleSetMode)setMode result:(BodyFatScaleMCUBackSetModeResult)result;
  80. /**
  81. Return weight model for baby(返回婴儿重量model)
  82. */
  83. -(void)bodyFatScaleManagerCallBackWeightForBaby:(ELBodyFatScaleBleWeightModel *)weightModel;
  84. #pragma mark 回调A6指令数据
  85. /**
  86. Send success or failure callback for offline user list(发送离线用户列表的成功或失败回调)
  87. @param status 状态
  88. */
  89. -(void)bodyFatScaleManagerCallBackUpdateRecordStatus:(BodyFatScaleUpdateRecordStatus)status;
  90. /**
  91. Request callback for offline history(请求离线历史记录的回调)
  92. @param status 状态
  93. */
  94. -(void)bodyFatScaleManagerCallBackSendHistoryDataStatus:(BodyFatScaleSendHistoryDataStatus)status;
  95. /**
  96. APP algorithm-offline history data(APP 算法-离线历史记录数据)
  97. @param user 用户信息
  98. */
  99. -(void)bodyFatScaleManagerCallBackBleUserHistoryDataCustomADCModel:(ELBodyFatScaleBleUserModel *)user bodyDataModel:(ELBodyFatScaleBleWeightModel *)bodyModel;
  100. /**
  101. MCU algorithm-offline history data(MCU 算法-离线历史记录数据)
  102. @param user 用户信息
  103. @param bodyModel 体脂数据
  104. */
  105. -(void)bodyFatScaleManagerCallBackBleUserHistoryDataModel:(ELBodyFatScaleBleUserModel *)user bodyDataModel:(ELBodyFatScaleBleWeightModel *)bodyModel;
  106. /** MCU replies to the result of setting the ip address (MCU回复设置ip地址结果 )
  107. * @param result : 1:成功,0:失败,2:不支持
  108. */
  109. - (void)bodyFatScaleManagerCallBackSetIPAddressResult:(NSInteger)result;
  110. /** MCU reporting mode (MCU上报模式 )
  111. * @param mode : 0:体脂模式(默认),1:体重模式(没有阻抗和体脂数据)
  112. */
  113. - (void)bodyFatScaleManagerCallBackReportingMode:(NSInteger)mode;
  114. /** MCU 返回Device 的屏幕分辨率
  115. */
  116. - (void)bodyFatScaleManagerCallBackResolutionOfDevice:(NSInteger)width height:(NSInteger)height;
  117. /** MCU 返回支持数据类型列表
  118. */
  119. - (void)bodyFatScaleManagerCallBackSupportDataList:(NSMutableArray*)dataList;
  120. /** MCU 返回显示项和顺序
  121. */
  122. - (void)bodyFatScaleManagerCallBackDisplayItemOrder:(NSMutableArray*)dataList;
  123. /** MCU 返回需要体脂数据 0x01:需要体脂数据
  124. */
  125. - (void)bodyFatScaleManagerCallBackMCURequiresBodyFat:(NSInteger)op;
  126. @end
  127. @interface ELBodyFatScaleBleManager : ELBluetoothManager
  128. @property (nonatomic,weak) id<ELBodyFatScaleBleDelegate> bodyFatScaleDelegate;
  129. + (ELBodyFatScaleBleManager *)shareManager;
  130. @property (nonatomic, assign, getter=isManualSendReceivedDataResult) BOOL manualSendReceivedDataResult;
  131. #pragma mark ============ 下发A7指令 ==============
  132. - (void)changeBodyFatScaleUnit:(ELDeviceWeightUnit)unit;
  133. - (void)sendCurrentUserToBle:(ELBodyFatScaleBleUserModel *)usr;
  134. -(void)sendReceivedDataResult:(BOOL)result;
  135. //APP请求支持的显示项(0x0076)
  136. - (void)get0x0076SupportDataTypeList;
  137. //APP下发显示项和顺序(0x10)
  138. - (void)readDeliverDisplayItemsTheirSequence;
  139. - (void)sendDeliverDisplayItemsTheirSequence:(NSMutableArray*)dataList;
  140. - (void)sendBodyFatMode;
  141. - (void)sendHoldBabyMode;
  142. - (void)sendEnableHoldBabyMode;
  143. //发用户头像名称版本(0x15)
  144. - (void)sendDataToAskUserIconAndNickNameWithPlayLoadData:(NSData *)data;
  145. //回复MCU: 切换用户
  146. - (void)replayMCUChangeUserCommand;
  147. // 7.26 增加下发语言指令
  148. - (void)sendToSetCurrentLanguageWithType:(NSInteger)languageType;
  149. // APP请求同步历史记录
  150. -(void)sendA7Cmd_RequestHistory;
  151. // APP A7下发同步用户 0x12
  152. - (void)sendCurrentA7UserToBle:(ELBodyFatScaleBleUserModel *)usr;
  153. // APP A7下发同步用户 0x13
  154. - (void)setCurrentA7UserToBle:(NSUInteger )usrID;
  155. -(void) sendOfflineUserListA7ToBle:(NSArray <ELBodyFatScaleBleUserModel *> *)userListArr;
  156. // 7.26 APP请求当前分辨率(0x30)
  157. - (void)sendToAskFoResolutionFromDevice;
  158. // 是否有 更新启动图片(0x02)
  159. - (void)sendDataToAskIsSetPic:(NSInteger)picType;
  160. - (void)sendReceivedWeightForBabyResult:(BOOL)result;
  161. //新增:0x34 APP下发当前用户列表版本
  162. //新增:0x34 APP下发当前用户列表版本
  163. -(void)sendCurrentUserListVersionWith:(NSInteger)mainUserID md5FormerFourData:(NSData *)data;
  164. -(void)sendCurrentUserVersion:(NSArray <ELBodyFatScaleBleUserModel *> *)userListArr;
  165. #pragma mark ============ 下发A6指令 ==============
  166. -(void)sendOfflineUserListToBle:(NSArray <ELBodyFatScaleBleUserModel *> *)userListArr;
  167. -(void)updateSingleUserInOfflineUserList:(ELBodyFatScaleBleUserModel *)usr;
  168. -(void)sendCmd_RequestHistory;
  169. /** 设置设备的IP地址,端口号和访问路径 */
  170. - (void)setDevAccessIpAddress:(NSString *)address portNumber:(NSUInteger)portNum path:(NSString *)path;
  171. @end
  172. NS_ASSUME_NONNULL_END