📄 multiportflashdownloadtool.cpp_bak
字号:
{
asDAFileName = INIFileH.read_DA_bin( "MultiPortFlashDownloadProject.ini", Application->ExeName );
asScatFileName = INIFileH.read_Scatter( "MultiPortFlashDownloadProject.ini", Application->ExeName );
asROMFileName = INIFileH.read_ROM( "MultiPortFlashDownloadProject.ini", Application->ExeName );
asFATFileName = INIFileH.read_FAT( "MultiPortFlashDownloadProject.ini", Application->ExeName );
}
//----------------------------------------------------------------------------
void TMainForm::WriteFileSetting( void )
{
INIFileH.write_DA_bin( "MultiPortFlashDownloadProject.ini", Application->ExeName, asDAFileName);
INIFileH.write_Scatter( "MultiPortFlashDownloadProject.ini", Application->ExeName, asScatFileName);
INIFileH.write_ROM( "MultiPortFlashDownloadProject.ini", Application->ExeName, asROMFileName);
INIFileH.write_FAT( "MultiPortFlashDownloadProject.ini", Application->ExeName, asFATFileName);
}
//=============================================================================
void TMainForm::Display_Type( void )
{
as_Type = INIFileH.read_Type( "MultiPortFlashDownloadProject.ini", Application->ExeName );
#ifndef SERVICE_CENTER
if( as_Type.AnsiCompareIC("Download ROM and FAT") == 0 )
{
cbType->ItemIndex = DOWNLOAD_ROM_AND_FAT_INDEX;
}
else if( as_Type.AnsiCompareIC("Download ROM") == 0 )
{
cbType->ItemIndex = DOWNLOAD_ROM_INDEX;
}
else if( as_Type.AnsiCompareIC("Download ROM and Format") == 0 )
{
cbType->ItemIndex = DOWNLOAD_ROM_AND_FORMAT_INDEX;
}
else
{
cbType->ItemIndex = FORMAT_INDEX;
}
#else
cbType->ItemIndex = DOWNLOAD_ROM_INDEX;
#endif
}
//------------------------------------------------------------------------------
void TMainForm::Save_Type( void )
{
#ifndef SERVICE_CENTER
switch ( cbType->ItemIndex )
{
case DOWNLOAD_ROM_AND_FAT_INDEX:
INIFileH.write_Type( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "Download ROM and FAT");
break;
case DOWNLOAD_ROM_INDEX:
INIFileH.write_Type( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "Download ROM");
break;
case DOWNLOAD_ROM_AND_FORMAT_INDEX:
INIFileH.write_Type( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "Download ROM and Format");
break;
case FORMAT_INDEX:
INIFileH.write_Type( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "Format");
break;
default: // default set to 460800
INIFileH.write_Baseband_chip( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "Download ROM and FAT");
break;
}
#else
INIFileH.write_Type( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "Download ROM");
#endif
}
//=============================================================================
void TMainForm::Display_FormatFatRangeVisible( void )
{
#ifndef SERVICE_CENTER
if( cbType->ItemIndex == DOWNLOAD_ROM_AND_FORMAT_INDEX )
{
gbFormatFATRange->Visible = true;
}
else
#endif
{
gbFormatFATRange->Visible = false;
}
}
//---------------------------------------------------------------------------
void TMainForm::Display_FormatFatRange( void )
{
Display_FormatFatRangeVisible();
as_Format_FAT_range = INIFileH.read_Format_FAT_range( "MultiPortFlashDownloadProject.ini", Application->ExeName );
if( as_Format_FAT_range.AnsiCompareIC( "auto" ) == 0 )
{
rbAuto->Checked = true;
}
else
{
rbManual->Checked = true;
as_Format_FAT_range = (AnsiString) "manual";
}
}
//------------------------------------------------------------------------------
void TMainForm::Save_FormatFatRange( void )
{
if( rbAuto->Checked )
{
INIFileH.write_Format_FAT_range( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "auto");
}
else
{
INIFileH.write_Format_FAT_range( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "manual");
}
}
//==============================================================================
void TMainForm::Display_LVSetting( void )
{
int ret;
int iLastDel = 0;
asROMFileName = INIFileH.read_ROM( "MultiPortFlashDownloadProject.ini", Application->ExeName );
if( asROMFileName.AnsiCompareIC("") != 0 )
{
if(ret=DL_Rom_LoadByFilepath(g_DL_HANDLE, 0, asROMFileName.c_str()))
{
if( FTHND_HANDLE_BUSY_NOW == ret )
{
ShowMessage("Program is busy! Can not update setting right now.");
return;
}
else if( FTHND_SCAT_REGION_IS_OVERLAP == ret )
{
ShowMessage( "\"" + asROMFileName + "\" is too large and causes region overlap!");
return;
}
else
{
ShowMessage(" Load file \"" + asROMFileName + "\" fail!");
return;
}
}
iLastDel = asROMFileName.LastDelimiter("\\:");
if ( iLastDel > 0)
{
asROM_Path = asROMFileName.SubString(1, iLastDel-1 );
}
if(b_AutoLoadResByScat)
{
DL_AutoLoadByScatRegionName(g_DL_HANDLE, asROMFileName.c_str(), RESOURCE_BIN|JUMPTABLE_BIN);
}
}
#ifndef SERVICE_CENTER
AnsiString as_LV_FAT_index;
asFATFileName = INIFileH.read_FAT( "MultiPortFlashDownloadProject.ini", Application->ExeName );
as_LV_FAT_index = INIFileH.read_LV_FAT_index( "MultiPortFlashDownloadProject.ini", Application->ExeName );
i_LV_FAT_index = as_LV_FAT_index.ToInt();
if( i_LV_FAT_index>=1 && cbType->ItemIndex == DOWNLOAD_ROM_AND_FAT_INDEX )
{
if( asFATFileName.AnsiCompareIC("") != 0 )
{
if(ret=DL_Rom_LoadByFilepath(g_DL_HANDLE, i_LV_FAT_index, asFATFileName.c_str()))
{
if( FTHND_HANDLE_BUSY_NOW == ret )
{
ShowMessage("Program is busy! Can not update setting right now.");
return;
}
else if( FTHND_SCAT_REGION_IS_OVERLAP == ret )
{
ShowMessage( "\"" + asFATFileName + "\" is too large and causes region overlap!");
return;
}
else
{
ShowMessage(" Load file \"" + asFATFileName + "\" fail!");
return;
}
}
iLastDel = asFATFileName.LastDelimiter("\\:");
if ( iLastDel > 0)
{
asFAT_Path = asFATFileName.SubString(1, iLastDel-1 );
}
}
}
#endif
RedrawLVCheckBox();
}
//------------------------------------------------------------------------------
void TMainForm::Save_LVSetting( void )
{
INIFileH.write_ROM( "MultiPortFlashDownloadProject.ini", Application->ExeName, asROMFileName);
#ifndef SERVICE_CENTER
INIFileH.write_FAT( "MultiPortFlashDownloadProject.ini", Application->ExeName, asFATFileName);
INIFileH.write_LV_FAT_index( "MultiPortFlashDownloadProject.ini", Application->ExeName, IntToStr(i_LV_FAT_index));
#endif
#if 0
AnsiString as_reg_prefix;
INIFileH.write_LV_count( "MultiPortFlashDownloadProject.ini", Application->ExeName, "rom_info_count", lv->Items->Count );
for(int i=0; i<lv->Items->Count; i++)
{
write_LV_name( "MultiPortFlashDownloadProject.ini", Application->ExeName, "rom_info_name" + IntToStr(i), rom_info[i].name);
}
for(int i=0; i<lv->Items->Count; i++)
{
if( ABSOLUTE_ADDR == rom_info[i].addr_type )
{
as_reg_prefix = "";
}
else
{
as_reg_prefix = "+";
}
write_LV_region_addr( "MultiPortFlashDownloadProject.ini", Application->ExeName, "rom_info_region_addr" + IntToStr(i), as_reg_prefix + "0x" + IntToHex((int)rom_info[i].region_addr, 8));
}
for(int i=0; i<lv->Items->Count; i++)
{
write_LV_begin_addr( "MultiPortFlashDownloadProject.ini", Application->ExeName, "rom_info_begin_addr" + IntToStr(i), "0x" + IntToHex((int)rom_info[i].begin_addr, 8) );
}
for(int i=0; i<lv->Items->Count; i++)
{
write_LV_end_addr( "MultiPortFlashDownloadProject.ini", Application->ExeName, "rom_info_end_addr" + IntToStr(i), "0x" + IntToHex((int)rom_info[i].end_addr, 8) );
}
for(int i=0; i<lv->Items->Count; i++)
{
write_LV_location( "MultiPortFlashDownloadProject.ini", Application->ExeName, "rom_info_end_addr" + IntToStr(i), rom_info[i].filepath );
}
#endif
}
//=============================================================================
void TMainForm::Display_ComEnabled( void )
{
int i, j;
AnsiString as_TheFirstComNo = INIFileH.read_TheFirstComPortNo( "MultiPortFlashDownloadProject.ini", Application->ExeName );
m_TheFirstComNo = as_TheFirstComNo.ToInt();
AnsiString as_ComportChecked = INIFileH.read_ComEnabled( "MultiPortFlashDownloadProject.ini", Application->ExeName );
iCOMChecked = as_ComportChecked.ToInt();
// AnsiString as_ComPortSetting = INIFileH.read_ComPortSetting( "MultiPortFlashDownloadProject.ini", Application->ExeName );
// iCOM = as_ComPortSetting.ToInt();
//if( miComManual->Checked )
{
for (i=0; i<MAX_SUPPORT_PORT_NUM; i++)
{
cbCOMArray[i]->Caption = "COM" + IntToStr( m_TheFirstComNo + i);
}
for(i=0;i<MAX_SUPPORT_PORT_NUM;i++)
{
j= (iCOMChecked & (1<<i));
if(j==0)
{
cbCOMArray[i]->Checked = false;
}
else
{
cbCOMArray[i]->Checked = true;
}
}
}
}
//----------------------------------------------------------------------------
void TMainForm::Save_ComEnabled( void )
{
INIFileH.write_ComEnabled( "MultiPortFlashDownloadProject.ini", Application->ExeName, "0x"+IntToHex(iCOMChecked,2));
}
//============================================================================
BBCHIP_TYPE TMainForm::Get_BBChipType( AnsiString as_BBChip )
{
if( as_BBChip.AnsiCompareIC("6205") == 0 ) return MT6205;
else if( as_BBChip.AnsiCompareIC("6205B") == 0 ) return MT6205B;
else if( as_BBChip.AnsiCompareIC("6208") == 0 ) return MT6208;
else if( as_BBChip.AnsiCompareIC("6217") == 0 ) return MT6217;
else if( as_BBChip.AnsiCompareIC("6218") == 0 ) return MT6218;
else if( as_BBChip.AnsiCompareIC("6218B") == 0 ) return MT6218B;
else if( as_BBChip.AnsiCompareIC("6219") == 0 ) return MT6219;
else return UNKNOWN_BBCHIP_TYPE;
}
//---------------------------------------------------------------------------
EXT_CLOCK TMainForm::Get_ExternalClockType( AnsiString as_ExtClock )
{
if( as_ExtClock.AnsiCompareIC("13MHz") == 0 ) return EXT_13M;
else if( as_ExtClock.AnsiCompareIC("39MHz") == 0 ) return EXT_39M;
else if( as_ExtClock.AnsiCompareIC("52MHz") == 0 ) return EXT_52M;
else return EXT_26M;
}
//=============================================================================
void TMainForm::Display_BasebandChip( void )
{
as_Baseband_chip = INIFileH.read_Baseband_chip( "MultiPortFlashDownloadProject.ini", Application->ExeName );
Baseband_chip_type = Get_BBChipType(as_Baseband_chip);
switch( Baseband_chip_type )
{
case MT6205:
{
miMT6205->Checked = true;
miAutodetectBB->Checked = false;
miMT6205B->Checked = false;
miMT6208->Checked = false;
miMT6217->Checked = false;
miMT6218->Checked = false;
miMT6218B->Checked = false;
miMT6219->Checked = false;
}
break;
case MT6205B:
{
miMT6205B->Checked = true;
miAutodetectBB->Checked = false;
miMT6205->Checked = false;
miMT6208->Checked = false;
miMT6217->Checked = false;
miMT6218->Checked = false;
miMT6218B->Checked = false;
miMT6219->Checked = false;
}
break;
case MT6208:
{
miMT6208->Checked = true;
miAutodetectBB->Checked = false;
miMT6205->Checked = false;
miMT6205B->Checked = false;
miMT6217->Checked = false;
miMT6218->Checked = false;
miMT6218B->Checked = false;
miMT6219->Checked = false;
}
break;
case MT6217:
{
miMT6217->Checked = true;
miAutodetectBB->Checked = false;
miMT6205->Checked = false;
miMT6205B->Checked = false;
miMT6208->Checked = false;
miMT6218->Checked = false;
miMT6218B->Checked = false;
miMT6219->Checked = false;
}
break;
case MT6218:
{
miMT6218->Checked = true;
miAutodetectBB->Checked =false;
miMT6205->Checked = false;
miMT6205B->Checked = false;
miMT6208->Checked = false;
miMT6217->Checked = false;
miMT6218B->Checked = false;
miMT6219->Checked = false;
}
break;
case MT6218B:
{
miMT6218B->Checked = true;
miAutodetectBB->Checked =false;
miMT6205->Checked = false;
miMT6205B->Checked = false;
miMT6208->Checked = false;
miMT6217->Checked = false;
miMT6218->Checked = false;
miMT6219->Checked = false;
}
break;
case MT6219:
{
miMT6219->Checked = true;
miAutodetectBB->Checked =false;
miMT6205->Checked = false;
miMT6205B->Checked = false;
miMT6208->Checked = false;
miMT6217->Checked = false;
miMT6218->Checked = false;
miMT6218B->Checked = false;
}
break;
case UNKNOWN_BBCHIP_TYPE: // auto detect
default:
{
miAutodetectBB->Checked = true;
miMT6205->Checked = false;
miMT6205B->Checked = false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -