iOS AILinkBleSDK - 蓝牙SDK
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

ELBodyFatScaleBleHeader.h 9.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  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. /** MCU->APP:MCU请求补全体脂数据 */
  57. ELBodyFatScaleBleDataType_MCUBackNeedsFillBodyData = 0x0E ,
  58. /** MCU->APP:设备上报模式 */
  59. ELBodyFatScaleBleDataType_MCUReportingMode = 0x0F ,
  60. /** APP 查询/下发体脂/抱婴模式切换 */
  61. ELBodyFatScaleBleDataType_AppSendMode = 0x10,
  62. /** MCU发送体脂/抱婴模式切换结果给App */
  63. ELBodyFatScaleBleDataType_MCUBackSendModeResult = 0x11,
  64. /** MCU上报婴儿重量 */
  65. ELBodyFatScaleBleDataType_MCUReportingBabyWeight = 0x12,
  66. /** 同步用户成功 */
  67. ELBodyFatScaleBleDataType_SynUserSucess = 0x14,
  68. /** App回复MCU上报婴儿重量结果 */
  69. ELBodyFatScaleBleDataType_AppBackReportingBabyWeightResult = 0x13,
  70. /** added by tj APP下发用户头像名称版本 */
  71. ELBodyFatScaleBleDataType_AppToDeviceAvatarAndnickName = 0x15,
  72. /** added by tj App发送指令切换 */
  73. ELBodyFatScaleBleDataType_AppToDeviceLanguage = 0x16,
  74. /** 模组返回体脂数据 */
  75. ELBodyFatScaleBleDataType_ModuleReturnsBodyFatData = 0x20,
  76. /** MCU设置需要体脂 若MCU端有UI界面显示体脂时,可以通过该指令通知app
  77. APP测里完成后,app会把体脂数据同步到MCU 若MCU不需要体脂数据时,不要发该指令 */
  78. ELBodyFatScaleBleDataType_MCURequiresBodyFat = 0x21,
  79. /** added by tj MCU切换用户 设备发过来的指令 */
  80. ELBodyFatScaleBleDataType_MCUChageUser = 0x28,
  81. /** added by tj APP请求当前分辨率 */
  82. ELBodyFatScaleBleDataType_AppToGetDeviceResolution = 0x30,
  83. /** added by tj APP请求同步历史记录 */
  84. ELBodyFatScaleBleDataType_AppToAskSyncHistoryRecord = 0x31,
  85. /** added by tj APP请求同步历史记录 */
  86. ELBodyFatScaleBleDataType_MCU_History_data_fromDevice = 0x32,
  87. /** added by tj APP下发当前用户列表版本 */
  88. ELBodyFatScaleBleDataType_SendCurrentUserListVersion = 0x34,
  89. /** App发送指令切换单位 */
  90. ELBodyFatScaleBleDataType_AppSendUnit = 0x81 ,
  91. /** MCU发送体脂数据给App,发送完毕(一次完整测量结束) */
  92. ELBodyFatScaleBleDataType_MCUBackSendUnitResult = 0x82 ,
  93. /** 数据传输结束指令 */
  94. ELBodyFatScaleBleDataType_ReceivedDataResult = 0xFE ,
  95. /** 设备上发错误码 */
  96. ELBodyFatScaleBleDataType_MCUBackErrorCode = 0xFF ,
  97. };
  98. typedef NS_ENUM(NSInteger , ELHMIBodyFatScaleBleDataType) {
  99. /** APP请求支持的显示项 */
  100. ELHMIBodyFatScaleBleDataType_MCUBackSupportDataList = 0x11 ,
  101. /** 6.1.11APP下发显示项和顺序 */
  102. ELHMIBodyFatScaleBleDataType_DeliverDisplayItemsTheirSequence = 0x10 ,
  103. };
  104. //MCU请求App用户信息状态
  105. typedef NS_ENUM(NSUInteger, BodyFatScaleMCURequestUserInfoStatus) {
  106. BodyFatScaleMCURequestUserInfoStatus_Get = 0x01, //MCU requests App user information(MCU请求App用户信息)
  107. BodyFatScaleMCURequestUserInfoStatus_Success = 0x03, //请求成功
  108. BodyFatScaleMCURequestUserInfoStatus_Fail = 0x04, //失败
  109. };
  110. //Impedance measurement status(阻抗测量状态)
  111. typedef NS_ENUM(NSUInteger, BodyFatScaleMeasureStatus) {
  112. BodyFatScaleMeasureStatus_Unstable = 0,
  113. BodyFatScaleMeasureStatus_Stable,
  114. BodyFatScaleMeasureStatus_Complete,
  115. BodyFatScaleMeasureStatus_Failed,
  116. };
  117. //Impedance measurement status (intentionally consistent with A7 command enumeration)(阻抗测量状态(故意和A7指令枚举保持一致))
  118. typedef NS_ENUM(NSUInteger, BodyFatScaleAdcMeasureStatus) {
  119. BodyFatScaleAdcMeasureStatus_Testing = 0x04,//测阻抗中
  120. BodyFatScaleAdcMeasureStatus_Success = 0x05,//测阻抗成功
  121. BodyFatScaleAdcMeasureStatus_Fail = 0x06,//测阻抗失败
  122. 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 来识 别对应算法)
  123. };
  124. //Heart rate measurement status (intentionally consistent with A7 command enumeration)(心率测量状态(故意和A7指令枚举保持一致))
  125. typedef NS_ENUM(NSUInteger, BodyFatScaleHeartRateMeasureStatus) {
  126. BodyFatScaleHeartRateMeasureStatus_Testing = 0x0B,//测心率中
  127. BodyFatScaleHeartRateMeasureStatus_Success = 0x0C,//测心率成功
  128. BodyFatScaleHeartRateMeasureStatus_Fail = 0x0D,//测心率失败
  129. };
  130. //Send success or failure callback for offline user list(发送离线用户列表的成功或失败回调)
  131. typedef NS_ENUM(NSUInteger, BodyFatScaleUpdateRecordStatus) {
  132. BodyFatScaleUpdateRecordStatus_AllSuccess = 0x00,//Successfully updated list(更新列表成功)
  133. BodyFatScaleUpdateRecordStatus_OneSuccess = 0x01,//Successfully update individual users(更新个人用户成功)
  134. BodyFatScaleUpdateRecordStatus_AllFail = 0x02,//Update list failed(更新列表失败)
  135. BodyFatScaleUpdateRecordStatus_OneFail = 0x03,//Failed to update individual user(更新个人用户失败)
  136. };
  137. //Request offline history callback(请求离线历史记录回调)
  138. typedef NS_ENUM(NSUInteger, BodyFatScaleSendHistoryDataStatus) {
  139. BodyFatScaleSendHistoryDataStatus_No = 0x00,//无历史记录
  140. BodyFatScaleSendHistoryDataStatus_Begin = 0x01,//开始发送历史记录
  141. BodyFatScaleSendHistoryDataStatus_End = 0x02,//结束发送历史记录
  142. };
  143. //Character(角色)
  144. typedef NS_ENUM(NSUInteger, BodyFatScaleRole) {
  145. BodyFatScaleRole_Ordinary = 0x00,//Ordinary(普通人)
  146. BodyFatScaleRole_Athlete = 0x01,//Athlete(运动员)
  147. BodyFatScaleRole_AthletePro = 0x02,//AthletePro(专业运动员)
  148. BodyFatScaleRole_Pregnancy = 0x03,//Pregnancy(孕妇)
  149. };
  150. typedef NS_ENUM(NSUInteger, BodyFatScaleSetMode) {
  151. BodyFatScaleSetMode_BodyFat = 0x00,
  152. BodyFatScaleSetMode_HoldBaby = 0x01,
  153. BodyFatScaleSetMode_EnableHoldBaby = 0x02,
  154. };
  155. typedef NS_ENUM(NSUInteger, BodyFatScaleMCUBackSetModeResult) {
  156. BodyFatScaleMCUBackSetModeResult_Success = 0x00,
  157. BodyFatScaleMCUBackSetModeResult_Failure = 0x01,
  158. BodyFatScaleMCUBackSetModeResult_Support = 0x02,
  159. BodyFatScaleMCUBackSetModeResult_NotSupport = 0x03,
  160. };
  161. #endif /* ELBodyFatScaleBleHeader_h */