#ifndef _HMI_HEX_PARSE_H_
#define _HMI_HEX_PARSE_H_

#include <stdint.h>
#include <stdbool.h>

/*
    举例数据帧格式：
        AA(1bytes 帧头) + FUNC(1bytes 功能字) + DATALEN(1bytes 数据长度) + DATA(数据) + TAIL(2bytes 帧尾)
  */
 
struct hex_cmd_fmt
{
    uint8_t head;
    uint8_t func;
    uint8_t datalen;
    uint8_t *data;
    uint8_t tail0;
    uint8_t tail1;
};


int hmi_hex_parse_byte_to_byte(uint8_t byte);

void hmi_hex_parse_reest(void);

/**
 * @brief    hex十六进制解析成功回调处理（建议用户新建一个.c文件，重写该函数）
 */
__weak void hmi_hex_cmd_parse(struct hex_cmd_fmt *fram);

#endif /* _HMI_H_ */




