inwudriver-weibo/app/mrs/sta/mrs_sta_plc.h

66 lines
2.2 KiB
C

/*
* Copyright (c) CompanyNameMagicTag 2019-2020. All rights reserved.
* Description: MRS STA plc handle.
*/
#ifndef __MRS_STA_PLC_H__
#define __MRS_STA_PLC_H__
#include "mrs_common_plc.h"
#if defined(PRODUCT_CFG_PRODUCT_TYPE_STA)
#ifdef __cplusplus
extern "C" {
#endif
typedef td_void (*mrs_sta_plc_rx_callback)(EXT_CONST mrs_plc_frame_data *plc);
td_void mrs_sta_register_plc_rx_xr_notify(mrs_sta_plc_rx_callback notify);
td_void mrs_sta_register_plc_rx_pr_notify(mrs_sta_plc_rx_callback notify);
td_void mrs_sta_register_plc_rx_bc_notify(mrs_sta_plc_rx_callback notify);
td_void mrs_sta_register_plc_rx_ciu_notify(mrs_sta_plc_rx_callback notify);
/* processing for recieving transparent PLC frame */
td_void mrs_sta_xr_plc_frame_rx(EXT_CONST mrs_plc_frame_data *plc);
/* processing for recieving parallel PLC frame */
td_void mrs_sta_pr_plc_frame_rx(EXT_CONST mrs_plc_frame_data *plc);
/* processing for recieving braodcast PLC frame */
td_void mrs_broadcast_plc_frame_rx(EXT_CONST mrs_plc_frame_data *plc);
/* PLC channel status */
td_bool mrs_sta_plc_chl_status(td_void);
/* set STA address */
td_void mrs_sta_set_mac_addr(const td_u8 mac[EXT_METER_ADDR_LEN]);
/* Received event on PLC */
td_void mrs_sta_evt_plc_frame_rx(const mrs_plc_frame_data *plc);
td_void mrs_sta_tf_plc_frame_rx(EXT_CONST mrs_plc_frame_data *plc);
/* CIU frame */
td_void mrs_sta_ciu_plc_frame_rx(EXT_CONST mrs_plc_frame_data *plc);
/* query station info */
td_void mrs_sta_qry_plc_frame_rx(const mrs_plc_frame_data *plc);
/* STA equip test frame */
td_void mrs_sta_dut_plc_frame_rx(EXT_CONST mrs_plc_frame_data *plc);
#define mrs_xr_plc_frame_rx(plc) mrs_sta_xr_plc_frame_rx(plc)
#define mrs_pr_plc_frame_rx(plc) mrs_sta_pr_plc_frame_rx(plc)
#define mrs_bc_plc_frame_rx(plc) mrs_broadcast_plc_frame_rx(plc)
#define mrs_evt_plc_frame_rx(plc) mrs_sta_evt_plc_frame_rx(plc)
#define mrs_tf_plc_frame_rx(plc) mrs_sta_tf_plc_frame_rx(plc)
#define mrs_ciu_plc_frame_rx(plc) mrs_sta_ciu_plc_frame_rx(plc)
#define mrs_qry_plc_frame_rx(plc) mrs_sta_qry_plc_frame_rx(plc)
#define mrs_cco_dut_plc_frame_rx(plc)
#ifdef __cplusplus
}
#endif
#endif /* defined(PRODUCT_CFG_PRODUCT_TYPE_STA) */
#endif /* __MRS_STA_PLC_H__ */