| @@ -7,6 +7,8 @@ | |||
| objects = { | |||
| /* Begin PBXBuildFile section */ | |||
| 41D9C0033007648A00F0E1A4 /* AILinkBleSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 78AC3B2C2C0D996A00A62C61 /* AILinkBleSDK.framework */; }; | |||
| 41D9C0043007648A00F0E1A4 /* AILinkBleSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 78AC3B2C2C0D996A00A62C61 /* AILinkBleSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; | |||
| 7802C5AD2C903A31008D7616 /* ELMeatProbeCustomDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7802C5AC2C903A31008D7616 /* ELMeatProbeCustomDataModel.m */; }; | |||
| 7802C5B02C903A4B008D7616 /* ELMeatProbeBoxCustomDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7802C5AF2C903A4B008D7616 /* ELMeatProbeBoxCustomDataModel.m */; }; | |||
| 7802C5C92C903A7F008D7616 /* ELMeatProbeBoxMultipleBleBBQParamModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7802C5B22C903A7F008D7616 /* ELMeatProbeBoxMultipleBleBBQParamModel.m */; }; | |||
| @@ -24,7 +26,6 @@ | |||
| 78350BBB29D2869000456695 /* BodyScaleVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 78350BB929D2869000456695 /* BodyScaleVC.m */; }; | |||
| 78350BBD29D28C1200456695 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 78350BBC29D28C1200456695 /* README.md */; }; | |||
| 78AC3B2B2C0D994900A62C61 /* PrivacyInfo.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 78AC3B2A2C0D994900A62C61 /* PrivacyInfo.bundle */; }; | |||
| 78AC3B2D2C0D996A00A62C61 /* AILinkBleSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 78AC3B2C2C0D996A00A62C61 /* AILinkBleSDK.framework */; }; | |||
| 78B153AD2AD16A5000C81229 /* ELWIFIBloodPressureVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 78B153AB2AD16A5000C81229 /* ELWIFIBloodPressureVC.xib */; }; | |||
| 78B153AE2AD16A5000C81229 /* ELWIFIBloodPressureVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 78B153AC2AD16A5000C81229 /* ELWIFIBloodPressureVC.m */; }; | |||
| 78CF43532C2EC21B00D0A165 /* HygrothermographVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 78CF43502C2EC21A00D0A165 /* HygrothermographVC.m */; }; | |||
| @@ -131,6 +132,20 @@ | |||
| }; | |||
| /* End PBXContainerItemProxy section */ | |||
| /* Begin PBXCopyFilesBuildPhase section */ | |||
| 41D9C0053007648A00F0E1A4 /* Embed Frameworks */ = { | |||
| isa = PBXCopyFilesBuildPhase; | |||
| buildActionMask = 2147483647; | |||
| dstPath = ""; | |||
| dstSubfolderSpec = 10; | |||
| files = ( | |||
| 41D9C0043007648A00F0E1A4 /* AILinkBleSDK.framework in Embed Frameworks */, | |||
| ); | |||
| name = "Embed Frameworks"; | |||
| runOnlyForDeploymentPostprocessing = 0; | |||
| }; | |||
| /* End PBXCopyFilesBuildPhase section */ | |||
| /* Begin PBXFileReference section */ | |||
| 7802C5AB2C903A31008D7616 /* ELMeatProbeCustomDataModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ELMeatProbeCustomDataModel.h; sourceTree = "<group>"; }; | |||
| 7802C5AC2C903A31008D7616 /* ELMeatProbeCustomDataModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ELMeatProbeCustomDataModel.m; sourceTree = "<group>"; }; | |||
| @@ -358,7 +373,7 @@ | |||
| buildActionMask = 2147483647; | |||
| files = ( | |||
| 78350BB329D2826900456695 /* libHTBodyfat_SDK.a in Frameworks */, | |||
| 78AC3B2D2C0D996A00A62C61 /* AILinkBleSDK.framework in Frameworks */, | |||
| 41D9C0033007648A00F0E1A4 /* AILinkBleSDK.framework in Frameworks */, | |||
| 78350BB729D282A300456695 /* libBhBodyComposition120.a in Frameworks */, | |||
| ); | |||
| runOnlyForDeploymentPostprocessing = 0; | |||
| @@ -992,6 +1007,7 @@ | |||
| E622E257243F1CA5003C319D /* Sources */, | |||
| E622E258243F1CA5003C319D /* Frameworks */, | |||
| E622E259243F1CA5003C319D /* Resources */, | |||
| 41D9C0053007648A00F0E1A4 /* Embed Frameworks */, | |||
| ); | |||
| buildRules = ( | |||
| ); | |||
| @@ -1337,7 +1353,7 @@ | |||
| buildSettings = { | |||
| ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | |||
| CODE_SIGN_STYLE = Automatic; | |||
| CURRENT_PROJECT_VERSION = 20250305; | |||
| CURRENT_PROJECT_VERSION = 20260715; | |||
| DEVELOPMENT_TEAM = YEU77XR292; | |||
| FRAMEWORK_SEARCH_PATHS = ( | |||
| "$(inherited)", | |||
| @@ -1359,7 +1375,7 @@ | |||
| "$(PROJECT_DIR)/AILinkBleSDKDemo/DeviceDemo/13_EightScale/HTBodyfat_SDK", | |||
| "$(PROJECT_DIR)/AILinkBleSDKDemo/DeviceDemo/13_EightScale/BhBodyComposition120", | |||
| ); | |||
| MARKETING_VERSION = 1.11.0; | |||
| MARKETING_VERSION = 1.12.6; | |||
| OTHER_LDFLAGS = "-ObjC"; | |||
| PRODUCT_BUNDLE_IDENTIFIER = com.ellinkthings.ailinksdk.app; | |||
| PRODUCT_NAME = "$(TARGET_NAME)"; | |||
| @@ -1372,7 +1388,7 @@ | |||
| buildSettings = { | |||
| ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | |||
| CODE_SIGN_STYLE = Automatic; | |||
| CURRENT_PROJECT_VERSION = 20250305; | |||
| CURRENT_PROJECT_VERSION = 20260715; | |||
| DEVELOPMENT_TEAM = YEU77XR292; | |||
| FRAMEWORK_SEARCH_PATHS = ( | |||
| "$(inherited)", | |||
| @@ -1394,7 +1410,7 @@ | |||
| "$(PROJECT_DIR)/AILinkBleSDKDemo/DeviceDemo/13_EightScale/HTBodyfat_SDK", | |||
| "$(PROJECT_DIR)/AILinkBleSDKDemo/DeviceDemo/13_EightScale/BhBodyComposition120", | |||
| ); | |||
| MARKETING_VERSION = 1.11.0; | |||
| MARKETING_VERSION = 1.12.6; | |||
| OTHER_LDFLAGS = "-ObjC"; | |||
| PRODUCT_BUNDLE_IDENTIFIER = com.ellinkthings.ailinksdk.app; | |||
| PRODUCT_NAME = "$(TARGET_NAME)"; | |||
| @@ -9,6 +9,6 @@ | |||
| #define AILinkBleSDK_Version_h | |||
| //版本号 SDK Version | |||
| #define AiLinkBleSDKVersion @"1.11.0" // 20250305 | |||
| #define AiLinkBleSDKVersion @"1.12.6" // 20260715 | |||
| #endif /* AILinkBleSDK_Version_h */ | |||
| @@ -211,7 +211,8 @@ NS_ASSUME_NONNULL_BEGIN | |||
| /// 解析设备支持的营养秤单位 | |||
| /// @param data 蓝牙发送的原始数据 | |||
| + (NSArray<NSNumber *> *)analysisBluetoothSupportNutritionUnitArray:(NSData *)data; | |||
| /// @param isAirefresh AIlink营养秤的单位解析和好营养的单位解析不一样 | |||
| + (NSArray<NSNumber *> *)analysisBluetoothSupportNutritionUnitArray:(NSData *)data isAirefresh:(BOOL)isAirefresh; | |||
| /** | |||
| 解析蓝牙接收密钥的结果 | |||
| @@ -21,6 +21,9 @@ typedef NS_ENUM(NSUInteger, ELBloodBleDataType) { | |||
| ELBloodBleDataTypeSetSwitchVoice = 0x85, //Send voice alarm settings(下发语音报警设置) | |||
| ELBloodBleDataTypeSwitchVoiceResult = 0x86, //Send voice alarm setting result(下发语音报警设置结果) | |||
| ELBloodBleDataTypeFailCode = 0xFF, //Report error code(上报错误码) | |||
| ELBloodBleDataTypeSyncHistory = 0x10, //app同步历史数据 | |||
| ELBloodBleDataTypeSyncHistoryStatus = 0x11, //历史数据发送结果 | |||
| ELBloodBleDataTypeReceiveHistory = 0x12, //app同步历史数据 | |||
| }; | |||
| @@ -79,6 +82,11 @@ typedef NS_ENUM(NSUInteger, ELBloodBleDataType) { | |||
| @param result 结果 | |||
| */ | |||
| -(void)bloodBleManagerReceiveSetSwitchVoiceOperationType:(ELBloodBleSwitchVoiceType)type result:(ELSetBluetoothResponseType)result; | |||
| /** 设备返回历史记录 */ | |||
| - (void)bloodBleManagerReceiveBackOfflineHistory:(NSArray<ELBloodBleDataModel *> *_Nullable)history; | |||
| @end | |||
| @@ -112,6 +120,10 @@ NS_ASSUME_NONNULL_BEGIN | |||
| @param type operation type | |||
| */ | |||
| -(void)sendSwitchVoice:(ELBloodBleSwitchVoiceType)type; | |||
| //App获取离线历史记录 | |||
| - (void)getOfflineHistory; | |||
| @end | |||
| NS_ASSUME_NONNULL_END | |||
| @@ -101,14 +101,20 @@ static NSString *GET_A7_DECRYPT_BLE_PAYLOAD_DATA_CONTENT = @"GET_A7_DECRYPT_BLE_ | |||
| */ | |||
| -(void)syncBleNowDate:(BOOL)enable; | |||
| ///仅WIFI秤调用,同步世界时间(0时区)到wifi-ble模块 | |||
| -(void)syncBleGMTNowDate:(BOOL)enable; | |||
| ///仅WIFI秤调用,同步世界时间(0时区)到wifi-ble模块 //useUTCTimezone是否使用0时区时间 | |||
| -(void)syncBleGMTNowDate:(BOOL)enable useUTCTimezone:(BOOL)useUTCTimezone; | |||
| ///同步手机本地时间给mcu,每次连接成功后会自动调用 | |||
| -(void)syncMCUNowDate; | |||
| #pragma mark ============ 发送指令的3种方法 ============== | |||
| /** | |||
| Shortcut method to send A5 data to BLE(发送A6数据给BLE的快捷方法) | |||
| @param data The stitched payload part(拼接好的payload部分) | |||
| */ | |||
| - (void)sendCmdToMCUWithA5PayloadData:(NSData *_Nonnull)data deviceType:(ELSupportDeviceType)type; | |||
| /** | |||
| Shortcut method to send A6 data to BLE(发送A6数据给BLE的快捷方法) | |||
| @param data The stitched payload part(拼接好的payload部分) | |||
| @@ -125,6 +131,7 @@ static NSString *GET_A7_DECRYPT_BLE_PAYLOAD_DATA_CONTENT = @"GET_A7_DECRYPT_BLE_ | |||
| /// 直接发送A7命令,不加载在队列中 | |||
| -(void)immediatelySendCmdToMCUWithA7PayloadData:(NSData *)data deviceType:(ELSupportDeviceType)type; | |||
| -(void)immediatelySendCmdToMCUWithA5PayloadData:(NSData *)data deviceType:(ELSupportDeviceType)type; | |||
| /** | |||
| General method of sending data (support data transparent transmission)(发送数据通用方法(支持数据透传)) | |||
| @@ -72,7 +72,45 @@ typedef NS_ENUM(NSInteger , ELBodyFatScaleBleDataType) { | |||
| ELBodyFatScaleBleDataType_MCUBackNeedsFillBodyData = 0x0E , | |||
| /** MCU->APP:设备上报模式 */ | |||
| ELBodyFatScaleBleDataType_MCUReportingMode = 0x0F , | |||
| /** APP 查询/下发体脂/抱婴模式切换 */ | |||
| ELBodyFatScaleBleDataType_AppSendMode = 0x10, | |||
| /** MCU发送体脂/抱婴模式切换结果给App */ | |||
| ELBodyFatScaleBleDataType_MCUBackSendModeResult = 0x11, | |||
| /** MCU上报婴儿重量 */ | |||
| ELBodyFatScaleBleDataType_MCUReportingBabyWeight = 0x12, | |||
| /** 同步用户成功 */ | |||
| ELBodyFatScaleBleDataType_SynUserSucess = 0x14, | |||
| /** App回复MCU上报婴儿重量结果 */ | |||
| ELBodyFatScaleBleDataType_AppBackReportingBabyWeightResult = 0x13, | |||
| /** added by tj APP下发用户头像名称版本 */ | |||
| ELBodyFatScaleBleDataType_AppToDeviceAvatarAndnickName = 0x15, | |||
| /** added by tj App发送指令切换 */ | |||
| ELBodyFatScaleBleDataType_AppToDeviceLanguage = 0x16, | |||
| /** 模组返回体脂数据 */ | |||
| ELBodyFatScaleBleDataType_ModuleReturnsBodyFatData = 0x20, | |||
| /** MCU设置需要体脂 若MCU端有UI界面显示体脂时,可以通过该指令通知app | |||
| APP测里完成后,app会把体脂数据同步到MCU 若MCU不需要体脂数据时,不要发该指令 */ | |||
| ELBodyFatScaleBleDataType_MCURequiresBodyFat = 0x21, | |||
| /** added by tj MCU切换用户 设备发过来的指令 */ | |||
| ELBodyFatScaleBleDataType_MCUChageUser = 0x28, | |||
| /** added by tj APP请求当前分辨率 */ | |||
| ELBodyFatScaleBleDataType_AppToGetDeviceResolution = 0x30, | |||
| /** added by tj APP请求同步历史记录 */ | |||
| ELBodyFatScaleBleDataType_AppToAskSyncHistoryRecord = 0x31, | |||
| /** added by tj APP请求同步历史记录 */ | |||
| ELBodyFatScaleBleDataType_MCU_History_data_fromDevice = 0x32, | |||
| /** added by tj APP下发当前用户列表版本 */ | |||
| ELBodyFatScaleBleDataType_SendCurrentUserListVersion = 0x34, | |||
| /** App发送指令切换单位 */ | |||
| ELBodyFatScaleBleDataType_AppSendUnit = 0x81 , | |||
| /** MCU发送体脂数据给App,发送完毕(一次完整测量结束) */ | |||
| @@ -81,15 +119,16 @@ typedef NS_ENUM(NSInteger , ELBodyFatScaleBleDataType) { | |||
| ELBodyFatScaleBleDataType_ReceivedDataResult = 0xFE , | |||
| /** 设备上发错误码 */ | |||
| ELBodyFatScaleBleDataType_MCUBackErrorCode = 0xFF , | |||
| }; | |||
| typedef NS_ENUM(NSInteger , ELHMIBodyFatScaleBleDataType) { | |||
| /** APP请求支持的显示项 */ | |||
| ELBodyFatScaleBleDataType_MCUBackSupportDataList = 0x11 , | |||
| ELHMIBodyFatScaleBleDataType_MCUBackSupportDataList = 0x11 , | |||
| /** 6.1.11APP下发显示项和顺序 */ | |||
| ELBodyFatScaleBleDataType_DeliverDisplayItemsTheirSequence = 0x10 , | |||
| ELHMIBodyFatScaleBleDataType_DeliverDisplayItemsTheirSequence = 0x10 , | |||
| }; | |||
| //MCU请求App用户信息状态 | |||
| typedef NS_ENUM(NSUInteger, BodyFatScaleMCURequestUserInfoStatus) { | |||
| BodyFatScaleMCURequestUserInfoStatus_Get = 0x01, //MCU requests App user information(MCU请求App用户信息) | |||
| @@ -143,5 +182,17 @@ typedef NS_ENUM(NSUInteger, BodyFatScaleRole) { | |||
| BodyFatScaleRole_Pregnancy = 0x03,//Pregnancy(孕妇) | |||
| }; | |||
| typedef NS_ENUM(NSUInteger, BodyFatScaleSetMode) { | |||
| BodyFatScaleSetMode_BodyFat = 0x00, | |||
| BodyFatScaleSetMode_HoldBaby = 0x01, | |||
| BodyFatScaleSetMode_EnableHoldBaby = 0x02, | |||
| }; | |||
| typedef NS_ENUM(NSUInteger, BodyFatScaleMCUBackSetModeResult) { | |||
| BodyFatScaleMCUBackSetModeResult_Success = 0x00, | |||
| BodyFatScaleMCUBackSetModeResult_Failure = 0x01, | |||
| BodyFatScaleMCUBackSetModeResult_Support = 0x02, | |||
| BodyFatScaleMCUBackSetModeResult_NotSupport = 0x03, | |||
| }; | |||
| #endif /* ELBodyFatScaleBleHeader_h */ | |||
| @@ -27,6 +27,24 @@ NS_ASSUME_NONNULL_BEGIN | |||
| #pragma mark 回调A7指令数据 | |||
| - (void)bodyFatScaleManagerCallBackSynUserSuccess; | |||
| // 蓝牙回复0x34 指令 | |||
| - (void)bodyFatScaleManagerCallBackSendUserListVersion:(NSData *)playLoadData; | |||
| /** | |||
| 6.1.23MCU切换用户() | |||
| */ | |||
| //- (void)bodyFatScaleManagerCallBackMCUchangeUserAction; | |||
| - (void)bodyFatScaleManagerCallBackMCUchangeUserActionWithuserID:(NSData *)userIDData; | |||
| /** | |||
| APP下发用户头像名称版本 | |||
| */ | |||
| - (void)bodyFatScaleManagerCallBackindicatoruserAvatarAndNicknameWithData:(NSData *)data isNeedTochanege:(BOOL)haveto; | |||
| /** | |||
| Callback to set unit result(回调设置单位结果) | |||
| @@ -46,7 +64,11 @@ MCU requests user information( MCU 请求用户信息) | |||
| Return weight and body fat model(返回重量及体脂model) | |||
| */ | |||
| -(void)bodyFatScaleManagerCallBackWeight:(ELBodyFatScaleBleWeightModel *)weightModel state:(BodyFatScaleMeasureStatus)status; | |||
| /** | |||
| Return weight and body fat model(返回重量及体脂model) | |||
| isRequires 0x01:需要体脂数据 | |||
| */ | |||
| -(void)new_bodyFatScaleManagerCallBackWeight:(ELBodyFatScaleBleWeightModel *)weightModel state:(BodyFatScaleMeasureStatus)status mcuRequiresBodyFatData:(BOOL)isRequires; | |||
| /** | |||
| Return temperature (unit: ° C)(返回温度(单位:°C)) | |||
| @@ -78,6 +100,19 @@ MCU requests user information( MCU 请求用户信息) | |||
| 1:超重 | |||
| */ | |||
| -(void)bodyFatScaleManagerCallBackErrorCode:(NSInteger)code; | |||
| /** | |||
| Callback to set body fat mode result(回调设置体脂/抱婴模式结果) | |||
| @param result 结果 | |||
| */ | |||
| -(void)bodyFatScaleManagerCallBackSetMode:(BodyFatScaleSetMode)setMode result:(BodyFatScaleMCUBackSetModeResult)result; | |||
| /** | |||
| Return weight model for baby(返回婴儿重量model) | |||
| */ | |||
| -(void)bodyFatScaleManagerCallBackWeightForBaby:(ELBodyFatScaleBleWeightModel *)weightModel; | |||
| #pragma mark 回调A6指令数据 | |||
| /** | |||
| @@ -119,6 +154,9 @@ MCU requests user information( MCU 请求用户信息) | |||
| */ | |||
| - (void)bodyFatScaleManagerCallBackReportingMode:(NSInteger)mode; | |||
| /** MCU 返回Device 的屏幕分辨率 | |||
| */ | |||
| - (void)bodyFatScaleManagerCallBackResolutionOfDevice:(NSInteger)width height:(NSInteger)height; | |||
| /** MCU 返回支持数据类型列表 | |||
| */ | |||
| @@ -127,6 +165,10 @@ MCU requests user information( MCU 请求用户信息) | |||
| /** MCU 返回显示项和顺序 | |||
| */ | |||
| - (void)bodyFatScaleManagerCallBackDisplayItemOrder:(NSMutableArray*)dataList; | |||
| /** MCU 返回需要体脂数据 0x01:需要体脂数据 | |||
| */ | |||
| - (void)bodyFatScaleManagerCallBackMCURequiresBodyFat:(NSInteger)op; | |||
| @end | |||
| @@ -142,6 +184,8 @@ MCU requests user information( MCU 请求用户信息) | |||
| #pragma mark ============ 下发A7指令 ============== | |||
| - (void)changeBodyFatScaleUnit:(ELDeviceWeightUnit)unit; | |||
| - (void)sendCurrentUserToBle:(ELBodyFatScaleBleUserModel *)usr; | |||
| -(void)sendReceivedDataResult:(BOOL)result; | |||
| @@ -150,6 +194,44 @@ MCU requests user information( MCU 请求用户信息) | |||
| //APP下发显示项和顺序(0x10) | |||
| - (void)readDeliverDisplayItemsTheirSequence; | |||
| - (void)sendDeliverDisplayItemsTheirSequence:(NSMutableArray*)dataList; | |||
| - (void)sendBodyFatMode; | |||
| - (void)sendHoldBabyMode; | |||
| - (void)sendEnableHoldBabyMode; | |||
| //发用户头像名称版本(0x15) | |||
| - (void)sendDataToAskUserIconAndNickNameWithPlayLoadData:(NSData *)data; | |||
| //回复MCU: 切换用户 | |||
| - (void)replayMCUChangeUserCommand; | |||
| // 7.26 增加下发语言指令 | |||
| - (void)sendToSetCurrentLanguageWithType:(NSInteger)languageType; | |||
| // APP请求同步历史记录 | |||
| -(void)sendA7Cmd_RequestHistory; | |||
| // APP A7下发同步用户 0x12 | |||
| - (void)sendCurrentA7UserToBle:(ELBodyFatScaleBleUserModel *)usr; | |||
| // APP A7下发同步用户 0x13 | |||
| - (void)setCurrentA7UserToBle:(NSUInteger )usrID; | |||
| -(void) sendOfflineUserListA7ToBle:(NSArray <ELBodyFatScaleBleUserModel *> *)userListArr; | |||
| // 7.26 APP请求当前分辨率(0x30) | |||
| - (void)sendToAskFoResolutionFromDevice; | |||
| // 是否有 更新启动图片(0x02) | |||
| - (void)sendDataToAskIsSetPic:(NSInteger)picType; | |||
| - (void)sendReceivedWeightForBabyResult:(BOOL)result; | |||
| //新增:0x34 APP下发当前用户列表版本 | |||
| //新增:0x34 APP下发当前用户列表版本 | |||
| -(void)sendCurrentUserListVersionWith:(NSInteger)mainUserID md5FormerFourData:(NSData *)data; | |||
| -(void)sendCurrentUserVersion:(NSArray <ELBodyFatScaleBleUserModel *> *)userListArr; | |||
| #pragma mark ============ 下发A6指令 ============== | |||
| -(void)sendOfflineUserListToBle:(NSArray <ELBodyFatScaleBleUserModel *> *)userListArr; | |||
| @@ -24,7 +24,9 @@ NS_ASSUME_NONNULL_BEGIN | |||
| @property (nonatomic, assign) NSUInteger age; //Age 28 (only counts for the whole year)(年龄28(只算整年)) | |||
| @property (nonatomic, assign) NSUInteger height; //Height 170 (Unit fixed to death: cm, accuracy 1)(身高170(单位定死:cm,精度1)) | |||
| @property (nonatomic, assign) NSUInteger weight; //Weight 562 (Unit fixed death: kg, accuracy 0.1) 120lb-》 54.4lkg-》 545(体重562(单位定死:kg,精度0.1) 120lb-》54.4lkg-》545) | |||
| @property (nonatomic, assign) NSUInteger goalWeight; | |||
| //初始体重 | |||
| @property (nonatomic, assign) NSUInteger weightFirst; | |||
| @property (nonatomic, assign) NSUInteger adc;//Impedance 1230 (accuracy is 1Ω)(阻抗1230(精度为 1Ω)) | |||
| @end | |||
| @@ -69,6 +69,84 @@ NS_ASSUME_NONNULL_BEGIN | |||
| /** 身体年龄 */ | |||
| @property (nonatomic, assign) int bodyAge; | |||
| /** 脂肪量 kg */ | |||
| @property (nonatomic, assign) float fatMass; | |||
| /** 体水分量 kg */ | |||
| @property (nonatomic, assign) float bodyWaterWeight; | |||
| /** 骨盐量 kg */ | |||
| @property (nonatomic, assign) float boneSaltContent; | |||
| /** 无机盐 kg */ | |||
| @property (nonatomic, assign) float inorganicSalts; | |||
| /** 蛋白质量 kg */ | |||
| @property (nonatomic, assign) int proteinContent; | |||
| /** 肌肉量 kg */ | |||
| @property (nonatomic, assign) float muscleMass; | |||
| /** 去脂体重 kg */ | |||
| @property (nonatomic, assign) float leanBodyMass; | |||
| /** 骨骼肌 kg */ | |||
| @property (nonatomic, assign) float skeletalMuscle; | |||
| /** 身体得分 */ | |||
| @property (nonatomic, assign) int physicalScore; | |||
| /** 身体质量指数(精度0.1kg/m^2) */ | |||
| @property (nonatomic, assign) float bodyMassIndex; | |||
| /** 标准体重 */ | |||
| @property (nonatomic, assign) int standardWeight; | |||
| /** 肌肉控制 */ | |||
| @property (nonatomic, assign) int muscleControl; | |||
| /** 腰臀比 */ | |||
| @property (nonatomic, assign) float whr; | |||
| /** 体型控制 */ | |||
| @property (nonatomic, assign) int bodyShapeControl; | |||
| /** 脂肪控制 */ | |||
| @property (nonatomic, assign) int fatControl; | |||
| /** 体重控制 */ | |||
| @property (nonatomic, assign) int weightControl; | |||
| /** 左上脂肪占比 */ | |||
| @property (nonatomic, assign) float upperLeftFatPercentage; | |||
| /** 右上脂肪占比 */ | |||
| @property (nonatomic, assign) float upperRightFatPercentage; | |||
| /** 躯干脂肪占比 */ | |||
| @property (nonatomic, assign) float trunkFatPercentage; | |||
| /** 左下脂肪占比 */ | |||
| @property (nonatomic, assign) float lowerLeftFatPercentage; | |||
| /** 右下脂肪占比 */ | |||
| @property (nonatomic, assign) float lowerRightFatPercentage; | |||
| /** 左上肌肉占比 */ | |||
| @property (nonatomic, assign) float leftUpperMusclePercentage; | |||
| /** 右上肌肉占比 */ | |||
| @property (nonatomic, assign) float rightUpperMusclePercentage; | |||
| /** 躯干肌肉占比 */ | |||
| @property (nonatomic, assign) float trunkMusclePercentage; | |||
| /** 左下肌肉占比 */ | |||
| @property (nonatomic, assign) float leftLowerMusclePercentage; | |||
| /** 右下肌肉占比 */ | |||
| @property (nonatomic, assign) float rightLowerMusclePercentage; | |||
| @end | |||
| @@ -60,8 +60,12 @@ NS_ASSUME_NONNULL_BEGIN | |||
| /** 返回设备采样频率和保存频率 */ | |||
| - (void)hygrothermographManagerReturnSamplingFrequency:(NSInteger)sampling saveFrequency:(NSInteger)save timeInterval:(NSInteger)timeInterval; | |||
| /** 返回温湿度校准值 */ | |||
| - (void)hygrothermographManagerReturnCalibrationValueWithTem:(float)tem hum:(float)hum; | |||
| /** 返回温湿度校准值 | |||
| * @param celsiusCalibrationValue : 温度偏置,单位摄氏度 | |||
| * @param fahrenheitCalibrationValue : 温度偏置,单位华氏度 | |||
| * @param humCalibrationValue : 湿度偏置 | |||
| */ | |||
| - (void)hygrothermographManagerReturnCalibrationValueWithCelsiusTem:(float)celsiusCalibrationValue fahrenheitTem:(float)fahrenheitCalibrationValue hum:(float)humCalibrationValue; | |||
| /** 返回设备信息 */ | |||
| - (void)hygrothermographManagerReturnDevType:(enum Hygrothermograph_DevType)type version:(NSString *)version IMEI:(NSString *)IMEI; | |||
| @@ -13,6 +13,9 @@ | |||
| //Bluetooth command type(蓝牙指令类型) | |||
| typedef NS_ENUM(NSUInteger, ELInetBleDataType) { | |||
| ELInetBleDataPackHead_A5 = 0xA5, | |||
| ELInetBleDataPackTail_5A = 0x5A, | |||
| ELInetBleDataPackHead_A6 = 0xA6, | |||
| ELInetBleDataPackTail_6A = 0x6A, | |||
| ELInetBleDataPackHead_A7 = 0xA7, | |||
| @@ -120,7 +120,7 @@ | |||
| self.state = state; | |||
| } | |||
| ///回调扫描到的身高体脂秤 | |||
| ///回调扫描到的温湿度计 | |||
| - (void)hygrothermographManagerScanDevices:(NSArray<ELPeripheralModel *> *)scanDevices { | |||
| for (ELPeripheralModel *model in scanDevices) { | |||
| if ([model.macAddress isEqualToString:self.per.macAddressString]) { | |||
| @@ -150,7 +150,7 @@ | |||
| } | |||
| // BM设备返回设备状态 | |||
| - (void)newTHManagerReturnDevStatePower:(int)power bootTime:(long long)time tem:(float)tem unit:(enum ELDeviceTemperatureUnit)unit hum:(float)hum devState:(enum TH_DevStateType)state { | |||
| - (void)newTHManagerReturnDevStatePower:(int)power bootTime:(long long)time tem:(float)tem unit:(enum ELDeviceTemperatureUnit)unit hum:(float)hum devState:(enum TH_DevStateType)state isCharging:(BOOL)isCharging { | |||
| NSString *log = [NSString stringWithFormat:@"hygrothermograph power:%d time:%lld tem:%f unit:%ld hum:%f state:%ld", power, time, tem, (long)unit, hum, (long)state]; | |||
| NSLog(@"%@", log); | |||
| [self addLog:log]; | |||
| @@ -255,8 +255,8 @@ | |||
| } | |||
| /// 设备返回温度校准值 | |||
| - (void)hygrothermographManagerReturnCalibrationValueWithTem:(float)tem hum:(float)hum { | |||
| NSString *log = [NSString stringWithFormat:@"设备返回温度校准值 tem: %f hum: %f", tem, hum]; | |||
| - (void)hygrothermographManagerReturnCalibrationValueWithCelsiusTem:(float)celsiusCalibrationValue fahrenheitTem:(float)fahrenheitCalibrationValue hum:(float)humCalibrationValue { | |||
| NSString *log = [NSString stringWithFormat:@"设备返回温度校准值 celsiusTem: %f fahrenheitTem: %f hum: %f", celsiusCalibrationValue, fahrenheitCalibrationValue, humCalibrationValue]; | |||
| [self addLog:log]; | |||
| } | |||
| @@ -17,3 +17,4 @@ | |||
| | 1.9.0(Demo v1.9.2) | 20240628 | larry | 修改 增加 温湿度计 Demo | | |||
| | 1.10.0 | 20240910 | larry | 修改 增加 带屏食物探针盒 多探针盒子 | | |||
| | 1.11.0 | 20250305 | larry | WIFI 血压计 Demo 优化;SDK问题修复 | | |||
| | 1.12.6 | 20260715 | cyc | 优化温湿度计丢数据问题 修复温湿度校准设置协议解析问题 | | |||