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.

ELEightScaleBleManager.h 6.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. //
  2. // ELEightScaleBleManager.h
  3. // Elink
  4. //
  5. // Created by iot_user on 2020/6/1.
  6. // Copyright © 2020 iot_iMac. All rights reserved.
  7. //
  8. #import "ELBluetoothManager.h"
  9. #import "ELEightScaleSDKHeader.h"
  10. #import "ELEightScaleBleDataModel.h"
  11. #import "ELEightScaleBleBfrDataModel.h"
  12. NS_ASSUME_NONNULL_BEGIN
  13. @protocol EightScaleBleDeletegate <NSObject>
  14. @optional
  15. /// Bluetooth connection status(蓝牙连接状态)
  16. /// @param state connection status(连接状态)
  17. -(void)eightScaleBleReceiveState:(ELBluetoothState)state;
  18. /// Nearby eight-electrode equipment(附近的八电极设备)
  19. /// @param devices Eight electrode equipment list(八电极设备列表)
  20. -(void)eightScaleBlReceiveDevices:(NSArray<ELPeripheralModel *> *)devices;
  21. /// Return weighed weight data(返回称量的体重数据)
  22. /// @param weightStruct Weight data structure(体重数据结构体)
  23. -(void)eightScaleBleReceiveWeightData:(EightScaleWeightStruct)weightStruct;
  24. /// Return impedance data(返回阻抗数据)
  25. /// @param adcStruct Impedance data structure(阻抗数据结构体)
  26. -(void)eightScaleBleReceiveAdcData:(EightScaleAdcStruct)adcStruct;
  27. /// Return heart rate data(返回心率数据)
  28. /// @param testStep Heart rate measurement process(心率测量过程)
  29. /// @param heartRate Heart rate data(心率数据)
  30. -(void)eightScaleBleReceiveHeartRateTestStep:(EightScaleHeartRateTestStep)testStep heartRate:(int)heartRate;
  31. /// Return temperature data(返回温度数据)
  32. /// @param tempStruct Temperature data structure(温度数据结构体)
  33. -(void)eightScaleBleReceiveTempData:(EightScaleTempStruct)tempStruct;
  34. ///Measurement completed(测量完成)
  35. -(void)eightScaleBleReceiveTestComplete;
  36. /// Recall measurement data(回调测量数据)
  37. /// @param dataModel Measurement data(测量数据)
  38. -(void)eightScaleBleReceiveTestData:(ELEightScaleBleDataModel *)dataModel;
  39. /// Error code sent on the device(设备上发错误码)
  40. /// @param errorCode Error code (1: overweight)(错误码(1:超重))
  41. -(void)eightScaleBleReceiveErrorCode:(int)errorCode;
  42. /// Switch temperature unit result(切换温度单位结果)
  43. /// @param result 结果
  44. -(void)eightScaleBleReceiveSwitchTempUnitResult:(EightScaleSwitchUnitResult)result;
  45. /// Switch weight unit result(切换体重单位结果)
  46. /// @param result 结果
  47. -(void)eightScaleBleReceiveSwitchWeightUnitResult:(EightScaleSwitchUnitResult)result;
  48. ///MCU上报身高数据
  49. - (void)eightScaleBleReportHeightDataWithHeight:(NSInteger)height unit:(ELDeviceHeightUnit)unit testStatus:(enum EightScaleTestStatus)status;
  50. ///MCU请求用户信息
  51. - (void)eightScaleBleGetUserData;
  52. //新格式
  53. - (void)eightScaleBleNewGetUserData;
  54. ///MCU返回设备测量信息(测量完成的时候才会回调该方法)
  55. - (void)eightScaleBleReportTestData:(ELEightScaleBleDataModel *)dataModle bfrData:(ELEightScaleBleBfrDataModel *)bfrDataModle;
  56. // 双频八电极mcu测量完成返回数据(测量完成的时候才会回调该方法)
  57. - (void)eightScaleBle0x0068ReportTestData:(ELEightScaleBleDataModel *)dataModel bodyFatData:(ELEightScaleBleBfrDataModel *)bfrDataModel;
  58. /** MCU返回操作结果 */
  59. - (void)eightScaleBleReportOperationWithType:(enum EightScaleOperationType)type unitResult:(enum EightScaleSwitchUnitResult)result;
  60. /** 设备上发错误码 */
  61. - (void)eightScaleBleReportErrorCode:(enum EightScaleErrorCodeType)type;
  62. //回调透传数
  63. - (void)eightScaleBleReceivePassData:(NSData *)data;
  64. ///MCU请求补全体脂数据
  65. - (void)eightScaleBleCompletionBodyFatData;
  66. - (void)eightScaleBleCompletionBodyFatData:(ELEightScaleBleDataModel *)dataModel;
  67. /**
  68. Back to impedance measurement(返回阻抗测量)
  69. @param status 阻抗测量状态
  70. */
  71. -(void)eightScaleScaleManagerCallBackAdcMeasureStatus:(DualBandEightScaleAdcMeasureStatus)status;
  72. /**
  73. MCU回复回复支持的功能
  74. @param offlineRecordValue 离线记录
  75. @param modeValue 用户模式
  76. */
  77. - (void)eightScaleMCUReportSupportFunction:(NSInteger)offlineRecordValue mode:(NSInteger)modeValue;
  78. /**
  79. BM回复更新状态
  80. @param status
  81. 00:更新列表成功
  82. 01:更新个人用户成功
  83. 02:更新列表失败
  84. 03:更新个人用户失败
  85. */
  86. - (void)updateBMReplyStatus:(NSInteger)status;
  87. /**
  88. BM回复历史记录情况
  89. @param historyRecordStatus
  90. 00:无历史记录
  91. 01:开始发送历史记录
  92. 02:结束发送历史记录
  93. */
  94. - (void)historyRecordBMReplyStatus:(EightScaleHistoryRecordCodeType)historyRecordStatus;
  95. //mcu算法一条记录结束后回调
  96. - (void)mcuAlgorithmHistoryRecordBMReplyFinishRecord:(ELEightScaleMCUAlgorithmHistoryDataModel*)mcuAlgorithmHistoryRecordModel;
  97. //单频app算法一条记录结束后回调
  98. - (void)appAlgorithmSingleFrequencyHistoryRecordBMReplyFinishRecord:(ELEightScaleAPPAlgorithmSingleFrequencyHistoryDataModel*)appAlgorithmSingleFrequencyHistoryRecordModel;
  99. //双频app算法一条记录结束后回调
  100. - (void)appAlgorithmDoubleFrequencyHistoryRecordBMReplyFinishRecord:(ELEightScaleAPPAlgorithmDoubleFrequencyHistoryDataModel*)appAlgorithmDoubleFrequencyHistoryRecordModel;
  101. @end
  102. @interface ELEightScaleBleManager : ELBluetoothManager
  103. //Current measurement status(当前测量状态)
  104. @property (nonatomic, assign) EightScaleTestStatus testStatus;
  105. @property (nonatomic, weak) id<EightScaleBleDeletegate> eightScaleDelegate;
  106. +(instancetype)shareManager;
  107. #pragma mark ============ 发送数据指令给蓝牙 ==============
  108. /// Switch weight unit(切换体重单位)
  109. /// @param unit Weight unit(体重单位)
  110. -(void)eightScaleSwitchWeightUnit:(ELDeviceWeightUnit)unit;
  111. ///双频八电级
  112. /// Switch weight unit(切换体重单位)
  113. /// @param unit Weight unit(体重单位)
  114. -(void)doubleEightScaleSwitchWeightUnit:(ELDeviceWeightUnit)unit;
  115. /// Switch temperature unit(切换温度单位)
  116. /// @param unit Temperature unit(温度单位)
  117. -(void)eightScaleSwitchTempUnit:(ELDeviceTemperatureUnit)unit;
  118. /** 设置用户信息 */
  119. - (void)eightScaleSendUserDataWithUserModel:(ELEightScaleBleUserModel *)model;
  120. /** 回复测量完成 */
  121. - (void)eightScaleSendEndTest;
  122. /** 下发操作指令 */
  123. - (void)eightScaleSendOperationWithType:(enum EightScaleOperationType)type unit:(NSInteger)unit;
  124. /** 设置用户信息(新格式) */
  125. - (void)eightScaleNewSendUserDataWithUserModel:(ELEightScaleBleUserModel *)model;
  126. /** 下发用户列表(APP更新用户列表给BM模块) */
  127. - (void)sendUpdateUserListWithUsers:(NSArray<ELEightScaleBleUserModel *> *)users;
  128. /** 下发用户列表更新完成(通知BM模块) */
  129. - (void)sendUpdateUserListFinished;
  130. /** 更新个人用户信息给BM模块 */
  131. - (void)sendUpdatePersonalInfoWithUserModel:(ELEightScaleBleUserModel *)model;
  132. /** 请求同步历史记录 */
  133. - (void)sendSyncHistoryRequest;
  134. /** APP/BM回复用户信息 */
  135. - (void)replyUserInformation:(ELEightScaleBleUserModel *)userInfo;
  136. //APP获取MCU支持的模式
  137. - (void)eightScaleSendGetMcuSupportFunction;
  138. @end
  139. NS_ASSUME_NONNULL_END