⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form_wifimcr.cpp

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    m_sMCR_Setting[WIFI_MCR_SC][0].addr = 0x0000; // "SCR";
    m_sMCR_Setting[WIFI_MCR_SC][1].addr = 0x0018; // "MRBS";
    m_sMCR_Setting[WIFI_MCR_SC][2].addr = 0x0020; // "DEVID";
    m_sMCR_Setting[WIFI_MCR_SC][3].addr = 0x0050; // "GPIOCR";

    // Miscellaneous and Debug Port
    m_sMCR_Setting[WIFI_MCR_MDP][0].addr = 0x0080; // "PRBCR";
    m_sMCR_Setting[WIFI_MCR_MDP][1].addr = 0x0084; // "PRBSR";
    m_sMCR_Setting[WIFI_MCR_MDP][2].addr = 0x0088; // "PFWDR";
    m_sMCR_Setting[WIFI_MCR_MDP][3].addr = 0x008C; // "PRBDR";
    m_sMCR_Setting[WIFI_MCR_MDP][4].addr = 0x0094; // "CTPR1";
    m_sMCR_Setting[WIFI_MCR_MDP][5].addr = 0x0100; // "QCR";
    m_sMCR_Setting[WIFI_MCR_MDP][6].addr = 0x0104; // "ISAR";
    m_sMCR_Setting[WIFI_MCR_MDP][7].addr = 0x0108; // "IER";
    m_sMCR_Setting[WIFI_MCR_MDP][8].addr = 0x0188; // "DRNGR";
    m_sMCR_Setting[WIFI_MCR_MDP][9].addr = 0x018C; // "AIFSR";
    m_sMCR_Setting[WIFI_MCR_MDP][10].addr = 0x0190; // "TQCWR";
    m_sMCR_Setting[WIFI_MCR_MDP][11].addr = 0x0194; // "AC0CWR";
    m_sMCR_Setting[WIFI_MCR_MDP][12].addr = 0x0198; // "AC1CWR";
    m_sMCR_Setting[WIFI_MCR_MDP][13].addr = 0x019C; // "AC2CWR";
    m_sMCR_Setting[WIFI_MCR_MDP][14].addr = 0x01A0; // "AC3CWR";
    m_sMCR_Setting[WIFI_MCR_MDP][15].addr = 0x0500; // "LNUIR0";
    m_sMCR_Setting[WIFI_MCR_MDP][16].addr = 0x0504; // "LNUIR1";
    m_sMCR_Setting[WIFI_MCR_MDP][17].addr = 0x0508; // "LNUIR2";


    // Phyical Layer Control Interface
    m_sMCR_Setting[WIFI_MCR_PLCI][0].addr = 0x0240; // "PCICR";
    m_sMCR_Setting[WIFI_MCR_PLCI][1].addr = 0x0248; // "PBAR";
    m_sMCR_Setting[WIFI_MCR_PLCI][2].addr = 0x0280; // "PPORCR0";
    m_sMCR_Setting[WIFI_MCR_PLCI][3].addr = 0x0284; // "PPORCR1";
    m_sMCR_Setting[WIFI_MCR_PLCI][4].addr = 0x0288; // "PPDRCR0";
    m_sMCR_Setting[WIFI_MCR_PLCI][5].addr = 0x028C; // "PPDRCR1";
    m_sMCR_Setting[WIFI_MCR_PLCI][6].addr = 0x0290; // "PPDRCR2";
    m_sMCR_Setting[WIFI_MCR_PLCI][7].addr = 0x0294; // "PPMCR";
    m_sMCR_Setting[WIFI_MCR_PLCI][8].addr = 0x02A0; // "PSCR";
    m_sMCR_Setting[WIFI_MCR_PLCI][9].addr = 0x02A4; // "PSPR";
    m_sMCR_Setting[WIFI_MCR_PLCI][10].addr = 0x02A8; // "LCR";
    m_sMCR_Setting[WIFI_MCR_PLCI][11].addr = 0x02AC; // "ACR";

    // MAC Protocol Timing Control
    m_sMCR_Setting[WIFI_MCR_MPTC][0].addr = 0x03F8; // "CWBR";
    m_sMCR_Setting[WIFI_MCR_MPTC][1].addr = 0x03FC; // "MPTR";
    m_sMCR_Setting[WIFI_MCR_MPTC][2].addr = 0x0400; // "MPDR";
    m_sMCR_Setting[WIFI_MCR_MPTC][3].addr = 0x0404; // "TNTDR";
    m_sMCR_Setting[WIFI_MCR_MPTC][4].addr = 0x0408; // "STDR";
    m_sMCR_Setting[WIFI_MCR_MPTC][5].addr = 0x040C; // "EPDDR";
    m_sMCR_Setting[WIFI_MCR_MPTC][6].addr = 0x0410; // "CRFCR0";
    m_sMCR_Setting[WIFI_MCR_MPTC][7].addr = 0x0414; // "CRFCR1";
    m_sMCR_Setting[WIFI_MCR_MPTC][8].addr = 0x0418; // "DTR";
    m_sMCR_Setting[WIFI_MCR_MPTC][9].addr = 0x041C; // "BCWR";
    m_sMCR_Setting[WIFI_MCR_MPTC][10].addr = 0x0420; // "RFTPCR";
    m_sMCR_Setting[WIFI_MCR_MPTC][11].addr = 0x0440; // "LTTR0";
    m_sMCR_Setting[WIFI_MCR_MPTC][12].addr = 0x0444; // "LTTR1";
    m_sMCR_Setting[WIFI_MCR_MPTC][13].addr = 0x0448; // "TTAR0";
    m_sMCR_Setting[WIFI_MCR_MPTC][14].addr = 0x044C; // "TTAR1";
    m_sMCR_Setting[WIFI_MCR_MPTC][15].addr = 0x0450; // "TTAR2";
    m_sMCR_Setting[WIFI_MCR_MPTC][16].addr = 0x0454; // "TTSCS";
    m_sMCR_Setting[WIFI_MCR_MPTC][17].addr = 0x0458; // "TTTC";

    // NVA Control
    m_sMCR_Setting[WIFI_MCR_NC][0].addr = 0x0470; // "LNR";
    m_sMCR_Setting[WIFI_MCR_NC][1].addr = 0x0474; // "NRTR";
    m_sMCR_Setting[WIFI_MCR_NC][2].addr = 0x0478; // "NSUR";
    m_sMCR_Setting[WIFI_MCR_NC][3].addr = 0x047C; // "TTIC";

    // Beacon Generation
    m_sMCR_Setting[WIFI_MCR_BG][0].addr = 0x0480; // "BGCR0";
    m_sMCR_Setting[WIFI_MCR_BG][1].addr = 0x0484; // "BGCR1";
    m_sMCR_Setting[WIFI_MCR_BG][2].addr = 0x0488; // "SWBCCR";
    m_sMCR_Setting[WIFI_MCR_BG][3].addr = 0x048C; // "SWBCDR";
    m_sMCR_Setting[WIFI_MCR_BG][4].addr = 0x0490; // "ARRCR";
    m_sMCR_Setting[WIFI_MCR_BG][5].addr = 0x0494; // "AFRCR";
    m_sMCR_Setting[WIFI_MCR_BG][6].addr = 0x0498; // "ATFCR";
    m_sMCR_Setting[WIFI_MCR_BG][7].addr = 0x049C; // "ATBCR";

    // Security Engine
    m_sMCR_Setting[WIFI_MCR_SE][0].addr = 0x0200; // "SKACR";
    m_sMCR_Setting[WIFI_MCR_SE][1].addr = 0x0204; // "SKADR0";
    m_sMCR_Setting[WIFI_MCR_SE][2].addr = 0x0208; // "SKADR1";
    m_sMCR_Setting[WIFI_MCR_SE][3].addr = 0x020C; // "SKADR2";
    m_sMCR_Setting[WIFI_MCR_SE][4].addr = 0x0210; // "SKADR3";
    m_sMCR_Setting[WIFI_MCR_SE][5].addr = 0x0214; // "SKADR4";
    m_sMCR_Setting[WIFI_MCR_SE][6].addr = 0x0218; // "SKADR5";
    m_sMCR_Setting[WIFI_MCR_SE][7].addr = 0x021C; // "SCPR0";
    m_sMCR_Setting[WIFI_MCR_SE][8].addr = 0x0220; // "SCPR1";
    m_sMCR_Setting[WIFI_MCR_SE][9].addr = 0x0224; // "SKADR6";
    m_sMCR_Setting[WIFI_MCR_SE][10].addr = 0x0228; // "SKADR7";

    // Transmitter Control
    m_sMCR_Setting[WIFI_MCR_TC][0].addr = 0x0300; // "ACWLR";
    m_sMCR_Setting[WIFI_MCR_TC][1].addr = 0x0304; // "MPTCR";
    m_sMCR_Setting[WIFI_MCR_TC][2].addr = 0x0308; // "NPTCR";
    m_sMCR_Setting[WIFI_MCR_TC][3].addr = 0x030C; // "NTTCR";
    m_sMCR_Setting[WIFI_MCR_TC][4].addr = 0x0310; // "TXOPGBNTCR";
    m_sMCR_Setting[WIFI_MCR_TC][5].addr = 0x0314; // "NDTCR";
    m_sMCR_Setting[WIFI_MCR_TC][6].addr = 0x0318; // "NCSTCR";
    m_sMCR_Setting[WIFI_MCR_TC][7].addr = 0x031C; // "ACTXOPR0";
    m_sMCR_Setting[WIFI_MCR_TC][8].addr = 0x0320; // "ACTXOPR1";
    m_sMCR_Setting[WIFI_MCR_TC][9].addr = 0x0324; // "TSTGPCR";
    m_sMCR_Setting[WIFI_MCR_TC][10].addr = 0x0328; // "TSTNTCR0";
    m_sMCR_Setting[WIFI_MCR_TC][11].addr = 0x032C; // "TSTNTCR1";

    // Receiver Control
    m_sMCR_Setting[WIFI_MCR_RC][0].addr = 0x0360; // "DRCR";
    m_sMCR_Setting[WIFI_MCR_RC][1].addr = 0x0364; // "RFECR";
    m_sMCR_Setting[WIFI_MCR_RC][2].addr = 0x0368; // "RFFCR";
    m_sMCR_Setting[WIFI_MCR_RC][3].addr = 0x036C; // "RPCR";
    m_sMCR_Setting[WIFI_MCR_RC][4].addr = 0x0370; // "CICR";
    m_sMCR_Setting[WIFI_MCR_RC][5].addr = 0x0374; // "CACR";
    m_sMCR_Setting[WIFI_MCR_RC][6].addr = 0x0378; // "CATR";
    m_sMCR_Setting[WIFI_MCR_RC][7].addr = 0x037C; // "CSACR";
    m_sMCR_Setting[WIFI_MCR_RC][8].addr = 0x0380; // "RFBCR";
    m_sMCR_Setting[WIFI_MCR_RC][9].addr = 0x03A0; // "OMAR0";
    m_sMCR_Setting[WIFI_MCR_RC][10].addr = 0x03A4; // "OMAR1";
    m_sMCR_Setting[WIFI_MCR_RC][11].addr = 0x03A8; // "CBR0";
    m_sMCR_Setting[WIFI_MCR_RC][12].addr = 0x03AC; // "CBR1";
    m_sMCR_Setting[WIFI_MCR_RC][13].addr = 0x03B0; // "AMAR0";
    m_sMCR_Setting[WIFI_MCR_RC][14].addr = 0x03B4; // "AMAR1";

    // HIF_HPI
    m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][0].addr = 0x780; // "HPI_CHIPID";
    m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][1].addr = 0x78C; // "HPI_MAC_STS";
    m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][2].addr = 0x7FC; // "HPI_CTRL";
    m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][3].addr = 0x7FE; // "HPI_POWER_CTRL";
    m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][4].addr = 0x600; // "TX_DATA_PORT";
    m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][5].addr = 0x640; // "TX_STATUS_PORT";
    m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][6].addr = 0x680; // "RX_STATUS_PORT";
    m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][7].addr = 0x6c0; // "RX_DATA_PORT";

    // Set value
    for( i=0; i<WIFI_MCR_TYPE_NUM; i++ )
    {
        for( j=0; j<WIFI_MCR_MAX_NUM; j++ )
        {    m_sMCR_Setting[i][j].value = 0;
        }
    }

    // Set checked property
    for( i=0; i<WIFI_MCR_TYPE_NUM; i++ )
    {
        for( j=0; j<WIFI_MCR_MAX_NUM; j++ )
        {    m_sMCR_Setting[i][j].checked = false;
        }
    }

    Init();
}

//---------------------------------------------------------------------------
void TfrmWiFiMCR::Init( void )
{
     m_bInit          = true;
}

//---------------------------------------------------------------------------
void TfrmWiFiMCR::ReDrawFields( int idx )
{
    int i;
    char  str[256];

    if( idx & DRAW_MCR_COMMON )
    {
        // system control register
        if( 0 == btnSYSMACMCRData->Tag ) // Dec
        {
            btnSYSMACMCRData->Caption = "MCR Data (Dec)";

            // System Control
            for( i=0; i<WIFI_SC_NUM; i++ )
            {   edtSC[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_SC][i].value );
            }

            // Miscellaneous and Debug Port
            for( i=0; i<WIFI_MDP_NUM; i++ )
            {   edtMDP[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_MDP][i].value );
            }

            // Phyical Layer Control Interface
            for( i=0; i<WIFI_PLCI_NUM; i++ )
            {   edtPLCI[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_PLCI][i].value );
            }

            // MAC Protocol Timing Control
            for( i=0; i<WIFI_MPTC_NUM; i++ )
            {   edtMPTC[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_MPTC][i].value );
            }

            // NVA Control
            for( i=0; i<WIFI_NC_NUM; i++ )
            {   edtNC[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_NC][i].value );
            }

            // Beacon Generation
            for( i=0; i<WIFI_BG_NUM; i++ )
            {   edtBG[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_BG][i].value );
            }
        }
        else
        {
            btnSYSMACMCRData->Caption = "MCR Data (Hex)";

            // System Control
            for( i=0; i<WIFI_SC_NUM; i++ )
            {
                sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_SC][i].value );
                edtSC[i]->Text = str;
            }

            // Miscellaneous and Debug Port
            for( i=0; i<WIFI_MDP_NUM; i++ )
            {
                sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_MDP][i].value );
                edtMDP[i]->Text = str;
            }

            // Phyical Layer Control Interface
            for( i=0; i<WIFI_PLCI_NUM; i++ )
            {
                sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_PLCI][i].value );
                edtPLCI[i]->Text = str;
            }

            // MAC Protocol Timing Control
            for( i=0; i<WIFI_MPTC_NUM; i++ )
            {
                sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_MPTC][i].value );
                edtMPTC[i]->Text = str;
            }

            // NVA Control
            for( i=0; i<WIFI_NC_NUM; i++ )
            {
                sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_NC][i].value );
                edtNC[i]->Text = str;
            }

            // Beacon Generation
            for( i=0; i<WIFI_BG_NUM; i++ )
            {
                sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_BG][i].value );
                edtBG[i]->Text = str;
            }
        }
    }

    // TX/RX Releated register
    if( 0 == btnTRXMACMCRData->Tag ) // Dec
    {
        btnTRXMACMCRData->Caption = "MCR Data (Dec)";

        if( idx & DRAW_MCR_COMMON )
        {
            // Security Engine
            for( i=0; i<WIFI_SE_NUM; i++ )
            {   edtSE[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_SE][i].value );
            }

            // Transmitter Control
            for( i=0; i<WIFI_TC_NUM; i++ )
            {   edtTC[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_TC][i].value );
            }

            // Receiver Control
            for( i=0; i<WIFI_RC_NUM; i++ )
            {   edtRC[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_RC][i].value );
            }
        }

        if( idx & DRAW_MCR_HIF )
        {
            // HIF
            switch( m_sWiFiCap.host_interface )
            {
                case WNDRV_HOST_INTERFACE_SDIO:
                {
                    for( i=0; i<WIFI_HIF_SDIO_NUM; i++ )
                    {   edtHIF[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_HIF_SDIO][i].value );
                    }
                }
                break;

                case WNDRV_HOST_INTERFACE_HPI:
                {
                    for( i=0; i<WIFI_HIF_HPI_NUM; i++ )
                    {   edtHIF[i]->Text = IntToStr( m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][i].value );
                    }
                }
                break;

                case WNDRV_HOST_INTERFACE_SPI:
                {
                    for( i=0; i<WIFI_HIF_SPI_NUM; i++ )
                    {   edtHIF[i]->Text = IntToStr( m_sMCR_Setting[WIFI_MCR_HIF_SPI][i].value );
                    }
                }
                break;
            }
        }
    }
    else
    {
        btnTRXMACMCRData->Caption = "MCR Data (Hex)";

        if( idx & DRAW_MCR_COMMON )
        {
            // Security Engine
            for( i=0; i<WIFI_SE_NUM; i++ )
            {
                sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_SE][i].value );
                edtSE[i]->Text = str;
            }

            // Transmitter Control
            for( i=0; i<WIFI_TC_NUM; i++ )
            {
                sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_TC][i].value );
                edtTC[i]->Text = str;
            }

            // Receiver Control
            for( i=0; i<WIFI_RC_NUM; i++ )
            {
                sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_RC][i].value );
                edtRC[i]->Text = str;
            }
        }

        if( idx & DRAW_MCR_HIF )
        {
            // HIF
            switch( m_sWiFiCap.host_interface )
            {
                case WNDRV_HOST_INTERFACE_SDIO:
                {
                    for( i=0; i<WIFI_HIF_SDIO_NUM; i++ )
                    {
                        sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_HIF_SDIO][i].value );
                        edtHIF[i]->Text = str;
                    }
                }
                break;

                case WNDRV_HOST_INTERFACE_HPI:
                {
                    for( i=0; i<WIFI_HIF_HPI_NUM; i++ )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -