📄 form_wifimcr.cpp
字号:
Application->MessageBox( "Execution Failure : Load MAC control register setting from file", "FAILURE", MB_OK );
return;
}
strcpy( str, OpenDialog->FileName.c_str() );
ok = m_WIFI_MAC_Obj.REQ_Read_From_File( str, m_sWiFiCap.host_interface );
if( !ok )
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString) " Load MAC control register setting from file fail";
Application->MessageBox( "Execution Failure : Load MAC control register setting from file", "FAILURE", MB_OK );
return;
}
for(int i=0; i<WIFI_MCR_TYPE_NUM; i++ )
{
for(int j=0; j<WIFI_MCR_MAX_NUM; j++ )
{
m_sMCR_Setting[i][j].value = m_WIFI_MAC_Obj.Get_MCR_Setting_Value( i, j );
}
}
if( WNDRV_HOST_INTERFACE_HPI == m_sWiFiCap.host_interface )
{
for(int i=0; i<WIFI_MCR16_TYPE_NUM; i++ )
{
for(int j=0; j<WIFI_MCR16_MAX_NUM; j++ )
{
m_sMCR16_Setting[i][j].value = m_WIFI_MAC_Obj.Get_MCR16_Setting_Value( i, j );
}
}
}
ReDrawFields( DRAW_MCR_COMMON | DRAW_MCR_HIF );
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString) " Load MAC control register setting from file successfully";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::btnWriteToRegisterClick(TObject *Sender)
{
if( ! CheckFields() )
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString) " Write MAC register fail";
Application->MessageBox( "Execution Failure : Write MAC register", "FAILURE", MB_OK );
return;
}
Compose_MCR_Parameter();
Compose_MCR_Data();
CurrentPageLock();
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_WriteReg;
m_WIFI_MAC_Obj.REQ_Write_MCR_Setting_To_Reg_Start( m_sMCR );
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register progressing";
}
//---------------------------------------------------------------------------
void TfrmWiFiMCR::ConfirmCallback_WriteReg( void )
{
int state = m_WIFI_MAC_Obj.Get_ConfirmState();
switch( state )
{
case STATE_MAC_OK:
{
m_iCount = 0;
switch( m_sWiFiCap.host_interface )
{
case WNDRV_HOST_INTERFACE_SDIO:
{
Compose_SDIO_Parameter( WIFI_HIF_SDIO_SPECIFIC );
Compose_SDIO_Data( WIFI_HIF_SDIO_SPECIFIC );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_WriteHIF;
m_WIFI_MAC_Obj.REQ_Write_MCR_Setting_To_Reg_Start( m_sMCR );
}
break;
case WNDRV_HOST_INTERFACE_HPI:
{
Compose_HPI_Parameter( WIFI_HIF_HPI_SPECIFIC );
Compose_HPI_Data( WIFI_HIF_HPI_SPECIFIC );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_WriteHIF;
m_WIFI_MAC_Obj.REQ_Write_MCR16_Setting_To_Reg_Start( m_sMCR16 );
}
break;
case WNDRV_HOST_INTERFACE_SPI:
{
Compose_SPI_Parameter( WIFI_HIF_SPI_SPECIFIC );
Compose_SPI_Data( WIFI_HIF_SPI_SPECIFIC );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_WriteHIF;
m_WIFI_MAC_Obj.REQ_Write_MCR_Setting_To_Reg_Start( m_sMCR );
}
break;
default:
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register successfully";
break;
}
}
break;
case STATE_MAC_FAIL:
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register fail";
Application->MessageBox( "Execution Timeout : Write MAC register", "FAIL", MB_OK );
CurrentPageReset();
}
break;
case STATE_MAC_TIMEOUT:
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register timeout";
Application->MessageBox( "Execution Timeout : Write MAC register", "TIMEOUT", MB_OK );
CurrentPageReset();
}
break;
case STATE_MAC_STOP:
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register stop";
CurrentPageReset();
}
break;
}
}
//---------------------------------------------------------------------------
void TfrmWiFiMCR::ConfirmCallback_WriteHIF( void )
{
int state = m_WIFI_MAC_Obj.Get_ConfirmState();
switch( state )
{
case STATE_MAC_OK:
{
m_iCount++;
switch( m_sWiFiCap.host_interface )
{
case WNDRV_HOST_INTERFACE_SDIO:
{
if( WIFI_HIF_SDIO_PORT4 >= m_iCount )
{
Compose_SDIO_Parameter( (E_WIFI_HIF_SDIO) m_iCount );
Compose_SDIO_Data( (E_WIFI_HIF_SDIO) m_iCount );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_WriteHIF;
m_WIFI_MAC_Obj.REQ_Write_MCR_Setting_To_Reg_Start( m_sMCR );
}
else
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register successfully";
}
}
break;
case WNDRV_HOST_INTERFACE_HPI:
{
if( WIFI_HIF_HPI_PORT == m_iCount )
{
Compose_HPI_Parameter( WIFI_HIF_HPI_PORT );
Compose_HPI_Data( WIFI_HIF_HPI_PORT );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_WriteHIF;
m_WIFI_MAC_Obj.REQ_Write_MCR16_Setting_To_Reg_Start( m_sMCR16 );
}
else
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register successfully";
CurrentPageReset();
}
}
break;
case WNDRV_HOST_INTERFACE_SPI:
{
if( WIFI_HIF_SPI_PORT3 >= m_iCount )
{
Compose_SPI_Parameter( (E_WIFI_HIF_SPI) m_iCount );
Compose_SPI_Data( (E_WIFI_HIF_SPI) m_iCount );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_WriteHIF;
m_WIFI_MAC_Obj.REQ_Write_MCR_Setting_To_Reg_Start( m_sMCR );
}
else
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register successfully";
}
}
break;
}
}
break;
case STATE_MAC_FAIL:
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register fail";
Application->MessageBox( "Execution Timeout : Write MAC register", "FAIL", MB_OK );
CurrentPageReset();
}
break;
case STATE_MAC_TIMEOUT:
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register timeout";
Application->MessageBox( "Execution Timeout : Write MAC register", "TIMEOUT", MB_OK );
CurrentPageReset();
}
break;
case STATE_MAC_STOP:
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Write MAC register stop";
CurrentPageReset();
}
break;
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void __fastcall TfrmWiFiMCR::btnReadFromRegisterClick(TObject *Sender)
{
CurrentPageLock();
Compose_MCR_Parameter();
Compose_MCR_Data();
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_ReadReg;
m_WIFI_MAC_Obj.REQ_Read_MCR_Setting_From_Reg_Start( m_sMCR );
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Read MAC register successfully";
}
//---------------------------------------------------------------------------
void TfrmWiFiMCR::ConfirmCallback_ReadReg( void )
{
int state = m_WIFI_MAC_Obj.Get_ConfirmState();
switch( state )
{
case STATE_MAC_OK:
{
m_sMCR = m_WIFI_MAC_Obj.Get_MCR();
DeCompose_MCR_Data();
ReDrawFields( DRAW_MCR_COMMON );
switch( m_sWiFiCap.host_interface )
{
case WNDRV_HOST_INTERFACE_SDIO:
{
Compose_SDIO_Parameter( WIFI_HIF_SDIO_SPECIFIC );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_ReadHIF;
m_WIFI_MAC_Obj.REQ_Read_MCR_Setting_From_Reg_Start( m_sMCR );
}
break;
case WNDRV_HOST_INTERFACE_HPI:
{
Compose_HPI_Parameter( WIFI_HIF_HPI_SPECIFIC );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_ReadHIF;
m_WIFI_MAC_Obj.REQ_Read_MCR16_Setting_From_Reg_Start( m_sMCR16 );
}
break;
case WNDRV_HOST_INTERFACE_SPI:
{
Compose_SPI_Parameter( WIFI_HIF_SPI_SPECIFIC );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_ReadHIF;
m_WIFI_MAC_Obj.REQ_Read_MCR_Setting_From_Reg_Start( m_sMCR );
}
break;
default:
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Read MAC register successfully";
break;
}
}
break;
case STATE_MAC_FAIL:
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Read MAC register fail";
Application->MessageBox( "Execution Timeout : Read MAC register", "FAIL", MB_OK );
}
break;
case STATE_MAC_TIMEOUT:
{
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Read MAC register timeout";
Application->MessageBox( "Execution Timeout : Read MAC register", "TIMEOUT", MB_OK );
}
break;
case STATE_MAC_STOP:
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Read MAC register stop";
break;
}
CurrentPageReset();
}
//---------------------------------------------------------------------------
void TfrmWiFiMCR::ConfirmCallback_ReadHIF( void )
{
int state = m_WIFI_MAC_Obj.Get_ConfirmState();
switch( state )
{
case STATE_MAC_OK:
{
m_iCount++;
switch( m_sWiFiCap.host_interface )
{
case WNDRV_HOST_INTERFACE_SDIO:
{
if( WIFI_HIF_SDIO_PORT4 >= m_iCount )
{
Compose_SDIO_Parameter( (E_WIFI_HIF_SDIO) m_iCount );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_WriteHIF;
m_WIFI_MAC_Obj.REQ_Write_MCR_Setting_To_Reg_Start( m_sMCR );
}
else
{
ReDrawFields( DRAW_MCR_HIF );
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)" Read MAC register successfully";
CurrentPageReset();
}
}
break;
case WNDRV_HOST_INTERFACE_HPI:
{
if( WIFI_HIF_HPI_PORT == m_iCount )
{
Compose_HPI_Parameter( WIFI_HIF_HPI_PORT );
Compose_HPI_Data( WIFI_HIF_HPI_PORT );
m_WIFI_MAC_Obj.ConfirmCallback = ::ConfirmCallback_WriteHIF;
m_WIFI_MAC_Obj.REQ_Write_MCR16_Setting_To_Reg_Start( m_sMCR16 );
}
else
{
ReDrawFields( DRAW_MCR_HIF );
sbWiFiMCR->Panels->Items[0]->Text = (AnsiString)"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -