iOS AILinkBleSDK - 蓝牙SDK
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

ELEightScaleBleManager.h 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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. ///MCU返回设备测量信息(测量完成的时候才会回调该方法)
  53. - (void)eightScaleBleReportTestData:(ELEightScaleBleDataModel *)dataModle bfrData:(ELEightScaleBleBfrDataModel *)bfrDataModle;
  54. // 双频八电极mcu测量完成返回数据(测量完成的时候才会回调该方法)
  55. - (void)eightScaleBle0x0068ReportTestData:(ELEightScaleBleDataModel *)dataModel bodyFatData:(ELEightScaleBleBfrDataModel *)bfrDataModel;
  56. /** MCU返回操作结果 */
  57. - (void)eightScaleBleReportOperationWithType:(enum EightScaleOperationType)type unitResult:(enum EightScaleSwitchUnitResult)result;
  58. /** 设备上发错误码 */
  59. - (void)eightScaleBleReportErrorCode:(enum EightScaleErrorCodeType)type;
  60. //回调透传数
  61. - (void)eightScaleBleReceivePassData:(NSData *)data;
  62. ///MCU请求补全体脂数据
  63. - (void)eightScaleBleCompletionBodyFatData;
  64. - (void)eightScaleBleCompletionBodyFatData:(ELEightScaleBleDataModel *)dataModel;
  65. /**
  66. Back to impedance measurement(返回阻抗测量)
  67. @param status 阻抗测量状态
  68. */
  69. -(void)eightScaleScaleManagerCallBackAdcMeasureStatus:(DualBandEightScaleAdcMeasureStatus)status;
  70. @end
  71. @interface ELEightScaleBleManager : ELBluetoothManager
  72. //Current measurement status(当前测量状态)
  73. @property (nonatomic, assign) EightScaleTestStatus testStatus;
  74. @property (nonatomic, weak) id<EightScaleBleDeletegate> eightScaleDelegate;
  75. +(instancetype)shareManager;
  76. #pragma mark ============ 发送数据指令给蓝牙 ==============
  77. /// Switch weight unit(切换体重单位)
  78. /// @param unit Weight unit(体重单位)
  79. -(void)eightScaleSwitchWeightUnit:(ELDeviceWeightUnit)unit;
  80. ///双频八电级
  81. /// Switch weight unit(切换体重单位)
  82. /// @param unit Weight unit(体重单位)
  83. -(void)doubleEightScaleSwitchWeightUnit:(ELDeviceWeightUnit)unit;
  84. /// Switch temperature unit(切换温度单位)
  85. /// @param unit Temperature unit(温度单位)
  86. -(void)eightScaleSwitchTempUnit:(ELDeviceTemperatureUnit)unit;
  87. /** 设置用户信息 */
  88. - (void)eightScaleSendUserDataWithUserModel:(ELEightScaleBleUserModel *)model;
  89. /** 回复测量完成 */
  90. - (void)eightScaleSendEndTest;
  91. /** 下发操作指令 */
  92. - (void)eightScaleSendOperationWithType:(enum EightScaleOperationType)type unit:(NSInteger)unit;
  93. @end
  94. NS_ASSUME_NONNULL_END