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 */
 | |
| 
 |