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.
72 lines
1.6 KiB
72 lines
1.6 KiB
// |
|
// JL_RCSP.h |
|
// JL_BLEKit |
|
// |
|
// Created by zhihui liang on 2018/11/9. |
|
// Copyright © 2018 www.zh-jieli.com. All rights reserved. |
|
// |
|
|
|
#import <Foundation/Foundation.h> |
|
#import <JL_BLEKit/JL_OpCode.h> |
|
|
|
NS_ASSUME_NONNULL_BEGIN |
|
|
|
@class JL_PKG; |
|
@interface JL_RCSP : NSObject |
|
|
|
/** |
|
解析JL数据包 |
|
|
|
@param data 把数据转成JL_PKG模型。 |
|
@return JL_PKG数据模型 |
|
*/ |
|
+(JL_PKG*)rcspAnalysisData:(NSData*)data; |
|
|
|
/** |
|
生成XM数据包 |
|
|
|
@param pkg 把JL_PKG模型转成data。 |
|
@return 数据 |
|
*/ |
|
+(NSData*)rcspMakePackage:(JL_PKG*)pkg; |
|
|
|
/** |
|
分析JL_PKG参数 |
|
|
|
@param pkg 把JL_PKG的xmData参数部分解析成一列数组。 |
|
@return 参数数组 |
|
*/ |
|
+(NSArray*)rcspAnalysisParams:(JL_PKG*)pkg; |
|
|
|
/** |
|
分解dJL_PKG信息 |
|
|
|
@param data JL_PKG中的信息数据 |
|
@return 参数c数组 |
|
*/ |
|
+(NSArray*)rcspInfoArrFromData:(NSData*)data; |
|
|
|
|
|
/// 拆分LTV数据 |
|
/// 当前方法针对的是 L 长度为 2Byte |
|
/// @param data LTV数据 |
|
+(NSArray*)rcspInfoFromData2ByteSize:(NSData*)data; |
|
|
|
/** |
|
生成JL_PKG参数 |
|
|
|
@param array 把参数数组变成data(注意:数组元素必须是NSData类型)。 |
|
@return 数据 |
|
*/ |
|
+(NSData*)rcspMakeParams:(NSArray*)array; |
|
@end |
|
|
|
@interface JL_PKG : NSObject |
|
@property(assign,nonatomic) uint16_t pkgIsCommand; //1Bit |
|
@property(assign,nonatomic) uint16_t pkgNeedResponse; //1Bit |
|
@property(assign,nonatomic) uint16_t pkgUnused; //6Bits |
|
@property(assign,nonatomic) uint16_t pkgOpCode; //8Bits |
|
@property(assign,nonatomic) uint16_t pkgLength; //参数长度(本身不计) |
|
@property(strong,nonatomic) NSData *pkgData; //参数数据 |
|
@end |
|
NS_ASSUME_NONNULL_END
|
|
|