123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- //
- // ELBleDisposeDataTool.h
- // Elink
- //
- // Created by iot_user on 2019/4/23.
- // Copyright © 2019 iot_iMac. All rights reserved.
- //
-
- #import <Foundation/Foundation.h>
- #import "ELSDKHeader.h"
-
-
- NS_ASSUME_NONNULL_BEGIN
-
- @interface ELBleDisposeDataTool : NSObject
-
- //MARK:校验和
- +(BOOL)checksum:(NSData *)data;
- //MARK: 广播设备校验和
- +(BOOL)broadcastChecksum:(NSData *)data;
-
- #pragma mark ============ 解析A6数据 ==============
- /**
- 解析电池数据
-
- @param data 原始数据
- @return 电池充电状态和电量的结构体
- */
- +(struct ELBatteryStruct)analysisBattery:(NSData *)data;
-
- /**
- 解析CID、VID、PID
-
- @param data 原始数据
- @return CID,VID,PID的结构体
- */
- +(struct ELDIDStruct)analysisDid:(NSData *)data;
- /**
- 解析模块时间
-
- @param data 原始数据
- @return yyyy-MM-dd HH:mm:ss
- */
- +(NSString *)analysisBluetoothDate:(NSData *)data;
- /**
- 解析MCU软硬件版本号
-
- @param data 原始数据
- @return MCU软硬件版本号
- */
- +(NSString *)analysisMCUVersion:(NSData *)data;
- /**
- 解析BM模块软硬件版本号
-
- @param data 原始数据
- @return BM模块软硬件版本号
- */
- +(NSString *)analysisBMVersion:(NSData *)data;
-
- /**
- 解析MAC地址
-
- @param data 原始数据
- @return MAC地址
- */
- +(NSString *)analysisBluetoothMACAddrress:(NSData *)data;
-
- /**
- 解析模块状态
-
- @param data 原始数据
- @return 结构体
- */
- +(struct ELMCUStateStruct)analysisBluetoothConnectState:(NSData *)data;
-
- /**
- 解析模块通信模式
-
- @param data 原始数据
- @return 模式
- */
- +(ELCommunicationModeType)analysisBluetoothCommunicationMode:(NSData *)data;
-
- /**
- 解析自动睡眠时间
-
- @param data 原始数据
- @return 结构体
- */
- +(struct ELAutoSleepTimeStruct)analysisBluetoothAutoSleepTime:(NSData *)data;
-
- /**
- 解析主从模式数据
-
- @param data 原始数据
- @return 模式
- 0:从机模式 1:主机模式
- */
- +(int)analysisBluetoothMCUMode:(NSData *)data;
-
- /**
- 解析UUID
-
- @param data 原始数据
- @return UUID 的结构体
- */
- +(struct ELUUIDStruct)analysisBluetoothUUID:(NSData *)data;
- /**
- 解析大小端序
-
- @param data 原始数据
- @return 大小端序
- */
- +(int)analysisBluetoothMACAddressType:(NSData *)data;
-
- /**
- 解析串口波特率
-
- @param data 原始数据
- @return 波特率
- 0:9600
- 1:19200
- 2:38400
- 3:57600
- 4:115200
- 5:921600
- */
- +(int)analysisBluetoothSerialPostBaudRate:(NSData *)data;
-
- /**
- 解析发射功率
-
- @param data 原始数据
- @return 发射功率:1~10
- */
- +(int)analysisBluetoothTransmittingPower:(NSData *)data;
-
- /**
- 解析蓝牙连接间隔
-
- @param data 原始数据
- @return 连接间隔时间的结构体
- */
- +(struct ELConnectIntervalStruct)analysisBluetoothConnectInterval:(NSData *)data;
-
- /**
- 解析蓝牙广播间隔时间
-
- @param data 蓝牙发送的原始数据
- @return 广播间隔
- */
- +(int)analysisBluetoothBroadcastInterval:(NSData *)data;
-
- /**
- 解析蓝牙名称
-
- @param data 蓝牙发送的原始数据
- @return 蓝牙名称
- */
- +(NSString *)analysisBluetoothName:(NSData *)data;
-
-
- /**
- 解析设备支持的体重数组
-
- @param data 蓝牙发送的原始数据
- @return 体重单位数组,内容为ELDeviceWeightUnit枚举
- */
- + (NSArray<NSNumber *> *)analysisBluetoothSupportWeightUnitArray:(NSData *)data;
-
- /**
- 解析设备支持的身高数组
-
- @param data 蓝牙发送的原始数据
- @return 身高单位数组,内容为ELDeviceHeightUnit枚举
- */
- + (NSArray<NSNumber *> *)analysisBluetoothSupportHeightUnitArray:(NSData *)data;
-
- /**
- 解析设备支持的温度数组
-
- @param data 蓝牙发送的原始数据
- @return 温度单位数组,内容为ELDeviceTemperatureUnit枚举
- */
- + (NSArray<NSNumber *> *)analysisBluetoothSupportTemperatureUnitArray:(NSData *)data;
-
- /**
- 解析设备支持的血压数组
-
- */
- + (NSArray<NSNumber *> *)analysisBluetoothSupportBloodPressureUnitArray:(NSData *)data;
-
- /**
- 解析设备支持的血压数组
-
- @param data 蓝牙发送的原始数据
- @return 血压单位数组,内容为ELDeviceTemperatureUnit枚举
- */
- + (NSArray<NSNumber *> *)analysisBluetoothSupportPressureUnitArray:(NSData *)data;
-
- /// 解析设备支持的血糖仪单位
- /// @param data 蓝牙发送的原始数据
- + (NSArray<NSNumber *> *)analysisBluetoothSupportBloodSugarUnitArray:(NSData *)data;
-
- /// 解析设备支持的体积单位
- /// @param data 蓝牙发送的原始数据
- + (NSArray<NSNumber *> *)analysisBluetoothSupportVolumUnitArray:(NSData *)data;
-
- /// 解析设备支持的营养秤单位
- /// @param data 蓝牙发送的原始数据
- + (NSArray<NSNumber *> *)analysisBluetoothSupportNutritionUnitArray:(NSData *)data;
-
- /**
- 解析蓝牙接收密钥的结果
-
- @param data 原数据
- @return YES:成功,NO失败
- */
- +(BOOL)analysisBluetoothReceiveKeyState:(NSData *)data;
-
- /**
- 解析设备基本信息
-
- @param data 原数据
- @return 设备基本信息
- */
- +(NSData *)analysisBluetoothReceiveBasicInfoData:(NSData *)data;
- @end
-
- NS_ASSUME_NONNULL_END
|