58 lines
1.4 KiB
C
58 lines
1.4 KiB
C
/*
|
|
* Copyright (c) CompanyNameMagicTag 2019-2020. All rights reserved.
|
|
* Description: MRS STA EVENT report.
|
|
*/
|
|
|
|
#ifndef __MRS_STA_EVT_H__
|
|
#define __MRS_STA_EVT_H__
|
|
|
|
#include "mrs_common_plc.h"
|
|
|
|
#if defined(PRODUCT_CFG_PRODUCT_TYPE_STA)
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef td_void (*mrs_sta_evt_callback)(td_void);
|
|
|
|
typedef struct {
|
|
td_u8 hard_evt_out;
|
|
td_u8 evt_out;
|
|
td_u8 timeout;
|
|
td_u8 timeout_max;
|
|
td_u8 retry;
|
|
td_u8 max_retry;
|
|
td_u16 seq;
|
|
td_u16 sta_queue_seq;
|
|
td_u8 pad[2]; /* 2:reserved bytes */
|
|
mrs_plc_frame_data *report_frame;
|
|
|
|
mrs_sta_evt_callback query_notify;
|
|
mrs_sta_evt_callback plc_ack_notify;
|
|
mrs_sta_evt_callback trigger_notify;
|
|
} mrs_sta_evt_ctx;
|
|
|
|
/* Event initial */
|
|
td_u32 mrs_sta_event_init(td_void);
|
|
|
|
/* Handler of event report timeout */
|
|
td_void mrs_sta_event_report_plc_timeout_handle(td_void);
|
|
mrs_sta_evt_ctx *mrs_sta_get_evt_ctx(td_void);
|
|
|
|
/* Register query EVENT_OUT notify */
|
|
td_void mrs_sta_event_register_query_notify(mrs_sta_evt_callback notify);
|
|
|
|
/* Register PLC ACK notify */
|
|
td_void mrs_sta_event_register_plc_ack_notify(mrs_sta_evt_callback notify);
|
|
|
|
/* Register EVENT_OUT trigger notify */
|
|
td_void mrs_sta_event_register_trigger_notify(mrs_sta_evt_callback notify);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* defined(PRODUCT_CFG_PRODUCT_TYPE_STA) */
|
|
#endif /* __MRS_STA_EVT_H__ */
|
|
|