📄 form_wifialc2400m.cpp
字号:
lblHint->Caption = hint;
lblHint->Visible = true;
HintTimer->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiALC2400M::edtTxAlcCCKCheck(TObject *Sender)
{
unsigned char uc_data;
AnsiString text;
TEdit *edit = (TEdit*)Sender;
char hint[] = " value shall be 0~255 ";
text = edit->Text;
if (!IsValidWiFiTxAlcCCK(text, uc_data))
{
ShowHintLabel(edit, hint);
edit->SetFocus();
return;
}
m_sWiFiAlcPower2400M.txAlcCCK[edit->Tag] = uc_data;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiALC2400M::edtTxOutputPowerDbCCKCheck(
TObject *Sender)
{
unsigned char uc_data;
AnsiString text;
TEdit *edit = (TEdit*)Sender;
char hint[] = " value shall be 0~255 ";
text = edit->Text;
if (!IsValidWiFiTxOutputPowerDbCCK(text, uc_data))
{
ShowHintLabel(edit, hint);
edit->SetFocus();
return;
}
m_sWiFiAlcPower2400M.txOutputPowerDBCCK[edit->Tag] = uc_data;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiALC2400M::edtTxAlcOFDMCheck(TObject *Sender)
{
unsigned char uc_data;
AnsiString text;
TEdit *edit = (TEdit*)Sender;
char hint[] = " value shall be 0~255 ";
text = edit->Text;
if (!IsValidWiFiTxAlcOFDM(text, uc_data))
{
ShowHintLabel(edit, hint);
edit->SetFocus();
return;
}
m_sWiFiAlcPower2400M.txAlcOFDM[m_pnlOFDMTxRate->Tag][edit->Tag] = uc_data;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiALC2400M::edtTxOutputPowerDbOFDMCheck(
TObject *Sender)
{
unsigned char uc_data;
AnsiString text;
TEdit *edit = (TEdit*)Sender;
char hint[] = " value shall be 0~255 ";
text = edit->Text;
if (!IsValidWiFiTxOutputPowerDbOFDM(text, uc_data))
{
ShowHintLabel(edit, hint);
edit->SetFocus();
return;
}
m_sWiFiAlcPower2400M.txOutputPowerDBOFDM[m_pnlOFDMTxRate->Tag][edit->Tag] = uc_data;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiALC2400M::btnOFDMTxRateClick(TObject *Sender)
{
TButton *btn = (TButton *) Sender;
m_pnlOFDMTxRate->Tag = btn->Tag;
m_pnlOFDMTxRate->Caption = "TX Rate " + IntToStr(btn->Tag);
for (int i=0; i<WIFI_ALC_2400M_TX_RATE_NUM; i++)
{
if (i != btn->Tag )
{
m_edtOFDMTxAlcOffset[i]->Visible = true;
m_edtOFDMTxOutputPowerOffset[i]->Visible = true;
}
else
{
m_edtOFDMTxAlcOffset[i]->Visible = false;
m_edtOFDMTxOutputPowerOffset[i]->Visible = false;
}
}
ReDrawFields(DRAW_MASK_WIFI_ALC2400M_OFDM_ALC | DRAW_MASK_WIFI_ALC2400M_OFDM_POWER);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiALC2400M::HintTimerTimer(TObject *Sender)
{
HintTimer->Enabled = false;
lblHint->Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiALC2400M::btnUploadFromFlashClick(TObject *Sender)
{
if (!NVRAMMan->Get_IsInit())
{
frmMainSel->mnuFDMDatabaseClick(Sender);
if (!NVRAMMan->Get_IsInit())
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " NVRAM database file initialization fail";
Application->MessageBox( "Execution Failure : NVRAM database file initialization fail", "FAILURE", MB_OK );
return;
}
}
m_cWIFI_ALC_Obj.ConfirmCallback = ::CNF_ReadAlc2400MFromNVRAM;
m_cWIFI_ALC_Obj.REQ_Read_From_NVRAM_Start( );
CurrentPageLock();
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Upload WiFi TX power setting from flash progressing";
}
//-----------------------------------------
void TfrmWiFiALC2400M::UploadAlc2400MFromFlashDone(void)
{
E_METAAPP_RESULT_T state = m_cWIFI_ALC_Obj.Get_ConfirmState();
switch( state )
{
case METAAPP_SUCCESS:
{
WiFi_ALC_2400M_S* p_alc_power = m_cWIFI_ALC_Obj.Get_AlcPower2400M();
m_sWiFiAlcPower2400M = *p_alc_power;
WiFi_TxALC_2400M_S* p_alc_slope = m_cWIFI_ALC_Obj.Get_AlcSlope2400M();
m_sWiFiAlcSlope2400M = *p_alc_slope;
ReDrawFields(DRAW_MASK_WIFI_ALC2400M_CCK_ALC |
DRAW_MASK_WIFI_ALC2400M_CCK_POWER |
DRAW_MASK_WIFI_ALC2400M_OFDM_ALC |
DRAW_MASK_WIFI_ALC2400M_OFDM_POWER |
DRAW_MASK_WIFI_ALC2400M_SLOPE);
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Upload WiFi ALC setting from flash successfully";
}
break;
case METAAPP_FAIL:
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Upload WiFi WiFi ALC setting from flash fail, please check the version of load and NVRAM database are same.";
Application->MessageBox( "Execution Failure : Upload WiFi ALC setting from flash, please check 1. GSM850 support. 2. The version of load and NVRAM database are same.", "FAILURE", MB_OK );
}
break;
case METAAPP_TIMEOUT:
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Upload WiFi ALC setting setting from flash timeout";
Application->MessageBox( "Execution Timeout : Upload WiFi ALC setting from flash", "TIMEOUT", MB_OK );
}
break;
case METAAPP_STOP:
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Upload WiFi ALC setting setting from flash stop";
Application->MessageBox( "Execution Timeout : Upload WiFi ALC setting from flash", "STOP", MB_OK );
}
break;
default:
{
}
break;
}
CurrentPageReset();
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void __fastcall TfrmWiFiALC2400M::btnDownloadToFlashClick(TObject *Sender)
{
if (!CheckFields(CHECK_MASK_WIFI_ALC2400M_CCK_ALC |
CHECK_MASK_WIFI_ALC2400M_CCK_POWER |
CHECK_MASK_WIFI_ALC2400M_OFDM_ALC |
CHECK_MASK_WIFI_ALC2400M_OFDM_POWER |
CHECK_MASK_WIFI_ALC2400M_SLOPE
)
)
{
return;
}
if (!NVRAMMan->Get_IsInit())
{
frmMainSel->mnuFDMDatabaseClick(Sender);
}
if (!NVRAMMan->Get_IsInit())
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " NVRAM database file initialize fail";
Application->MessageBox( "Execution Failure : NVRAM database file initialize fail", "FAILURE", MB_OK );
return;
}
m_cWIFI_ALC_Obj.Set_AlcPower2400M(m_sWiFiAlcPower2400M);
m_cWIFI_ALC_Obj.Set_AlcSlope2400M(m_sWiFiAlcSlope2400M);
m_cWIFI_ALC_Obj.ConfirmCallback = ::CNF_WriteAlc2400MToNVRAM;
m_cWIFI_ALC_Obj.REQ_Write_To_NVRAM_Start();
CurrentPageLock();
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Download WiFi ALC setting to flash progressing";
}
//---------------------------------------------------------------------------
void TfrmWiFiALC2400M::DownloadAlc2400MToFlashDone(void)
{
E_METAAPP_RESULT_T state = m_cWIFI_ALC_Obj.Get_ConfirmState();
switch (state)
{
case METAAPP_SUCCESS:
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Download WiFi ALC setting to flash successfully";
}
break;
case METAAPP_FAIL:
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Download WiFi ALC setting to flash fail, please check the version of load and NVRAM database are same.";
Application->MessageBox( "Execution Failure : Download WiFi ALC setting to flash, please check the version of load and NVRAM database are same.", "FAILURE", MB_OK );
}
break;
case METAAPP_TIMEOUT:
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Download WiFi ALC setting to flash timeout";
Application->MessageBox( "Execution Timeout : Download WiFi ALC setting to flash", "TIMEOUT", MB_OK );
}
break;
case METAAPP_STOP:
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Download WiFi ALC setting to flash stop";
}
break;
default:
{
}
break;
}
CurrentPageReset();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiALC2400M::btnLoadFromFileClick(TObject *Sender)
{
char str[512];
bool ok;
float fdata;
ok = OpenDialog->Execute();
if (!ok)
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Load WiFi ALC setting from file fail";
return;
}
strcpy(str, OpenDialog->FileName.c_str());
ok = m_cWIFI_ALC_Obj.REQ_Read_From_File(str);
if (!ok)
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Load WiFi ALC setting from file fail";
Application->MessageBox( "Execution Failure : Load WiFi ALC setting from file", "FAILURE", MB_OK );
return;
}
WiFi_ALC_2400M_S* p_alc_power = m_cWIFI_ALC_Obj.Get_AlcPower2400M();
m_sWiFiAlcPower2400M = *p_alc_power;
WiFi_TxALC_2400M_S* p_alc_slope = m_cWIFI_ALC_Obj.Get_AlcSlope2400M();
m_sWiFiAlcSlope2400M = *p_alc_slope;
ReDrawFields(DRAW_MASK_WIFI_ALC2400M_CCK_ALC |
DRAW_MASK_WIFI_ALC2400M_CCK_POWER |
DRAW_MASK_WIFI_ALC2400M_OFDM_ALC |
DRAW_MASK_WIFI_ALC2400M_OFDM_POWER |
DRAW_MASK_WIFI_ALC2400M_SLOPE);
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Load WiFi ALC setting from file successfully";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiALC2400M::btnSaveToFileClick(TObject *Sender)
{
char str[512];
bool ok;
ok = SaveDialog->Execute();
if (!ok)
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Save WiFi ALC setting to file fail";
return;
}
strcpy(str, SaveDialog->FileName.c_str());
m_cWIFI_ALC_Obj.Set_AlcPower2400M(m_sWiFiAlcPower2400M);
m_cWIFI_ALC_Obj.Set_AlcSlope2400M(m_sWiFiAlcSlope2400M);
ok = m_cWIFI_ALC_Obj.REQ_Write_To_File(str);
if (!ok)
{
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Save WiFi ALC setting to file fail";
Application->MessageBox( "Execution Failure : Save WiFi ALC setting to file", "FAILURE", MB_OK );
return;
}
m_sbALC->Panels->Items[0]->Text = (AnsiString) " Save WiFi ALC setting to file successfully";
}
void __fastcall TfrmWiFiALC2400M::m_btnApplyClick(TObject *Sender)
{
// CCK
for (int i=0; i<WIFI_ALC_2400M_TX_RATE_NUM; i++)
{
if (i != m_pnlOFDMTxRate->Tag)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -