71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/****************************************************************************
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
							 | 
						||
| 
								 | 
							
								be copied by any method or incorporated into another program without
							 | 
						||
| 
								 | 
							
								the express written consent of Aerospace C.Power. This Information or any portion
							 | 
						||
| 
								 | 
							
								thereof remains the property of Aerospace C.Power. The Information contained herein
							 | 
						||
| 
								 | 
							
								is believed to be accurate and Aerospace C.Power assumes no responsibility or
							 | 
						||
| 
								 | 
							
								liability for its use in any way and conveys no license or title under
							 | 
						||
| 
								 | 
							
								any patent or copyright and makes no representation or warranty that this
							 | 
						||
| 
								 | 
							
								Information is free from patent or copyright infringement.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								****************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef RX_MPDU_END_H
							 | 
						||
| 
								 | 
							
								#define RX_MPDU_END_H
							 | 
						||
| 
								 | 
							
								#include "os_types.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								extern "C" {
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* pack for the structures in the whole file */
							 | 
						||
| 
								 | 
							
								#pragma pack(push)	// save the pack status
							 | 
						||
| 
								 | 
							
								#pragma pack(1)		// 1 byte align
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* rx tmieout */
							 | 
						||
| 
								 | 
							
								#define RX_TIME_OUT        1
							 | 
						||
| 
								 | 
							
								/* short frmae when rx vector */
							 | 
						||
| 
								 | 
							
								#define ST_FM_RX_VECTOR    2
							 | 
						||
| 
								 | 
							
								/* short frame when rx fc */
							 | 
						||
| 
								 | 
							
								#define ST_FM_RX_FC        3
							 | 
						||
| 
								 | 
							
								/* short frame when rx pb */
							 | 
						||
| 
								 | 
							
								#define ST_FM_RX_PB        4
							 | 
						||
| 
								 | 
							
								/* rx abort when TDMA transmit */
							 | 
						||
| 
								 | 
							
								#define TX_ABORT_TDMA_TS   5
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct _rx_mpdu_end {
							 | 
						||
| 
								 | 
							
								    uint8_t     rx_mpdu_done : 1,
							 | 
						||
| 
								 | 
							
								                rx_abnormal_id : 3,
							 | 
						||
| 
								 | 
							
								                pb_bitmap : 4;
							 | 
						||
| 
								 | 
							
								    int8_t      resv1;    /* resv */
							 | 
						||
| 
								 | 
							
								    uint16_t    encrypted : 1,
							 | 
						||
| 
								 | 
							
								                is_phyerr : 1,
							 | 
						||
| 
								 | 
							
								                phyerr_id : 5,
							 | 
						||
| 
								 | 
							
								                is_overflow : 1,
							 | 
						||
| 
								 | 
							
								                is_fcserr : 1,
							 | 
						||
| 
								 | 
							
								                err_power_drop : 1,
							 | 
						||
| 
								 | 
							
								                err_power_sta : 1,
							 | 
						||
| 
								 | 
							
								                err_power_up : 1,
							 | 
						||
| 
								 | 
							
								                err_fc_parser_timeout : 1,
							 | 
						||
| 
								 | 
							
								                err_fd_overflow : 1,
							 | 
						||
| 
								 | 
							
								                resv2 : 2;
							 | 
						||
| 
								 | 
							
								    uint32_t    ntb_ts;
							 | 
						||
| 
								 | 
							
								    uint32_t    local_ts;
							 | 
						||
| 
								 | 
							
								    uint32_t    rx_buf_num : 4,
							 | 
						||
| 
								 | 
							
								                rx_ntb_timestamp_cycle : 2,
							 | 
						||
| 
								 | 
							
								                rx_zc_offset : 16, // 1us
							 | 
						||
| 
								 | 
							
								                rx_abort : 1,
							 | 
						||
| 
								 | 
							
								                rx_bb_len : 9;
							 | 
						||
| 
								 | 
							
								} rx_mpdu_end;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#pragma pack(pop)	// load the pack status
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif //RX_MPDU_END_H
							 |