⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multiportflashdownloadtool.cpp_bak

📁 多串口下载手机软件的软件
💻 CPP_BAK
📖 第 1 页 / 共 5 页
字号:
             miMT6208->Checked = false;
             miMT6217->Checked = false;
             miMT6218->Checked = false;
             miMT6218B->Checked = false;
             miMT6219->Checked = false;
             as_Baseband_chip = "auto detect";
        }
        break;

    }
}

//------------------------------------------------------------------------------
void TMainForm::Save_BasebandChip( void )
{
     INIFileH.write_Baseband_chip( "MultiPortFlashDownloadProject.ini", Application->ExeName, as_Baseband_chip);

}

//=============================================================================
void TMainForm::Display_ExternalClock( void )
{

    as_External_clock =  INIFileH.read_External_clock( "MultiPortFlashDownloadProject.ini", Application->ExeName );
    External_clock_type = Get_ExternalClockType(as_External_clock);
    switch( External_clock_type )
    {
        case EXT_13M:
        {
            mi13MHz->Checked = true;
            mi26MHz->Checked = false;
            mi39MHz->Checked = false;
            mi52MHz->Checked = false;
        }
        break;

        case EXT_39M:
        {
            mi39MHz->Checked = true;
            mi13MHz->Checked = false;
            mi26MHz->Checked = false;
            mi52MHz->Checked = false;
        }
        break;

        case EXT_52M:
        {
            mi52MHz->Checked = true;
            mi13MHz->Checked = false;
            mi26MHz->Checked = false;
            mi39MHz->Checked = false;
        }
        break;

        case EXT_26M:
        default:
        {
            // set to 26mhz
            mi26MHz->Checked = true;
            mi13MHz->Checked = false;
            mi39MHz->Checked = false;
            mi52MHz->Checked = false;
            as_External_clock = (AnsiString) "26mhz";
        }
        break;
    }
}

//------------------------------------------------------------------------------
void TMainForm::Save_ExternalClock( void )
{
     INIFileH.write_External_clock( "MultiPortFlashDownloadProject.ini", Application->ExeName, as_External_clock);
}

//=============================================================================
void TMainForm::Display_CheckECOVersion( void )
{
    as_CheckECOVersion =  INIFileH.read_CheckECOVersion( "MultiPortFlashDownloadProject.ini", Application->ExeName );
    if( as_CheckECOVersion.AnsiCompareIC("no") == 0 )
    {
        bCheckECOVersion = false;
        miCheckECOversion->Checked = false;
    }
    else
    {
        as_CheckECOVersion = "yes";
        bCheckECOVersion = true;
        miCheckECOversion->Checked = true;
    }
}

//-----------------------------------------------------------------------------
void TMainForm::Save_CheckECOVersion( void )
{
     INIFileH.write_CheckECOVersion( "MultiPortFlashDownloadProject.ini", Application->ExeName, as_CheckECOVersion);
}

//=============================================================================
void TMainForm::Display_CheckTargetResourceLayout( void )
{
    AnsiString as_CheckTgtResLayout =  INIFileH.read_CheckTgtResLayout( "MultiPortFlashDownloadProject.ini", Application->ExeName );
    if( as_CheckTgtResLayout.AnsiCompareIC("no") == 0 )
    {
        b_CheckTgtResLayout = false;
        miCheckTargetResourceLayout->Checked = false;
    }
    else
    {
        b_CheckTgtResLayout = true;
        miCheckTargetResourceLayout->Checked = true;
    }
}

//-----------------------------------------------------------------------------
void TMainForm::Save_CheckTargetResourceLayout( void )
{
    if( miCheckTargetResourceLayout->Checked )
    {
        INIFileH.write_CheckTgtResLayout( "MultiPortFlashDownloadProject.ini", Application->ExeName, "yes");
    }
    else
    {
        INIFileH.write_CheckTgtResLayout( "MultiPortFlashDownloadProject.ini", Application->ExeName, "no");
    }
}

//=============================================================================
void TMainForm::Display_AutoLoadResByScat( void )
{
    AnsiString as_AutoLoadResByScat =  INIFileH.read_AutoLoadResByScat( "MultiPortFlashDownloadProject.ini", Application->ExeName );
    if( as_AutoLoadResByScat.AnsiCompareIC("no") == 0 )
    {
        b_AutoLoadResByScat = false;
        miAutoLoadResourcefilesByScatter->Checked = false;
    }
    else
    {
        b_AutoLoadResByScat = true;
        miAutoLoadResourcefilesByScatter->Checked = true;
    }
}

//-----------------------------------------------------------------------------
void TMainForm::Save_AutoLoadResByScat( void )
{
    if( miAutoLoadResourcefilesByScatter->Checked )
    {
        INIFileH.write_AutoLoadResByScat( "MultiPortFlashDownloadProject.ini", Application->ExeName, "yes");
    }
    else
    {
        INIFileH.write_AutoLoadResByScat( "MultiPortFlashDownloadProject.ini", Application->ExeName, "no");
    }
}

//=============================================================================
void TMainForm::Display_CompareResProjectId( void )
{
    AnsiString as_CompareResProjectId =  INIFileH.read_CompareResProjectId( "MultiPortFlashDownloadProject.ini", Application->ExeName );
    if( as_CompareResProjectId.AnsiCompareIC("no") == 0 )
    {
        b_CompareResProjectId = false;
        miCompareResourceProjectId->Checked = false;
    }
    else
    {
        b_CompareResProjectId = true;
        miCompareResourceProjectId->Checked = true;
    }
    DL_ResourceProjectIdComparisonSetting(g_DL_HANDLE, b_CompareResProjectId?_TRUE:_FALSE);
}

//-----------------------------------------------------------------------------
void TMainForm::Save_CompareResProjectId( void )
{
    if( miCompareResourceProjectId->Checked )
    {
        INIFileH.write_CompareResProjectId( "MultiPortFlashDownloadProject.ini", Application->ExeName, "yes");
    }
    else
    {
        INIFileH.write_CompareResProjectId( "MultiPortFlashDownloadProject.ini", Application->ExeName, "no");
    }
}
//=============================================================================
void TMainForm::Display_Baudrate( void )
{

    as_Baudrate =  INIFileH.read_Baudrate( "MultiPortFlashDownloadProject.ini", Application->ExeName );
    UART_baud_rate = Get_Baudrate( as_Baudrate );

    switch( UART_baud_rate )
    {
        case UART_BAUD_115200:
             cbBaudrate->ItemIndex =  BAUD_RATE_115200_INDEX;
        break;

        case UART_BAUD_230400:
             cbBaudrate->ItemIndex =  BAUD_RATE_230400_INDEX;
        break;

        case UART_BAUD_460800:
             cbBaudrate->ItemIndex =  BAUD_RATE_460800_INDEX;
        break;

        case UART_BAUD_921600:
             cbBaudrate->ItemIndex =  BAUD_RATE_921600_INDEX;
        break;

        default: // default set to 460800
             UART_baud_rate = UART_BAUD_460800;
             cbBaudrate->ItemIndex =  BAUD_RATE_460800_INDEX;
             as_Baudrate = (AnsiString) "460800";
        break;
    }        
}

//------------------------------------------------------------------------------
void TMainForm::Save_Baudrate( void )
{
     switch ( cbBaudrate->ItemIndex )
     {
         case BAUD_RATE_115200_INDEX:
              INIFileH.write_Baudrate( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "115200");
         break;

         case BAUD_RATE_230400_INDEX:
              INIFileH.write_Baudrate( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "230400");
         break;

         case BAUD_RATE_460800_INDEX:
              INIFileH.write_Baudrate( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "460800");
         break;

         case BAUD_RATE_921600_INDEX:
              INIFileH.write_Baudrate( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "921600");
         break;

         default:  // default set to 460800
              INIFileH.write_Baudrate( "MultiPortFlashDownloadProject.ini", Application->ExeName, (AnsiString) "460800");
         break;
     }
}

//=============================================================================
void TMainForm::Display_AutoPollingEnabled( void )
{
    int i, j;
    as_AutoPollingEnabled = INIFileH.read_AutoPollingEnabled( "MultiPortFlashDownloadProject.ini", Application->ExeName );
    iAutoPolling = as_AutoPollingEnabled.ToInt();

    for (i=0; i<MAX_SUPPORT_PORT_NUM; i++)
    {
        cbAutoPollingArray[i]->Caption = "Auto polling " + IntToStr( m_TheFirstComNo + i);
    }

    for(i=0; i<MAX_SUPPORT_PORT_NUM; i++)
    {
        j= (iAutoPolling & (1<<i));
        if(j==0)
        {
             cbAutoPollingArray[i]->Checked = false;
        }
        else
        {
             cbAutoPollingArray[i]->Checked = true;
        }
    }
}

//----------------------------------------------------------------------------
void  TMainForm::Save_AutoPollingEnabled( void )
{
    INIFileH.write_AutoPollingEnabled( "MultiPortFlashDownloadProject.ini", Application->ExeName, "0x"+IntToHex(iAutoPolling,2));
}

//==============================================================================
void  TMainForm::get_PullDownGPIO17( void )
{
    as_PullDownGPIO17 =  INIFileH.read_Pull_down_GPIO17( "MultiPortFlashDownloadProject.ini", Application->ExeName );
    if( as_PullDownGPIO17.AnsiCompareIC( "yes" ) == 0 )
    {
         isPullDownGPIO17 = true;
    }
    else
    {
         isPullDownGPIO17 = false;
    }
}

//------------------------------------------------------------------------------

void __fastcall TMainForm::btnStartAllClick(TObject *Sender)
{
    bool result;
   int i;
   int m_DownLoadStatusResult;
   COM_PORT_HANDLE ComPortNo;      

   if( (result=DownloadCommonFunction()) == false )
   {
        return;
   }
  // for (i=0;i<MAX_SUPPORT_PORT_NUM;i++)
  // {
  //      DownloadStatus[i] = DOWNLOAD_STATUS_RUNNING;
  // }     
   Disable_UIComponent();
   //Get_Baudrate();
   // reset timer and enable timer to click
   //m_DownLoadTimeSec = 0;


  // Timer_M_DownLoad->Enabled = true;


   for (i=0;i<MAX_SUPPORT_PORT_NUM;i++)
   {
        if(cbCOMArray[i]->Checked == true && DownloadStatus[i] == DOWNLOAD_STATUS_NOTRUNNING)
        {
            if( miEnableFDLog->Checked )
            {
                // access
                TDateTime datetime;
                TDateTime date = datetime.CurrentDate();
                TDateTime time = datetime.CurrentTime();
                sTime     stime;
                time.DecodeTime( &stime.hour, &stime.min, &stime.sec, &stime.msec);
                MainForm->SetDnDate( i, date );
                MainForm->SetDnStartTime( i, time );
                MainForm->SetDnStartsTime( i, stime );
            }

            stopflag[i] = 0;
            DownLoadTimeSec[i] = 0;
            COMPercentageArray[i]->Caption = "";
            TimerCOMArray[i]->Enabled = true;
            ComPortNo.number = (i + m_TheFirstComNo);
            A_Thread[i] = new TBOOT1(FALSE, hPostMsgDestHandle, ComPortNo, Baseband_chip_type,
                                      External_clock_type, bCheckECOVersion, UART_baud_rate,
                                      bFormatNeeded);
            DownloadStatus[i] = DOWNLOAD_STATUS_RUNNING;
            btnCOMStartArray[i]->Enabled = false;
            cbCOMArray[i]->Enabled = false;
            cbAutoPollingArray[i]->Enabled = false;
            isStopTrigger[i] = false;
        }



   }

   new WaitForFinish(FALSE);
   //Sleep(100);

   // power on


}

//---------------------------------------------------------------------------
void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action)
{
    int i;

    for(i=0; i<MAX_SUPPORT_PORT_NUM; i++)
    {
        ResetEvent( Flash_Download_Event[i] );
    }

    btnStopAllClick( this );
    for(int i=0; i<MAX_SUPPORT_PORT_NUM; i++)
    {
        if( DownloadStatus[i] == DOWNLOAD_STATUS_RUNNING )
        {
            WaitForSingleObject( Flash_Download_Event[i], 1000 );
        }
    }

    // Save setting to .INI
    TIniFile *ini;
    ini = new TIniFile(
    ChangeFileExt( Application->ExeName, ".INI" ) );
    WriteFileSetting();

    // INIFileH.write_Baudrate( "MultiPortFlashDownloadProject.ini", Application->ExeName, as_Baudrate);

    // stop all timer
    for(int i=0; i<MAX_SUPPORT_PORT_NUM; i++)
    {
        TimerCOMArray[i]->Enabled = false;
    }

    // Disable Debug
    Brom_DebugOff();
    // DESTROY HANDLE
    DL_Destroy(&g_DL_HANDLE);
    DA_Destroy(&g_DA_HANDLE);

    // save menu setting
    Save_BasebandChip();
    Save_ExternalClock();
    Save_CheckECOVersion();
    Save_Baudrate();
    Save_ComEnabled();
    Save_AutoPollingEnabled();
    Save_Type();
    Save_FormatFatRange();
    Save_LVSetting();

    // access
    Save_DataSource();
    Save_DBLogOption();
}




//==============================================================================
/////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -