📄 multiportflashdownloadtool.cpp_bak
字号:
{
DL_Rom_SetEnableAttr(g_DL_HANDLE, lvChanged.iChangedIndex, plv->Items->Item[lvChanged.iChangedIndex]->Checked?_TRUE:_FALSE);
RedrawLVCheckBox();
}
else
{
lv_oldClick(Sender);
}
lvChanged.iChangedIndex = NO_CHANGE;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::lv_oldClick(TObject *Sender)
{
TListView *p_lv = dynamic_cast<TListView *>(Sender);
int iLastDel=0;
int ret;
if ( p_lv->Selected == NULL )
return;
if(asROM_Path.Length()>0)
{
OpenROMDialog->InitialDir = asROM_Path;
OpenROMDialog->FileName = "";
}
else if( 4 <= p_lv->Selected->SubItems->Count )
{
iLastDel = p_lv->Selected->SubItems->Strings[3].LastDelimiter("\\:");
if ( iLastDel > 0)
{
OpenROMDialog->InitialDir = p_lv->Selected->SubItems->Strings[3].SubString(1, iLastDel-1 );
OpenROMDialog->FileName = "";
}
}
//getIndexFromListView(p_lv);
if( OpenROMDialog->Execute( ))
{
if(ret=DL_Rom_LoadByFilepath(g_DL_HANDLE, p_lv->Selected->Index, OpenROMDialog->FileName.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( "\"" + OpenROMDialog->FileName + "\" is too large and causes region overlap!");
return;
}
else
{
ShowMessage(" Load file \"" + OpenROMDialog->FileName + "\" fail!");
return;
}
}
iLastDel = OpenROMDialog->FileName.LastDelimiter("\\:");
if ( iLastDel > 0)
{
asROM_Path = OpenROMDialog->FileName.SubString(1, iLastDel-1 );
}
if(b_AutoLoadResByScat)
{
DL_AutoLoadByScatRegionName(g_DL_HANDLE, OpenROMDialog->FileName.c_str(), RESOURCE_BIN|JUMPTABLE_BIN);
}
RedrawLVCheckBox();
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::lvChanging(TObject *Sender, TListItem *Item,
TItemChange Change, bool &AllowChange)
{
lvChanged.bPreCheckBoxState = Item->Checked;
lvChanged.iChangedIndex = NO_CHANGE;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::lvChange(TObject *Sender, TListItem *Item,
TItemChange Change)
{
if( (Change == ctState) && (Item->Checked != lvChanged.bPreCheckBoxState) )
{
lvChanged.iChangedIndex = Item->Index;
return;
}
lvChanged.iChangedIndex = NO_CHANGE;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::mOpenDAFileClick(TObject *Sender)
{
FileOpenDownloadAgentExecute();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Openlinkmapfile1Click(TObject *Sender)
{
FileOpenScatExecute();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::About1Click(TObject *Sender)
{
// Form_About->Show();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
int i;
int j=0;
int iLastDel = 0;
TIniFile *ini;
AnsiString as_ComportEnabled;
hPostMsgDestHandle = this->Handle;
WindowProc = SubClassWndProc;
// ENABLE DEBUG
Brom_DebugOn();
bFormatNeeded = false;
DL_Create(&g_DL_HANDLE);
DA_Create(&g_DA_HANDLE);
//READ INI
#ifdef SERVICE_CENTER
MainForm->Caption = (AnsiString) "Multi-port download tool (Service center)";
rbAuto->Enabled = false;
rbManual->Enabled = false;
#endif
#ifndef SERVICE_CENTER
cbType->Items->Add( "Download ROM and FAT" );
#endif
cbType->Items->Add( "Download ROM");
#ifndef SERVICE_CENTER
cbType->Items->Add( "Download ROM and Format");
cbType->Items->Add( "Format");
#endif
ReadFileSetting();
// INIT HANDLE
DA_SetStartAddr(g_DA_HANDLE,0x40000800);
//Load DA.Bin
if(asDAFileName.AnsiCompareIC("") != 0)
{
OpenReadDA_File(asDAFileName);
iLastDel = asDAFileName.LastDelimiter("\\:");
if ( asDAFileName.LastDelimiter("\\:") > 0)
{
asDA_Path = asDAFileName.SubString(1, iLastDel-1 );
}
}
//Load scat.txt
if(asScatFileName.AnsiCompareIC("") != 0)
{
OpenReadScat_File(asScatFileName);
iLastDel = asDAFileName.LastDelimiter("\\:");
if ( asDAFileName.LastDelimiter("\\:") > 0)
{
asScat_Path = asScatFileName.SubString(1, iLastDel-1 );
}
}
//Load xxx.Bin(Load)
//if(asROMFileName.AnsiCompareIC("") != 0)
// {
// OpenReadROM_File(asROMFileName);
// iLastDel = asROMFileName.LastDelimiter("\\:");
// if ( asROMFileName.LastDelimiter("\\:") > 0)
// {
// asROM_Path = asROMFileName.SubString(1, iLastDel-1 );
// }
// }
//Load xxx.Bin(FAT)
//if(asFATFileName.AnsiCompareIC("") != 0)
// {
// OpenReadFAT_File(asFATFileName);
// iLastDel = asFATFileName.LastDelimiter("\\:");
// if ( asFATFileName.LastDelimiter("\\:") > 0)
// {
// asFAT_Path = asFATFileName.SubString(1, iLastDel-1 );
// }
//}
// show comport check box enabled or not
cbCOMArray[0] = cbCOM1;
cbCOMArray[1] = cbCOM2;
cbCOMArray[2] = cbCOM3;
cbCOMArray[3] = cbCOM4;
cbCOMArray[4] = cbCOM5;
cbCOMArray[5] = cbCOM6;
cbCOMArray[6] = cbCOM7;
cbCOMArray[7] = cbCOM8;
cbCOMArray[8] = cbCOM9;
cbCOMArray[9] = cbCOM10;
cbCOMArray[10] = cbCOM11;
cbCOMArray[11] = cbCOM12;
cbCOMArray[12] = cbCOM13;
cbCOMArray[13] = cbCOM14;
cbCOMArray[14] = cbCOM15;
cbCOMArray[15] = cbCOM16;
COMPercentageArray[0] = COM1Percentage;
COMPercentageArray[1] = COM2Percentage;
COMPercentageArray[2] = COM3Percentage;
COMPercentageArray[3] = COM4Percentage;
COMPercentageArray[4] = COM5Percentage;
COMPercentageArray[5] = COM6Percentage;
COMPercentageArray[6] = COM7Percentage;
COMPercentageArray[7] = COM8Percentage;
COMPercentageArray[8] = COM9Percentage;
COMPercentageArray[9] = COM10Percentage;
COMPercentageArray[10] = COM11Percentage;
COMPercentageArray[11] = COM12Percentage;
COMPercentageArray[12] = COM13Percentage;
COMPercentageArray[13] = COM14Percentage;
COMPercentageArray[14] = COM15Percentage;
COMPercentageArray[15] = COM16Percentage;
cbAutoPollingArray[0] = cbAutoPolling1;
cbAutoPollingArray[1] = cbAutoPolling2;
cbAutoPollingArray[2] = cbAutoPolling3;
cbAutoPollingArray[3] = cbAutoPolling4;
cbAutoPollingArray[4] = cbAutoPolling5;
cbAutoPollingArray[5] = cbAutoPolling6;
cbAutoPollingArray[6] = cbAutoPolling7;
cbAutoPollingArray[7] = cbAutoPolling8;
cbAutoPollingArray[8] = cbAutoPolling9;
cbAutoPollingArray[9] = cbAutoPolling10;
cbAutoPollingArray[10] = cbAutoPolling11;
cbAutoPollingArray[11] = cbAutoPolling12;
cbAutoPollingArray[12] = cbAutoPolling13;
cbAutoPollingArray[13] = cbAutoPolling14;
cbAutoPollingArray[14] = cbAutoPolling15;
cbAutoPollingArray[15] = cbAutoPolling16;
shpCOMArray[0] = shpCOM1;
shpCOMArray[1] = shpCOM2;
shpCOMArray[2] = shpCOM3;
shpCOMArray[3] = shpCOM4;
shpCOMArray[4] = shpCOM5;
shpCOMArray[5] = shpCOM6;
shpCOMArray[6] = shpCOM7;
shpCOMArray[7] = shpCOM8;
shpCOMArray[8] = shpCOM9;
shpCOMArray[9] = shpCOM10;
shpCOMArray[10] = shpCOM11;
shpCOMArray[11] = shpCOM12;
shpCOMArray[12] = shpCOM13;
shpCOMArray[13] = shpCOM14;
shpCOMArray[14] = shpCOM15;
shpCOMArray[15] = shpCOM16;
pbCOMArray[0] = pbCOM1;
pbCOMArray[1] = pbCOM2;
pbCOMArray[2] = pbCOM3;
pbCOMArray[3] = pbCOM4;
pbCOMArray[4] = pbCOM5;
pbCOMArray[5] = pbCOM6;
pbCOMArray[6] = pbCOM7;
pbCOMArray[7] = pbCOM8;
pbCOMArray[8] = pbCOM9;
pbCOMArray[9] = pbCOM10;
pbCOMArray[10] = pbCOM11;
pbCOMArray[11] = pbCOM12;
pbCOMArray[12] = pbCOM13;
pbCOMArray[13] = pbCOM14;
pbCOMArray[14] = pbCOM15;
pbCOMArray[15] = pbCOM16;
TimerCOMArray[0] = TimerCOM1;
TimerCOMArray[1] = TimerCOM2;
TimerCOMArray[2] = TimerCOM3;
TimerCOMArray[3] = TimerCOM4;
TimerCOMArray[4] = TimerCOM5;
TimerCOMArray[5] = TimerCOM6;
TimerCOMArray[6] = TimerCOM7;
TimerCOMArray[7] = TimerCOM8;
TimerCOMArray[8] = TimerCOM9;
TimerCOMArray[9] = TimerCOM10;
TimerCOMArray[10] = TimerCOM11;
TimerCOMArray[11] = TimerCOM12;
TimerCOMArray[12] = TimerCOM13;
TimerCOMArray[13] = TimerCOM14;
TimerCOMArray[14] = TimerCOM15;
TimerCOMArray[15] = TimerCOM16;
btnCOMStartArray[0] = btnCOM1Start;
btnCOMStartArray[1] = btnCOM2Start;
btnCOMStartArray[2] = btnCOM3Start;
btnCOMStartArray[3] = btnCOM4Start;
btnCOMStartArray[4] = btnCOM5Start;
btnCOMStartArray[5] = btnCOM6Start;
btnCOMStartArray[6] = btnCOM7Start;
btnCOMStartArray[7] = btnCOM8Start;
btnCOMStartArray[8] = btnCOM9Start;
btnCOMStartArray[9] = btnCOM10Start;
btnCOMStartArray[10] = btnCOM11Start;
btnCOMStartArray[11] = btnCOM12Start;
btnCOMStartArray[12] = btnCOM13Start;
btnCOMStartArray[13] = btnCOM14Start;
btnCOMStartArray[14] = btnCOM15Start;
btnCOMStartArray[15] = btnCOM16Start;
btnCOMStopArray[0] = btnCOM1Stop;
btnCOMStopArray[1] = btnCOM2Stop;
btnCOMStopArray[2] = btnCOM3Stop;
btnCOMStopArray[3] = btnCOM4Stop;
btnCOMStopArray[4] = btnCOM5Stop;
btnCOMStopArray[5] = btnCOM6Stop;
btnCOMStopArray[6] = btnCOM7Stop;
btnCOMStopArray[7] = btnCOM8Stop;
btnCOMStopArray[8] = btnCOM9Stop;
btnCOMStopArray[9] = btnCOM10Stop;
btnCOMStopArray[10] = btnCOM11Stop;
btnCOMStopArray[11] = btnCOM12Stop;
btnCOMStopArray[12] = btnCOM13Stop;
btnCOMStopArray[13] = btnCOM14Stop;
btnCOMStopArray[14] = btnCOM15Stop;
btnCOMStopArray[15] = btnCOM16Stop;
for(i=0; i<MAX_SUPPORT_PORT_NUM;i++)
{
DownloadStatus[i] = DOWNLOAD_STATUS_NOTRUNNING;
}
for(i=0; i<MAX_SUPPORT_PORT_NUM;i++)
{
isStopTrigger[i] = false;
}
// initalization
isFATFileLoaded = false;
i_FlashToolFunction = FLASHTOOL_DOWNLOAD;
// multibin
lvChanged.iChangedIndex = NO_CHANGE;
b_CheckTgtResLayout = true;
b_AutoLoadResByScat = true;
b_CompareResProjectId = true;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormShow(TObject *Sender)
{
AnsiString as_AutoLoadResByScat;
MainForm->Left = 13;
MainForm->Top = 9;
// mutlibin
// as_AutoLoadResByScat = INIFileH.read_AutoLoadResByScat( "MultiPortFlashDownloadProject.ini", Application->ExeName );
// if( as_AutoLoadResByScat.AnsiCompareIC("false") == 0 )
//// {
// b_AutoLoadResByScat = false;
// }
// else
// {
// b_AutoLoadResByScat = true;
// }
Display_BasebandChip();
Display_ExternalClock();
Display_CheckECOVersion();
Display_CheckTargetResourceLayout();
Display_AutoLoadResByScat();
Display_CompareResProjectId();
Display_Baudrate();
Display_Type();
Display_ComEnabled();
Display_AutoPollingEnabled();
Display_FormatFatRange();
Display_LVSetting();
// access
Display_DataSource();
Display_DBLogOption();
as_Format_FAT_begin_address = INIFileH.read_Format_FAT_Begin_Address( "MultiPortFlashDownloadProject.ini", Application->ExeName );
as_Format_FAT_length = INIFileH.read_Format_FAT_length( "MultiPortFlashDownloadProject.ini", Application->ExeName );
get_PullDownGPIO17();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OpenDownloadAgentFile1Click(TObject *Sender)
{
FileOpenDownloadAgentExecute();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OpenScatterFile1Click(TObject *Sender)
{
FileOpenScatExecute();
}
//---------------------------------------------------------------------------
//=============================================================================
void TMainForm::ReadFileSetting( void )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -