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.

BM40BleProtocol.h 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //
  2. // BM40BleProtocol.h
  3. // AILinkBleSDK_Example
  4. //
  5. // Created by LarryZhang on 2023/7/28.
  6. // Copyright © 2023 zhengzida. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @class ELAILinkBleManager;
  10. NS_ASSUME_NONNULL_BEGIN
  11. typedef NS_ENUM(NSUInteger, BM40BleCmdCode) {
  12. BM40BleCmdCodePageWriteOnly97 = 0x97,
  13. BM40BleCmdCodeAllErase98 = 0x98,
  14. BM40BleCmdCodePagesReadChecksum81 = 0x81,
  15. };
  16. typedef NS_ENUM(NSUInteger, BM40BleCmdAck) {
  17. BM40BleCmdAckCmdDoneA4 = 0xA4,
  18. BM40BleCmdAckPagesCsTrueA5 = 0xA5,
  19. BM40BleCmdAckPagesCsFailA6 = 0xA6,
  20. };
  21. @interface BM40BleProtocol : NSObject
  22. + (NSData *)startOTA:(ELAILinkBleManager *)manager;
  23. + (NSData *)endOTA:(ELAILinkBleManager *)manager;
  24. + (NSData *)eraseAll:(ELAILinkBleManager *)manager size:(UInt16)size;
  25. + (NSData *)pageWrite:(ELAILinkBleManager *)manager data:(NSData *)data address:(UInt16)address;
  26. + (NSData *)pageReadChecksum:(ELAILinkBleManager *)manager pageChecksum:(UInt8)pageChecksum address:(UInt16)address;
  27. + (UInt8)checksum:(Byte *)bytes length:(UInt8)length;
  28. @end
  29. NS_ASSUME_NONNULL_END