📄 form_wifitxprofile.cpp
字号:
strcpy( str, SaveDialog->FileName.c_str() );
if( m_sWiFiCap.support_802_11g || m_sWiFiCap.support_802_11b )
{
m_WIFI_TXP_Obj.Set_TxChannelDac2400M( m_sTxPwr2400M );
ok = m_WIFI_TXP_Obj.REQ_Write_TxPower2400M_To_File( str );
if( !ok )
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Save WiFi TX setting to file fail";
Application->MessageBox( "Execution Failure : Save WiFi TX setting to file", "FAILURE", MB_OK );
return;
}
}
// if( m_sWiFiCap.support_802_11a )
// {
// m_WIFI_TXP_Obj.Set_TxChannelDac5000M( m_sTxPwr5000M );
// ok = m_WIFI_TXP_Obj.REQ_Write_TxPower5000M_To_File( str );
// if( !ok )
// {
// sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Save WiFi TX setting to file fail";
// Application->MessageBox( "Execution Failure : Save WiFi TX setting to file", "FAILURE", MB_OK );
// return;
// }
// }
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Save WiFi TX setting to file successfully";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiTxProfile::btnLoadFromFileClick(TObject *Sender)
{
char str[512];
bool ok;
float fdata;
ok = OpenDialog->Execute();
if( !ok )
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Load WiFi TX setting from file fail";
return;
}
strcpy( str, OpenDialog->FileName.c_str() );
if( m_sWiFiCap.support_802_11g || m_sWiFiCap.support_802_11b )
{
ok = m_WIFI_TXP_Obj.REQ_Read_TxPower2400M_From_File( str );
if( ok )
{
m_sTxPwr2400M = m_WIFI_TXP_Obj.Get_TxChannelDac2400M();
}
else
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Load WiFi TX setting from file fail";
Application->MessageBox( "Execution Failure : Load WiFi TX setting from file", "FAILURE", MB_OK );
}
}
if( m_sWiFiCap.support_802_11a )
{
ok = m_WIFI_TXP_Obj.REQ_Read_TxPower5000M_From_File( str );
if( ok )
{
m_sTxPwr5000M = m_WIFI_TXP_Obj.Get_TxChannelDac5000M();
}
else
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Load WiFi TX setting from file fail";
Application->MessageBox( "Execution Failure : Load WiFi TX setting from file", "FAILURE", MB_OK );
}
}
ReDrawFields();
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Load WiFi TX setting from file successfully";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiTxProfile::btnChangeDBClick(TObject *Sender)
{
frmMainSel->mnuFDMDatabaseClick(Sender);
if( ! NVRAMMan->Get_IsInit() )
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " NVRAM database file initialization fail";
Application->MessageBox( "Execution Failure : NVRAM database file initialization fail", "FAILURE", MB_OK );
return;
}
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Change NVRAM database file successfully";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiTxProfile::btnDownloadToFlashClick(TObject *Sender)
{
if( ! NVRAMMan->Get_IsInit() )
{ frmMainSel->mnuFDMDatabaseClick(Sender);
}
if( ! NVRAMMan->Get_IsInit() )
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " NVRAM database file initialize fail";
Application->MessageBox( "Execution Failure : NVRAM database file initialize fail", "FAILURE", MB_OK );
return;
}
if( m_sWiFiCap.support_802_11g || m_sWiFiCap.support_802_11b )
{
m_WIFI_TXP_Obj.Set_TxChannelDac2400M( m_sTxPwr2400M );
m_WIFI_TXP_Obj.ConfirmCallback = ::CNF_WriteTxPower2400MToNVRAM;
m_WIFI_TXP_Obj.REQ_Write_TxPower2400M_To_NVRAM_Start();
}
// else if( m_sWiFiCap.support_802_11a )
// {
// m_WIFI_TXP_Obj.Set_TxChannelDac5000M( m_sTxPwr5000M );
// m_WIFI_TXP_Obj.ConfirmCallback = ::CNF_WriteTxPower5000MToNVRAM;
// m_WIFI_TXP_Obj.REQ_Write_TxPower5000M_To_NVRAM_Start();
// }
CurrentPageLock();
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Download WiFi TX power setting to flash progressing";
}
//---------------------------------------------------------------------------
void TfrmWiFiTxProfile::DownloadTxPower2400MToFlashDone( void )
{
E_METAAPP_RESULT_T state = m_WIFI_TXP_Obj.Get_ConfirmState();
switch( state )
{
case METAAPP_SUCCESS:
{
// if( m_sWiFiCap.support_802_11a )
// {
// m_WIFI_TXP_Obj.Set_TxChannelDac5000M( m_sTxPwr5000M );
// m_WIFI_TXP_Obj.ConfirmCallback = ::CNF_WriteTxPower5000MToNVRAM;
// m_WIFI_TXP_Obj.REQ_Write_TxPower5000M_To_NVRAM_Start();
// }
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Download WiFi TX power setting to flash successfully";
CurrentPageReset();
}
break;
case METAAPP_FAIL:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Download WiFi TX power setting to flash fail, please check the version of load and NVRAM database are same.";
Application->MessageBox( "Execution Failure : Download WiFi TX power setting to flash, please check the version of load and NVRAM database are same.", "FAILURE", MB_OK );
CurrentPageReset();
}
break;
case METAAPP_TIMEOUT:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Download WiFi TX power setting to flash timeout";
Application->MessageBox( "Execution Timeout : Download WiFi TX power setting to flash", "TIMEOUT", MB_OK );
CurrentPageReset();
}
break;
case METAAPP_STOP:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Download WiFi TX power setting to flash stop";
CurrentPageReset();
}
break;
}
}
//---------------------------------------------------------------------------
void TfrmWiFiTxProfile::DownloadTxPower5000MToFlashDone( void )
{
E_METAAPP_RESULT_T state = m_WIFI_TXP_Obj.Get_ConfirmState();
switch( state )
{
case METAAPP_SUCCESS:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Download TX channel power setting to flash successful";
}
break;
case METAAPP_FAIL:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Download TX channel power setting to flash fail, please check the version of load and NVRAM database are same.";
Application->MessageBox( "Execution Failure : Download TX channel power setting to flash, please check the version of load and NVRAM database are same.", "FAILURE", MB_OK );
CurrentPageReset();
}
break;
case METAAPP_TIMEOUT:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Download TX channel power setting to flash timeout";
Application->MessageBox( "Execution Timeout : Download TX channel power setting to flash", "TIMEOUT", MB_OK );
CurrentPageReset();
}
break;
case METAAPP_STOP:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString) " Download TX channel power setting to flash stop";
CurrentPageReset();
}
break;
}
}
void __fastcall TfrmWiFiTxProfile::FormShow(TObject *Sender)
{
if( m_bInit )
{
m_bInit = false;
m_sWiFiCap = frmMainSel->Get_FinalWiFiCap();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiTxProfile::btnTxPowerDacClick(TObject *Sender)
{
if( 0 == btnTxPowerDac->Tag ) // Dec-->Hex
{ btnTxPowerDac->Tag = 1;
}
else //Hex-->Dec
{ btnTxPowerDac->Tag = 0;
}
ReDrawFields();
}
//--------------------------------------------------------------------------
void __fastcall TfrmWiFiTxProfile::edtCCKCHDACCheck(TObject *Sender)
{
unsigned char uc_data;
AnsiString text;
TEdit *edit = (TEdit*)Sender;
char hint[] = " value shall be 0~63 ";
text = edit->Text;
if( 0 == btnTxPowerDac->Tag ) // Dec
{
if( !IsValidDecWiFiTxPowerDac( text, uc_data ) )
{
ShowHintLabel( edit, hint );
edit->SetFocus();
return;
}
}
else // Hex
{
if( !IsValidHexWiFiTxPowerDac( text, uc_data ) )
{
ShowHintLabel( edit, hint );
edit->SetFocus();
return;
}
}
m_sTxPwr2400M.CCKTxPWR[edit->Tag] = uc_data;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiTxProfile::edtOFDMCHDACCheck(TObject *Sender)
{
unsigned char uc_data;
AnsiString text;
TEdit *edit = (TEdit*)Sender;
char hint[] = " value shall be 0~63 ";
text = edit->Text;
if( 0 == btnTxPowerDac->Tag ) // Dec
{
if( !IsValidDecWiFiTxPowerDac( text, uc_data ) )
{
ShowHintLabel( edit, hint );
edit->SetFocus();
return;
}
}
else // Hex
{
if( !IsValidHexWiFiTxPowerDac( text, uc_data ) )
{
ShowHintLabel( edit, hint );
edit->SetFocus();
return;
}
}
m_sTxPwr2400M.OFDMTxPWR[edit->Tag] = uc_data;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void TfrmWiFiTxProfile::Compose_EEPROM_Parameter( void )
{
m_sEE.count = 14;
for (unsigned int i=0; i<m_sEE.count; i++)
{
m_sEE.eeprom[i].index = ADDR_MT5911_EEPROM_2_4G_CCK_TX_POWER + i;
}
}
//--------------------------------------------------------------------------
void __fastcall TfrmWiFiTxProfile::btnLoadFromEEPROMClick(TObject *Sender)
{
CurrentPageLock();
Compose_EEPROM_Parameter();
m_WIFI_EE_Obj.ConfirmCallback = ::ConfirmCallback_ReadAEE;
m_WIFI_EE_Obj.REQ_Read_From_EE_Start( m_sEE );
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString)" Load WiFi TX power from EEPROM progressing";
}
//-----------------------------------------------
void TfrmWiFiTxProfile::ConfirmCallback_ReadEE( void )
{
E_METAAPP_RESULT_T state = m_WIFI_EE_Obj.Get_ConfirmState();
switch (state)
{
case METAAPP_SUCCESS:
{
m_sEE = m_WIFI_EE_Obj.Get_EE();
WiFiTxPowerEEToNVRAM();
ReDrawFields();
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString)" Load WiFi TX power from EEPROM successfully";
}
break;
case METAAPP_FAIL:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString)" Load WiFi TX power from EEPROM fail";
Application->MessageBox( "Execution Timeout : Load WiFi TX power from EEPROM", "FAIL", MB_OK );
}
break;
case METAAPP_TIMEOUT:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString)" Load WiFi TX power from EEPROM timeout";
Application->MessageBox( "Execution Timeout : Load WiFi TX power from EEPROM", "TIMEOUT", MB_OK );
}
break;
case METAAPP_STOP:
{
sbWiFiTXP->Panels->Items[0]->Text = (AnsiString)" Load WiFi TX power from EEPROM stop";
}
break;
}
CurrentPageReset();
}
//--------------------------------------------------------------------------
void TfrmWiFiTxProfile::WiFiTxPowerEEToNVRAM( void )
{
int i;
for(i=0; i<NUM_TX_POWER_2400M_CH/2; i++)
{
m_sTxPwr2400M.CCKTxPWR[2*i] = (unsigned char) m_sEE.eeprom[i].eeprom_data16 & 0x00FF;
m_sTxPwr2400M.CCKTxPWR[2*i+1] = (unsigned char) ((m_sEE.eeprom[i].eeprom_data16 & 0xFF00)>>8);
}
for(i=0; i<NUM_TX_POWER_2400M_CH/2; i++)
{
m_sTxPwr2400M.OFDMTxPWR[2*i] = (unsigned char) m_sEE.eeprom[i+NUM_TX_POWER_2400M_CH/2].eeprom_data16 & 0x00FF ;
m_sTxPwr2400M.OFDMTxPWR[2*i+1] = (unsigned char) ((m_sEE.eeprom[i+NUM_TX_POWER_2400M_CH/2].eeprom_data16 & 0xFF00)>>8);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -