wifi_bb.h
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:5k
源码类别:

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2001
  8. *
  9. *****************************************************************************/
  10. /*****************************************************************************
  11.  *
  12.  * Filename:
  13.  * ---------
  14.  *   wifi_bb.h
  15.  *
  16.  * Project:
  17.  * --------
  18.  *   Maui META APP
  19.  *
  20.  * Description:
  21.  * ------------
  22.  *   WiFi baseband header
  23.  *
  24.  * Author:
  25.  * -------
  26.  *  Andy Ueng (mtk00490)
  27.  *
  28.  *============================================================================
  29.  *             HISTORY
  30.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  31.  *------------------------------------------------------------------------------
  32.  * $Revision$
  33.  * $Modtime$
  34.  * $Log$
  35.  *
  36.  *------------------------------------------------------------------------------
  37.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  38.  *============================================================================
  39.  ****************************************************************************/
  40. #ifndef  _WIFI_BB_H_
  41. #define  _WIFI_BB_H_
  42. #include "meta.h"
  43. #ifndef  _WIFI_COMMON_H_
  44. #include "wifi_common.h"
  45. #endif
  46. #ifndef  _MAN_HANDLE_H_
  47. #include "man_handle.h"
  48. #endif
  49. /*---------------------------------------------------------------------------*/
  50. #define  STATE_BB_OK          0
  51. #define  STATE_BB_FAIL        1
  52. #define  STATE_BB_TIMEOUT     2
  53. #define  STATE_BB_STOP        3
  54. #define  STATE_BB_SECTION_OK  4
  55. #define WIFI_IPC_NUM        5   // Initialization and PHY-Configuration
  56. #define WIFI_TX_NUM        10   // TX-related
  57. #define WIFI_RX_NUM        15   // RX-related
  58. #define WIFI_BBPC_NUM      74   // BBP Configuration
  59. #define WIFI_BBCR_MAX_NUM  WIFI_BBPC_NUM
  60. #define WIFI_MT5911_BBCR_ADDR_STEP 0x02
  61. /*---------------------------------------------------------------------------*/
  62. typedef enum
  63. {
  64.     WIFI_BBCR_IPC = 0,
  65.     WIFI_BBCR_TX,
  66.     WIFI_BBCR_RX,
  67.     WIFI_BBCR_BBPC,
  68.     WIFI_BBCR_TYPE_NUM
  69. }E_WIFI_BBCR_TYPE;
  70. typedef struct
  71. {
  72.     AnsiString name;
  73.     bool checked;
  74.     bool RO; // read only
  75.     bool RC; // R/C
  76.     unsigned int idx;
  77.     unsigned int addr;
  78.     unsigned char value;
  79. } S_WIFI_BBCR_SETTING;
  80. typedef struct
  81. {
  82.    WiFi_BBReg8_S bb_reg8[WIFI_MAX_COUNT];
  83.    unsigned int  count;
  84. } S_WiFi_BBCR;
  85. /*---------------------------------------------------------------------------*/
  86. class  CWIFIBB
  87. {
  88. private:
  89.      int   m_iConfirmState;
  90.      bool  m_bIsRunning;
  91.      CMETAHANDLE m_META_HANDLE_Obj;
  92.      bool  m_bHasMeasured;
  93.      S_WiFi_BBCR  m_sBBCR;
  94.     // unsigned char   m_ucBBAddr;
  95.     // unsigned char   m_ucBBValue;
  96.     // unsigned char   m_ucBBAddrBegin;
  97.     // unsigned char   m_ucBBAddrEnd;
  98.     // unsigned char   m_ucBBAddrStep;
  99.      S_WIFI_BBCR_SETTING  m_sBBCR_Setting[WIFI_BBCR_TYPE_NUM][WIFI_BBCR_MAX_NUM];
  100. protected:
  101.    void  Confirm( int confirm_state );
  102. public:
  103.    CWIFIBB( void );
  104.    ~CWIFIBB();
  105.    void  REQ_Finish( void );
  106.    void  REQ_TimeOut( void );
  107. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  108.  // Public member
  109.    void  (*ConfirmCallback)( void );
  110.    void  REQ_Stop(  );
  111.    // Register
  112.   // void  REQ_Read_From_Reg_Start( unsigned char bb_addr );
  113.   // void  Read_From_Reg( void );
  114.   // void  REQ_Write_To_Reg_Start( unsigned char bb_addr, unsigned char bb_value );
  115.   // void  Write_To_Reg( void );
  116.   // void  REQ_Read_From_AllReg_Start( unsigned char bb_addr_begin, unsigned char bb_addr_end, unsigned char bb_addr_step );
  117.   // void  REQ_Read_From_AllReg( void );
  118.    // query
  119.    bool Query_ChannelList( unsigned int *channel_num, unsigned char *channel_id );
  120.    // BBCR setting
  121.    // resiger
  122.    void  REQ_Read_BBCR_Setting_From_Reg_Start( S_WiFi_BBCR &bbcr );
  123.    void  REQ_Read_BBCR_Setting_From_Reg( void );
  124.    void  REQ_Write_BBCR_Setting_To_Reg_Start( S_WiFi_BBCR &bbcr );
  125.    void  REQ_Write_BBCR_Setting_To_Reg( void );
  126.    // INI file
  127.    bool  REQ_Read_From_File( char *filename );
  128.    bool  REQ_Write_To_File( char *filename );
  129.    
  130.    // global information
  131.    int   Get_ConfirmState( void );
  132.    S_WiFi_BBCR   Get_BBCR( void );
  133.    unsigned int  Get_BBCR_Setting_Value( int type, int idx );
  134.    void          Set_BBCR_Setting_Value( int type, int idx, unsigned int value );
  135.    void Set_BBCR_Setting( int type, int idx, S_WIFI_BBCR_SETTING bbcr );
  136. };
  137. /*---------------------------------------------------------------------------*/
  138. #endif