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.

ELMeatProbeBoxMultipleBleParser.h 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. //
  2. // ELMeatProbeBoxMultipleBleParser.h
  3. // Pods
  4. //
  5. #import <Foundation/Foundation.h>
  6. #import <AILinkBleSDK/ELSDKHeader.h>
  7. #import "ELMeatProbeBoxMultipleBleHeader.h"
  8. NS_ASSUME_NONNULL_BEGIN
  9. @protocol ELMeatProbeBoxMultipleBleParserDelegate;
  10. @class ELMeatProbeBoxMultipleStatusModel, ELMeatProbeBoxMultipleProbeStatusModel, ELMeatProbeBoxMultipleBleBBQParamModel, ELMeatProbeBoxMultipleColorInfoModel;
  11. @interface ELMeatProbeBoxMultipleBleParser : NSObject
  12. @property (nonatomic, copy) NSString *mac;
  13. @property (nonatomic, assign) NSInteger deviceId;
  14. @property (nonatomic, weak) id<ELMeatProbeBoxMultipleBleParserDelegate> delegate;
  15. - (void)parseA7Payload:(NSData *)payload;
  16. @end
  17. @protocol ELMeatProbeBoxMultipleBleParserDelegate <NSObject>
  18. @optional
  19. //MCU 上报设备状态数据(Type:02)
  20. - (void)meatProbeBoxMultipleBleParser:(ELMeatProbeBoxMultipleBleParser *)parser boxStatus:(ELMeatProbeBoxMultipleStatusModel *)boxStatus;
  21. //切换单位(Type:04)
  22. - (void)meatProbeBoxMultipleBleParser:(ELMeatProbeBoxMultipleBleParser *)parser unit:(ELDeviceTemperatureUnit)unit;
  23. //报警状态数据(Type:06)//state: bit0:食物目标温度到达时置1
  24. - (void)meatProbeBoxMultipleBleParser:(ELMeatProbeBoxMultipleBleParser *)parser startAlarmWithState:(Byte)state macData:(NSData *)macData mac:(NSString *)mac;
  25. //取消报警(Type:08)
  26. - (void)meatProbeBoxMultipleBleParser:(ELMeatProbeBoxMultipleBleParser *)parser stopAlarmWithMacData:(NSData *)macData mac:(NSString *)mac;
  27. //烧烤任务参数(Type:0A)//Op:0x00:设置任务参数(设置时需要一个针一个针设定任务) 0x01:获取任务参数(返回所有的针任务,如果包长度超MTU时,会分包发) 0x02:结束烧烤任务
  28. //- (void)meatProbeBoxMultipleBleParser:(ELMeatProbeBoxMultipleBleParser *)parser option:(UInt8)option supportProbe:(UInt8)supportProbe params:(NSArray <ELMeatProbeBoxMultipleBleBBQParamModel *>*)params;
  29. - (void)meatProbeBoxMultipleBleParser:(ELMeatProbeBoxMultipleBleParser *)parser option:(UInt8)option supportProbe:(UInt8)supportProbe param:(ELMeatProbeBoxMultipleBleBBQParamModel *)param;
  30. //color info
  31. - (void)meatProbeBoxMultipleBleParser:(ELMeatProbeBoxMultipleBleParser *)parser colorInfos:(NSArray<ELMeatProbeBoxMultipleColorInfoModel *> *)colorInfos;
  32. @end
  33. @interface ELMeatProbeBoxMultipleStatusModel : NSObject
  34. //设备状态数据协议版本:0x01
  35. @property (nonatomic, assign) UInt8 version;
  36. //支持的探针数量 M
  37. @property (nonatomic, assign) UInt8 probeMaxCount;
  38. //当前连接的探针数量 N
  39. @property (nonatomic, assign) UInt8 probeCount;
  40. //充电盒电池状态
  41. @property (nonatomic, assign) UInt8 batteryStatus;
  42. @property (nonatomic, assign) UInt8 batteryPercent;
  43. //温度单位
  44. @property (nonatomic, assign) ELDeviceTemperatureUnit unit;
  45. //生成时间
  46. @property (nonatomic, assign) NSTimeInterval timestamp;
  47. @property (nonatomic, strong) NSArray <ELMeatProbeBoxMultipleProbeStatusModel *>*probeStatusArray;
  48. //盒子 mac 地址
  49. @property (nonatomic, copy) NSString *boxMacString;
  50. @end
  51. @interface ELMeatProbeBoxMultipleProbeStatusModel : NSObject
  52. //探针编号(1-M) 无法确定可连 接探针的编号,上报 0xFF
  53. @property (nonatomic, assign) UInt8 index;
  54. //探针 mac 地址
  55. @property (nonatomic, strong) NSData *macData;
  56. @property (nonatomic, copy, readonly) NSString *macString;
  57. //
  58. //食物温度
  59. @property (nonatomic, assign, readonly) NSInteger internalTemperature_C;
  60. @property (nonatomic, assign, readonly) NSInteger internalTemperature_F;
  61. //@property (nonatomic, assign, readonly) NSInteger internalTemperature;
  62. @property (nonatomic, assign, readonly) ELDeviceTemperatureUnit internalTemperatureUnit;
  63. @property (nonatomic, assign) UInt16 internalTemperatureRaw;
  64. //
  65. //环境温度
  66. @property (nonatomic, assign, readonly) NSInteger ambientTemperature_C;
  67. @property (nonatomic, assign, readonly) NSInteger ambientTemperature_F;
  68. //@property (nonatomic, assign, readonly) NSInteger ambientTemperature;
  69. @property (nonatomic, assign, readonly) ELDeviceTemperatureUnit ambientTemperatureUnit;
  70. @property (nonatomic, assign) UInt16 ambientTemperatureRaw;
  71. //
  72. //探针电池状态
  73. @property (nonatomic, assign) UInt8 batteryStatus;
  74. @property (nonatomic, assign) UInt8 batteryPercent;
  75. @property (nonatomic, assign) UInt8 batteryRaw;
  76. //探针插入食物状态
  77. @property (nonatomic, assign) UInt8 insertStatusRaw;
  78. //探针连接状态
  79. @property (nonatomic, assign) UInt8 connectState;
  80. //生成时间
  81. @property (nonatomic, assign) double timestamp;
  82. @end
  83. @interface ELMeatProbeBoxMultipleColorInfoModel : NSObject
  84. @property (nonatomic, assign) UInt8 probeIndex;
  85. @property (nonatomic, assign) UInt8 colorIndex;
  86. @end
  87. NS_ASSUME_NONNULL_END