WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
fe_rf_customize_power_cali.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.
3 * Description: rf customize power cali 头文件
4 */
5
6#ifndef _FE_RF_CUSTOMIZE_POWER_CALI_H_
7#define _FE_RF_CUSTOMIZE_POWER_CALI_H_
8
9/*****************************************************************************
10 1 其他头文件包含
11*****************************************************************************/
12#include "osal_types.h"
13
14#ifdef __cplusplus
15#if __cplusplus
16extern "C" {
17#endif
18#endif
19
20#ifdef _PRE_PLAT_FEATURE_CUSTOMIZE
21/*****************************************************************************
22 2 宏定义
23*************************************************************************/
24#define FE_RF_CUS_CALI_SUBBAND_NUM (3) /* RF划分子频段数目 */
25#define FE_RF_CUS_POLYNOMIAL_NUM (3) /* 二次曲线参数个数 */
26#define FE_RF_CUS_HIGH_LOW_POW_THR (150) /* 高低功率曲线划分功率 0.1dBm */
27/*****************************************************************************
28 3 枚举定义
29*****************************************************************************/
30/* 高低功率 */
31typedef enum {
32 FE_CUS_HIGH_POW,
33 FE_CUS_LOW_POW,
34 FE_CUS_POW_BUTT
35} fe_custom_power_enum;
36
37/* 曲线对应的协议定义 */
38typedef enum {
39 FE_CUS_CURVE_11B = 0,
40 FE_CUS_CURVE_OFDM20M,
41 FE_CUS_CURVE_OFDM40M,
42 FE_CUS_CURVE_PROTOCOL_BUTT
43} fe_custom_curve_enum;
44
45/*****************************************************************************
46 7 STRUCT定义
47*****************************************************************************/
48typedef struct {
49 osal_s16 pow_par2; /* 二次项系数 */
50 osal_s16 pow_par1; /* 一次 */
51 osal_s16 pow_par0; /* 常数项 */
53} fe_custom_power_curve_stru;
54
55/* 下发的上电期望功率和曲线 */
56typedef struct {
57 osal_s16 ref_power[FE_CUS_POW_BUTT][FE_RF_CUS_CALI_SUBBAND_NUM]; /* 期望功率 */
58 osal_s16 power_curve[FE_CUS_POW_BUTT][FE_CUS_CURVE_PROTOCOL_BUTT][FE_RF_CUS_POLYNOMIAL_NUM]; /* 曲线参数 */
59 osal_s16 curve_factor[FE_CUS_POW_BUTT][FE_RF_CUS_POLYNOMIAL_NUM]; /* 曲线放大系数 */
60} fe_custom_power_cali_2g_stru;
61
62typedef struct {
63 fe_custom_power_cali_2g_stru power_cali_2g;
64} fe_custom_power_cali_stru;
65
66/*****************************************************************************
67 10 函数声明
68*****************************************************************************/
69osal_void fe_custom_config_power_cali(osal_u8 band, osal_u8 *param);
70osal_void fe_custom_config_power_cali_ref_power(osal_s16 *ref_power, osal_u16 date_len);
71osal_void fe_custom_config_power_cali_power_curve_high(osal_s16 *power_curve, osal_u16 date_len);
72osal_void fe_custom_config_power_cali_power_curve_low(osal_s16 *power_curve, osal_u16 date_len);
73osal_void fe_custom_config_power_cali_curve_factor(osal_s16 *curve_factor, osal_u16 date_len);
74osal_s16 fe_custom_get_ref_power(osal_u8 band, osal_u8 level_idx, osal_u8 subband_idx);
75fe_custom_power_curve_stru fe_custom_get_power_curve(osal_u8 band, osal_u8 level_idx,
76 osal_u8 protocol_idx);
77fe_custom_power_cali_stru *fe_custom_get_power_cali(osal_u8 band, osal_u16 *len);
78#ifdef _PRE_WLAN_FEATURE_MFG_TEST
79osal_u8 fe_custom_get_curve_protocol_idx(osal_u8 band, osal_u8 bandwidth, osal_u8 protocol);
80osal_s32 fe_custom_set_all_power_curve(osal_u8 band, osal_s32 *param, osal_u16 len, osal_u8 level_idx);
81osal_s32 fe_custom_get_all_power_curve(osal_u8 band, osal_s32 *param, osal_u16 len,
82 osal_u32 *out_param_len, osal_u8 level_idx);
83osal_s32 fe_custom_set_curve_factor(osal_u8 band, osal_s32 *param, osal_u16 len, osal_u8 level_idx);
84#endif
85fe_custom_power_curve_stru fe_custom_get_curve_factor(osal_u8 band, osal_u8 level_idx);
86osal_u32 fe_custom_check_curve(fe_custom_power_curve_stru *power_curve,
87 const fe_custom_power_curve_stru *factor, osal_s16 p_val);
88osal_s32 fe_custom_calc_curve_pow(fe_custom_power_curve_stru *power_curve,
89 const fe_custom_power_curve_stru *factor, osal_s16 p_val, osal_s16 *power);
90#ifdef __cplusplus
91#if __cplusplus
92}
93#endif
94#endif
95
96#endif // _PRE_PLAT_FEATURE_CUSTOMIZE
97#endif // _FE_RF_CUSTOMIZE_POWER_CALI_H_
osal_u8 rsv[3]
Definition oal_net.h:2
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
short osal_s16
Definition osal_types.h:18
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