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.

ELBodyFatScaleBleHeader.h 6.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. //
  2. // ELBodyFatScaleBleHeader.h
  3. // Elink
  4. //
  5. // Created by iot_user on 2019/7/18.
  6. // Copyright © 2019 iot_iMac. All rights reserved.
  7. //
  8. #ifndef ELBodyFatScaleBleHeader_h
  9. #define ELBodyFatScaleBleHeader_h
  10. #import "ELSDKHeader.h"
  11. //A6 Byte[2]=2B Byte[3]为A6二级指令(1~7) BLE <-> APP
  12. typedef NS_ENUM(NSInteger , ELBodyFatScaleBleDataA6SubType) {
  13. /** 0x2B01 app下发离线用户列表 */
  14. ELBodyFatScaleBleDataA6SubType_AppSendUpdateOfflineUserList = 0x01 ,
  15. /** 0x2B02 app结束发送离线用户列表 */
  16. ELBodyFatScaleBleDataA6SubType_AppFinishUpdateOfflineUserList = 0x02 ,
  17. /** 0x2B03 app更新离线用户列表中单人信息 */
  18. ELBodyFatScaleBleDataA6SubType_AppSendUpdateSingleOfflineUser = 0x03 ,
  19. /** 2B01~2B03操作的结果回调》2B0400/02:更新列表成功/失败 2B0401/03:更新单个成功/失败 */
  20. ELBodyFatScaleBleDataA6SubType_BleBackUpdateOfflineUserResult = 0x04 ,
  21. /** 0x2B05 app请求历史记录及Ble回复都是用2B05》2B0500:无历史记录 2B0501:开始发送历史记录 2B0502:结束发送历史记录 */
  22. ELBodyFatScaleBleDataA6SubType_AppSendAndBleBackHistory = 0x05 ,
  23. /** ble发给app有体脂数据的历史记录 */
  24. ELBodyFatScaleBleDataA6SubType_BleBackHistoryWithMCUAlgorithm = 0x06 ,
  25. /** ble发给app无体脂数据的历史记录,app需要根据vip/pid确定使用哪种算法来计算8项体脂数据 */
  26. ELBodyFatScaleBleDataA6SubType_BleBackHistoryWithAppAlgorithm = 0x07,
  27. };
  28. //A7 Byte[4]为指令类型(1~8) MCU <-> APP
  29. typedef NS_ENUM(NSInteger , ELBodyFatScaleBleDataType) {
  30. /** MCU发送实时体重 */
  31. ELBodyFatScaleBleDataType_MCUBackRealtimeWeight = 0x01 ,
  32. /** MCU发送稳定体重 */
  33. ELBodyFatScaleBleDataType_MCUBackStableWeight = 0x02 ,
  34. /** MCU发送温度 */
  35. ELBodyFatScaleBleDataType_MCUBackTemperature = 0x03 ,
  36. /** MCU:阻抗测量中 */
  37. ELBodyFatScaleBleDataType_MCUBackAdcMeasuring = 0x04 ,
  38. /** MCU:阻抗测量成功 */
  39. ELBodyFatScaleBleDataType_MCUBackAdcMeasureSuccess = 0x05 ,
  40. /** MCU:阻抗测量失败 */
  41. ELBodyFatScaleBleDataType_MCUBackAdcMeasureFailed = 0x06 ,
  42. /** MCU:阻抗测量成功并使用App算法(VID/PID决定算法) */
  43. ELBodyFatScaleBleDataType_MCUBackAdcMeasureSuccessWithAppAlgorithm = 0x07 ,
  44. /** 开始称重前app下发当前称重用户的信息给MCU,以便进行体脂计算 */
  45. ELBodyFatScaleBleDataType_SyncCurrentUserInfo = 0x08 , //2B0802 APP下发当前用户 2B0803/04 MCU回复下发当前用户成功/失败
  46. /** MCU发送体脂数据给App */
  47. ELBodyFatScaleBleDataType_MCUBackBodyFatData = 0x09 ,
  48. /** MCU发送体脂数据给App,发送完毕(一次完整测量结束) */
  49. ELBodyFatScaleBleDataType_MCUBackBodyFatDataOver = 0x0A ,
  50. /** MCU->APP:心率测量中 */
  51. ELBodyFatScaleBleDataType_MCUBackHeartRateMeasuring = 0x0B ,
  52. /** MCU->APP:心率测量成功 */
  53. ELBodyFatScaleBleDataType_MCUBackHeartRateMeasureSuccess = 0x0C ,
  54. /** MCU->APP:心率测量失败 */
  55. ELBodyFatScaleBleDataType_MCUBackHeartRateMeasureFailed = 0x0D ,
  56. /** App发送指令切换单位 */
  57. ELBodyFatScaleBleDataType_AppSendUnit = 0x81 ,
  58. /** MCU发送体脂数据给App,发送完毕(一次完整测量结束) */
  59. ELBodyFatScaleBleDataType_MCUBackSendUnitResult = 0x82 ,
  60. /** 数据传输结束指令 */
  61. ELBodyFatScaleBleDataType_ReceivedDataResult = 0xFE ,
  62. /** 设备上发错误码 */
  63. ELBodyFatScaleBleDataType_MCUBackErrorCode = 0xFF ,
  64. };
  65. //MCU请求App用户信息状态
  66. typedef NS_ENUM(NSUInteger, BodyFatScaleMCURequestUserInfoStatus) {
  67. BodyFatScaleMCURequestUserInfoStatus_Get = 0x01, //MCU requests App user information(MCU请求App用户信息)
  68. BodyFatScaleMCURequestUserInfoStatus_Success = 0x03, //请求成功
  69. BodyFatScaleMCURequestUserInfoStatus_Fail = 0x04, //失败
  70. };
  71. //Impedance measurement status(阻抗测量状态)
  72. typedef NS_ENUM(NSUInteger, BodyFatScaleMeasureStatus) {
  73. BodyFatScaleMeasureStatus_Unstable = 0,
  74. BodyFatScaleMeasureStatus_Stable,
  75. BodyFatScaleMeasureStatus_Complete,
  76. BodyFatScaleMeasureStatus_Failed,
  77. };
  78. //Impedance measurement status (intentionally consistent with A7 command enumeration)(阻抗测量状态(故意和A7指令枚举保持一致))
  79. typedef NS_ENUM(NSUInteger, BodyFatScaleAdcMeasureStatus) {
  80. BodyFatScaleAdcMeasureStatus_Testing = 0x04,//测阻抗中
  81. BodyFatScaleAdcMeasureStatus_Success = 0x05,//测阻抗成功
  82. BodyFatScaleAdcMeasureStatus_Fail = 0x06,//测阻抗失败
  83. BodyFatScaleAdcMeasureStatus_SuccessCustom = 0x07,//The impedance measurement is successful, and the APP algorithm is used. The APP will identify the corresponding algorithm according to VID and PID(测阻抗成功,并使用 APP 算法,APP 会根据 VID,PID 来识 别对应算法)
  84. };
  85. //Heart rate measurement status (intentionally consistent with A7 command enumeration)(心率测量状态(故意和A7指令枚举保持一致))
  86. typedef NS_ENUM(NSUInteger, BodyFatScaleHeartRateMeasureStatus) {
  87. BodyFatScaleHeartRateMeasureStatus_Testing = 0x0B,//测心率中
  88. BodyFatScaleHeartRateMeasureStatus_Success = 0x0C,//测心率成功
  89. BodyFatScaleHeartRateMeasureStatus_Fail = 0x0D,//测心率失败
  90. };
  91. //Send success or failure callback for offline user list(发送离线用户列表的成功或失败回调)
  92. typedef NS_ENUM(NSUInteger, BodyFatScaleUpdateRecordStatus) {
  93. BodyFatScaleUpdateRecordStatus_AllSuccess = 0x00,//Successfully updated list(更新列表成功)
  94. BodyFatScaleUpdateRecordStatus_OneSuccess = 0x01,//Successfully update individual users(更新个人用户成功)
  95. BodyFatScaleUpdateRecordStatus_AllFail = 0x02,//Update list failed(更新列表失败)
  96. BodyFatScaleUpdateRecordStatus_OneFail = 0x03,//Failed to update individual user(更新个人用户失败)
  97. };
  98. //Request offline history callback(请求离线历史记录回调)
  99. typedef NS_ENUM(NSUInteger, BodyFatScaleSendHistoryDataStatus) {
  100. BodyFatScaleSendHistoryDataStatus_No = 0x00,//无历史记录
  101. BodyFatScaleSendHistoryDataStatus_Begin = 0x01,//开始发送历史记录
  102. BodyFatScaleSendHistoryDataStatus_End = 0x02,//结束发送历史记录
  103. };
  104. //Character(角色)
  105. typedef NS_ENUM(NSUInteger, BodyFatScaleRole) {
  106. BodyFatScaleRole_Ordinary = 0x00,//Ordinary(普通人)
  107. BodyFatScaleRole_Athlete = 0x01,//Athlete(运动员)
  108. BodyFatScaleRole_AthletePro = 0x02,//AthletePro(专业运动员)
  109. BodyFatScaleRole_Pregnancy = 0x03,//Pregnancy(孕妇)
  110. };
  111. #endif /* ELBodyFatScaleBleHeader_h */