shark_utils.h 813 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include "shark_types.h"
  3. #define DECODE_U16(buff) \
  4. (U16(buff[1]) << 8 | buff[0])
  5. #define DECODE_U24(buff) \
  6. (U32(buff[2]) << 16 | DECODE_U16(buff))
  7. #define DECODE_U32(buff) \
  8. (U32(buff[3]) << 24 | DECODE_U24(buff))
  9. u16 shark_crc16_update_byte(u16 crc, u8 value);
  10. u16 shark_crc16_update(u16 crc, const u8 *data, u16 size);
  11. u16 shark_crc16_check(const u8 *data, u16 size);
  12. u16 shark_decode_u16(const u8 *buff);
  13. u32 shark_decode_u24(const u8 *buff);
  14. u32 shark_decode_u32(const u8 *buff);
  15. void shark_encode_u16(u8 *buff, u16 value);
  16. void shark_encode_u24(u8 *buff, u32 value);
  17. void shark_encode_u32(u8 *buff, u32 value);
  18. u8 shark_read_chip_id(u8 *buff);
  19. u32 shark_iap_checksum_put(u32 crc, const u8 *buff, u32 length);
  20. u32 shark_iap_checksum_finish(u32 crc);
  21. u32 shark_iap_checksum_init(void);