wifi_ee.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_ee.h
  15.  *
  16.  * Project:
  17.  * --------
  18.  *   Maui META APP
  19.  *
  20.  * Description:
  21.  * ------------
  22.  *   WiFi EEPROM 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_EE_H_
  41. #define  _WIFI_EE_H_
  42. #include "meta.h"
  43. #ifndef  _MAN_HANDLE_H_
  44. #include "man_handle.h"
  45. #endif
  46. #ifndef  _WIFI_COMMON_H_
  47. #include "wifi_common.h"
  48. #endif
  49. #ifndef  _WIFI_APC_H_
  50. #include "wifi_apc.h"
  51. #endif
  52. /*---------------------------------------------------------------------------*/
  53. // EEPROM address (word offset)
  54. #define  WIFI_EE_ADDR_BB_CHIP_ID  0x00
  55. #define  WIFI_EE_ADDR_RF_CHIP_ID  0x01
  56. #define  WIFI_EE_ADDR_SN          0x02
  57. #define  WIFI_EE_ADDR_MAC_ADDR    0x04
  58. #define  WIFI_EE_ADDR_RESERVED0   0x07
  59. #define  WIFI_EE_ADDR_TX_IQ       0x08
  60. #define  WIFI_EE_ADDR_RESERVED1   0x09
  61. #define  WIFI_EE_ADDR_RESERVED2   0x0A
  62. #define  WIFI_EE_ADDR_CHECKSUM    0x0A
  63. #define  WIFI_EE_ADDR_RESERVED3   0x0B
  64. #define  WIFI_EE_ADDR_TXP_2_4_G   0x0C
  65. #define  WIFI_EE_ADDR_TXP_5_G     0x1A
  66. // EEPROM len (word length)
  67. #define  WIFI_EE_LEN_BB_CHIP_ID    1
  68. #define  WIFI_EE_LEN_RF_CHIP_ID    1
  69. #define  WIFI_EE_LEN_SN            2
  70. #define  WIFI_EE_LEN_MAC_ADDR      3
  71. #define  WIFI_EE_LEN_RESERVED0     1
  72. #define  WIFI_EE_LEN_TX_IQ         1
  73. #define  WIFI_EE_LEN_RESERVED1     1
  74. #define  WIFI_EE_LEN_RESERVED2     0.5
  75. #define  WIFI_EE_LEN_CHECKSUM      0.5
  76. #define  WIFI_EE_LEN_TXP_2_4_G    14
  77. #define  WIFI_EE_LEN_TXP_5_G      17
  78. typedef struct
  79. {
  80.     unsigned short       usBBChipID;
  81.     unsigned short       usRFChipID;
  82.     unsigned int         uiSN;
  83.     WiFi_MacAddress_S    sMACAddr;
  84.     unsigned short       usReserved0;
  85.     WiFi_DAC_DC_Offset_S sTxDcOffset;
  86.     unsigned short       usReserved1;
  87.     unsigned char        ucReserved2;
  88.     unsigned char        ucChecksum;
  89. }  S_WIFI_EE_GENERAL;
  90. typedef struct
  91. {
  92.     WiFi_EEPROM_S eeprom[WIFI_MAX_COUNT];
  93.     unsigned int count;
  94. } S_WIFI_EEPROM;
  95. /*---------------------------------------------------------------------------*/
  96. class  CWIFIEE
  97. {
  98. private:
  99.      // common
  100.      E_METAAPP_RESULT_T m_eConfirmState;
  101.      CMETAHANDLE  m_META_HANDLE_Obj;
  102.      bool  m_bHasMeasured;
  103.      // EEPROM
  104.      S_WIFI_EEPROM  m_sEE;
  105.      S_WIFI_EE_GENERAL   m_sEEGeneral;
  106.      WiFi_TxPower_2400M_S m_sTxChannelDac2400M;
  107.      WiFi_TxPower_5000M_S m_sTxChannelDac5000M;
  108. protected:
  109.     void Confirm(E_METAAPP_RESULT_T confirm_state);
  110. public:
  111.    CWIFIEE(void);
  112.    ~CWIFIEE();
  113. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  114.  // Public member
  115.    void  (*ConfirmCallback)(void);
  116.    void  REQ_Stop(void);
  117.    // Register
  118.    void  REQ_Read_From_EE_Start(S_WIFI_EEPROM eeprom);
  119.    void  Read_From_EE(void);
  120.    void  REQ_Write_To_EE_Start(S_WIFI_EEPROM eeprom);
  121.    void  Write_To_EE( void );
  122.    unsigned char Calculate_Checksum( S_WIFI_EE_GENERAL &ee_gnrl );
  123.    // ini
  124.    bool  REQ_Read_General_Info_From_File( char *filename );
  125.    bool  REQ_Write_General_Info_To_File( char *filename );
  126.    bool  REQ_Read_TX_DC_Offset_From_File( char *filename );
  127.    bool  REQ_Write_TX_DC_Offset_To_File( char *filename );
  128.    bool  REQ_Read_TxPower2400M_From_File( char *filename );
  129.    bool  REQ_Write_TxPower2400M_To_File( char *filename );
  130.    bool  REQ_Read_TxPower5000M_From_File( char *filename );
  131.    bool  REQ_Write_TxPower5000M_To_File( char *filename );
  132.    // global information
  133.    E_METAAPP_RESULT_T Get_ConfirmState( void );
  134.    S_WIFI_EEPROM   Get_EE( void );
  135.    void            Set_EE( S_WIFI_EEPROM &eeprom );
  136.    S_WIFI_EE_GENERAL Get_EEGeneral( void );
  137.    void              Set_EEGeneral( S_WIFI_EE_GENERAL &ee_general );
  138.    WiFi_DAC_DC_Offset_S Get_TxDcOffset( void );
  139.    void                 Set_TxDcOffset( WiFi_DAC_DC_Offset_S tx_dc_offset );
  140.    unsigned char Get_Checksum( void );
  141.    void          Set_Checksum( unsigned char checksum );
  142.    WiFi_TxPower_2400M_S Get_TxChannelDac2400M( void );
  143.    void                 Set_TxChannelDac2400M( WiFi_TxPower_2400M_S &txpwr );
  144.    WiFi_TxPower_5000M_S Get_TxChannelDac5000M( void );
  145.    void                 Set_TxChannelDac5000M( WiFi_TxPower_5000M_S &txpwr );
  146. };
  147. /*---------------------------------------------------------------------------*/
  148. #endif