inwudriver-weibo/app/mrs/proto/mrs_proto.h

54 lines
1.2 KiB
C
Raw Normal View History

/*
* Copyright (c) CompanyNameMagicTag 2019-2020. All rights reserved.
* Description: MRS UART protocol.
*/
#ifndef __MRS_PROTO_H__
#define __MRS_PROTO_H__
#include "mrs_config.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
td_u16 rx_len;
td_bool simu_enable;
td_u8 rsv;
td_u8 buffer[MRS_DATA_BUFFER_SIZE];
} mrs_proto_buffer;
typedef td_void (*mrs_proto_rx_notify)(EXT_CONST mrs_proto_buffer *buf);
typedef td_void (*mrs_proto_rx_full)(EXT_CONST mrs_proto_buffer *buf);
typedef td_void (*mrs_proto_parse_fct)(mrs_proto_buffer *buf);
typedef struct {
mrs_proto_rx_notify rx_notify;
mrs_proto_rx_full rx_full;
mrs_proto_parse_fct parse;
} mrs_proto_handler;
typedef struct {
mrs_proto_buffer buf;
mrs_proto_handler handler;
} mrs_proto_ctx;
td_u32 mrs_proto_init(td_void);
td_void mrs_proto_clear_buffer(td_void);
td_void mrs_proto_register_handler(const mrs_proto_handler *hanlder);
td_void mrs_proto_parse(td_bool overtime);
td_void mrs_proto_rx(td_u8 ch);
td_void mrs_proto_simu_ctrl(td_bool enable);
#ifdef __cplusplus
}
#endif
#endif /* __MRS_PROTO_H__ */