111 lines
3.1 KiB
C
Executable File
111 lines
3.1 KiB
C
Executable File
/****************************************************************************
|
|
|
|
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 MP_MODE_H
|
|
#define MP_MODE_H
|
|
|
|
#include "phy_rf_chn.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define IOT_MP_MODE_DIRECT_ENABLE 0
|
|
|
|
#define IOT_MP_TX_MODE_ENABLE 0
|
|
|
|
#define IOT_MP_RX_MODE_ENABLE 0
|
|
|
|
#define IOT_MP_AUTO_TONE_TX 0
|
|
|
|
#define IOT_MP_RF_MODE_DIRECT_ENABLE 0
|
|
|
|
/* mp rf golden tx power info count*/
|
|
#define IOT_MP_RF_GU_TX_POWER_INFO_CNT 10
|
|
|
|
/* pack for the structures in the whole file */
|
|
#pragma pack(push) // save the pack status
|
|
#pragma pack(1) // 1 byte align
|
|
|
|
/* mp rf golden tx tone power info */
|
|
typedef struct _mp_rf_gu_tx_tone_pwr_info_t {
|
|
/* power, unit: dbm */
|
|
int8_t power;
|
|
/* tx rf_att, range: [0x7e, 0x7d, 0x7b, 0x77, 0x6f, 0x5f, 0x3f] */
|
|
uint8_t rf_att;
|
|
/* if gain, range: 0~31 */
|
|
uint16_t if_gain : 5,
|
|
/* ldovs, range: 0~511 */
|
|
ldovs : 9,
|
|
/* rservd */
|
|
rsvd : 2;
|
|
} mp_rf_gu_tx_tone_pwr_info_t;
|
|
|
|
typedef struct _mp_rf_gu_cali_t {
|
|
/* reserved for future */
|
|
uint32_t rsvd0;
|
|
/* how much valid data has been stored */
|
|
uint8_t valid_rx_gain_item_cnt;
|
|
/* rf golden gain calibration value */
|
|
int8_t rx_gain_cal[PHY_RF_GAIN_MAX - PHY_RF_GAIN_MIN + 1];
|
|
/* tx tone power info */
|
|
mp_rf_gu_tx_tone_pwr_info_t power_info[IOT_MP_RF_GU_TX_POWER_INFO_CNT];
|
|
/* rservd for future */
|
|
uint8_t rsvd[93];
|
|
} mp_rf_gu_cali_t;
|
|
|
|
#pragma pack(pop) // restore the pack status
|
|
|
|
/**
|
|
*@brief mp_pt_golden_nid_config.
|
|
* Golden Nid GPIO Status to config nid.
|
|
*/
|
|
uint8_t mp_pt_golden_nid_config();
|
|
|
|
/**
|
|
*@brief iot_init_mp_mode_entry.
|
|
* This special API is designed for production line testing.
|
|
* Enter different mode in mp mode directly.
|
|
*
|
|
*@param none [none.]
|
|
*@exception [none.]
|
|
*@return [none.]
|
|
*/
|
|
void iot_init_mp_mode_entry();
|
|
|
|
/**
|
|
*@brief mp_pt_rf_gu_cali_load.
|
|
* get the calibration struct.
|
|
*
|
|
*@param cali_data [calibration value corresponding to gain.]
|
|
*@return [0 success; others fail]
|
|
*/
|
|
uint8_t mp_pt_rf_gu_cali_load(mp_rf_gu_cali_t **cali_data);
|
|
|
|
/**
|
|
*@brief mp_pt_rf_gu_cali_commit.
|
|
* save the calibration data.
|
|
*
|
|
*@return [0 success; others fail]
|
|
*/
|
|
uint8_t mp_pt_rf_gu_cali_commit();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* MP_MODE_H */
|
|
|