WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_csi.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2022. All rights reserved.
3 * Description: Header file for hal_csi.c.
4 */
5
6#ifndef __HAL_CSI_H__
7#define __HAL_CSI_H__
8
9/*****************************************************************************
10 1 其他头文件包含
11*****************************************************************************/
12#include "osal_types.h"
13#include "wlan_types_common.h"
14#include "hal_device.h"
15#include "hal_common_ops.h"
16#include "mac_vap_ext.h"
17#include "hh503_phy_reg.h"
18
19#include "hal_csi_rom.h"
20#include "frw_dmac_rom.h"
21#include "hal_main.h"
22#ifdef __cplusplus
23#if __cplusplus
24extern "C" {
25#endif
26#endif
27
28/*****************************************************************************
29 宏定义
30*****************************************************************************/
31#undef THIS_FILE_ID
32#define THIS_FILE_ID OAM_FILE_ID_HAL_CSI_H
33
34#define HAL_CSI_MAX_USER_NUM 4
35#define HAL_CSI_USR_0 0
36#define HAL_CSI_USR_1 1
37#define HAL_CSI_USR_2 2
38#define HAL_CSI_USR_3 3
39
40#define HAL_CSI_USR_ADDR_NUM 2
41
42#define CSI_DATA_MAX_LEN 762 /* CSI内存块单个大小,默认值 762B */
43#define CSI_DATA_BLK_NUM 2 /* CSI内存块个数,默认值 2 */
44
45/* PPDU Format类型枚举值定义 */
46typedef enum {
47 HAL_CSI_PPDU_NONE_HT = 0, /* NONE HT */
48 HAL_CSI_PPDU_HE_ER_SU = 1, /* HE(ER)SU */
49 HAL_CSI_PPDU_HE_MU_MIMO = 2, /* HE_MU_MIMO */
50 HAL_CSI_PPDU_HE_MU_OFDMA = 3, /* HE_MU_OFDMA */
51 HAL_CSI_PPDU_HT = 4, /* HT 11n */
52 HAL_CSI_PPDU_VHT = 5, /* VHT 11ac */
55
56/* CSI上报计算类型枚举值定义 */
57// note that hal_csi_rpt_cnt_enum is as same as bits.cfg_csi_rpt_cnt_clr[0~4]
58typedef enum {
59 HAL_CSI_CNT_H_NUM_ERR = 0, /* PHY送来H子载波错误计数 */
60 HAL_CSI_CNT_H_TIMMING_ERR = 1, /* H上报时序异常计数 */
61 HAL_CSI_CNT_TIMEOUT_ERR = 2, /* CSI上报超时异常计数 */
62 HAL_CSI_CNT_SW_BLK_ERR = 3, /* CSI软件处理太慢异常计数 */
63 HAL_CSI_CNT_RPT_SUCC = 4, /* CSI上报成功计数 */
66
67/*****************************************************************************
68 STRUCT定义
69*****************************************************************************/
70/* CSI白名单用户配置 */
71typedef struct {
72 /* Byte0~5: user TA address */
74
75 /* Byte6: report configurations */
84
85 /* Byte7: report frame subtype */
87
88 /* Byte8: report ppdu format */
96
97 /* Byte9: resv */
99
100 /* Byte10~11: report period */
103
104/* CSI buffer配置 */
110
111/* CSI全局配置 */
112typedef struct {
114 osal_u32 non_ht_bw_mismatch_center_freq_bypass_en : 1; /* 参考对应MAC寄存器设置该Bit位, 可写功能对外不开放 */
115 osal_u32 non_ht_bw_mismatch_center_freq : 1; /* 参考对应MAC寄存器设置该Bit位, 可写功能对外不开放 */
117 osal_u32 direct_resp_ctrl_flt_en : 1; /* Rx单播直接的响应控制帧时过滤CSI使能 */
119 osal_u32 buffer_step_block_size : 10; /* RO: this field is ReadOnly, 可写功能对外不开放 */
120 osal_u32 buffer_block_total : 3; /* RO: this field is ReadOnly, 可写功能对外不开放 */
121 osal_u32 timeout_thr_us_cnt : 5; /* 超时从rx_psdu_complete时刻开始计时 */
122 osal_u32 cfg_rsv7_5 : 3; /* 保留调试读取csi_sw_buf_index时使用, 表示当前软件处理CSI的Buffer编号 */
123 osal_u32 cfg_rsv4_0 : 5; /* 保留调试读取CSI计数清零使能值时使用 */
125
126/* CSI维测计数 */
137
138/*****************************************************************************
139 函数声明
140*****************************************************************************/
141// csi使能禁用接口
146// csi用户配置接口
149
150// csi全局配置接口
151
155
156// csi其他配置接口:统计计数
158
159
161/*****************************************************************************
162 ROM回调函数类型定义
163*****************************************************************************/
164
165#ifdef __cplusplus
166#if __cplusplus
167}
168#endif
169#endif
170
171#endif /* end of hal_csi.h */
osal_u32 hal_csi_set_usr_attr(osal_u8 usr_id, const hal_csi_usr_attr *attr)
osal_u32 hal_csi_stat_clr(osal_void)
osal_void hal_csi_set_ack_resp_flt(void)
osal_u32 hal_csi_disable(osal_u8 usr_id)
osal_u32 hal_csi_get_usr_attr(osal_u8 usr_id, hal_csi_usr_attr *attr)
osal_bool hal_csi_vap_is_close(osal_void)
hal_csi_ppdu_format_enum
Definition hal_csi.h:46
@ HAL_CSI_PPDU_HT
Definition hal_csi.h:51
@ HAL_CSI_PPDU_HE_ER_SU
Definition hal_csi.h:48
@ HAL_CSI_PPDU_HE_MU_MIMO
Definition hal_csi.h:49
@ HAL_CSI_PPDU_HE_MU_OFDMA
Definition hal_csi.h:50
@ HAL_CSI_PPDU_NONE_HT
Definition hal_csi.h:47
@ HAL_CSI_PPDU_VHT
Definition hal_csi.h:52
@ HAL_CSI_PPDU_FORMAT_BUTT
Definition hal_csi.h:53
osal_u32 hal_csi_set_buffer_config(hal_csi_buffer_stru *csi_buffer)
osal_void hh503_csi_phy_open_channel(osal_void)
hal_csi_rpt_cnt_enum
Definition hal_csi.h:58
@ HAL_CSI_CNT_RPT_SUCC
Definition hal_csi.h:63
@ HAL_CSI_RPT_CNT_BUTT
Definition hal_csi.h:64
@ HAL_CSI_CNT_SW_BLK_ERR
Definition hal_csi.h:62
@ HAL_CSI_CNT_H_TIMMING_ERR
Definition hal_csi.h:60
@ HAL_CSI_CNT_TIMEOUT_ERR
Definition hal_csi.h:61
@ HAL_CSI_CNT_H_NUM_ERR
Definition hal_csi.h:59
osal_u32 hal_csi_set_tsf(osal_u8 hal_vap_id)
osal_u32 hal_csi_keep_mac_pa_open(void)
osal_u32 hal_csi_enable(osal_u8 usr_id)
#define WLAN_MAC_ADDR_LEN
Definition mac_addr.c:28
unsigned char osal_u8
Definition osal_types.h:11
osal_u8 osal_bool
Definition osal_types.h:27
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
Definition hal_csi.h:105
osal_u16 csi_data_max_len
Definition hal_csi.h:107
osal_u8 csi_data_blk_num
Definition hal_csi.h:106
Definition hal_csi.h:112
osal_u32 cfg_rsv31
Definition hal_csi.h:113
osal_u32 buffer_step_block_size
Definition hal_csi.h:119
osal_u32 cfg_rsv7_5
Definition hal_csi.h:122
osal_u32 non_ht_bw_mismatch_center_freq
Definition hal_csi.h:115
osal_u32 timeout_thr_us_cnt
Definition hal_csi.h:121
osal_u32 non_ht_bw_mismatch_center_freq_bypass_en
Definition hal_csi.h:114
osal_u32 he_grouping_en
Definition hal_csi.h:116
osal_u32 direct_resp_ctrl_flt_en
Definition hal_csi.h:117
osal_u32 buffer_block_total
Definition hal_csi.h:120
osal_u32 cfg_rsv4_0
Definition hal_csi.h:123
osal_u32 fcs_err_drop_en
Definition hal_csi.h:118
Definition hal_csi.h:127
osal_u32 rpt_cnt_rsv31_19
Definition hal_csi.h:133
osal_u8 h_num_err_cnt
Definition hal_csi.h:128
osal_u8 timeout_err_cnt
Definition hal_csi.h:130
osal_u8 h_timing_err_cnt
Definition hal_csi.h:129
osal_u32 rpt_csi_blk_index
Definition hal_csi.h:134
osal_u8 sw_blk_err_cnt
Definition hal_csi.h:131
osal_u32 rpt_csi_succ_cnt
Definition hal_csi.h:135
Definition hal_csi.h:71
osal_u8 ppdu_he_er_su_en
Definition hal_csi.h:90
osal_u8 ppdu_rsv_en
Definition hal_csi.h:95
osal_u8 ppdu_ht_en
Definition hal_csi.h:93
osal_u8 frm_subtype_match_en
Definition hal_csi.h:83
osal_u8 ppdu_non_ht_en
Definition hal_csi.h:89
osal_u8 cfg_csi_en
Definition hal_csi.h:76
osal_u16 sample_period_ms
Definition hal_csi.h:101
osal_u8 ppdu_he_mu_mimo_en
Definition hal_csi.h:91
osal_u8 cfg_rsv2
Definition hal_csi.h:98
osal_u8 cfg_match_ta_ra_sel
Definition hal_csi.h:78
osal_u8 cfg_rsv
Definition hal_csi.h:82
osal_u8 ppdu_vht_en
Definition hal_csi.h:94
osal_u8 cfg_mgmt_frame_en
Definition hal_csi.h:79
osal_u8 cfg_data_frame_en
Definition hal_csi.h:81
osal_u8 ppdu_he_mu_ofdma_en
Definition hal_csi.h:92
osal_u8 cfg_addr_match_bypass
Definition hal_csi.h:77
osal_u8 match_frame_subtype
Definition hal_csi.h:86
osal_u8 cfg_ctrl_frame_en
Definition hal_csi.h:80