mrDarker
2025-08-13 5cc675212e96d87ebbf00f4fd7a8106b06a490ff
EdgeInspector_App/View/ViewMain_HWSetting.cpp
@@ -1,4 +1,4 @@
// ViewHWSetting.cpp : 备泅 颇老涝聪促.
// ViewHWSetting.cpp : 备泅 颇老涝聪促.
//
#include "stdafx.h"
@@ -8,7 +8,7 @@
#include "Global_Define.h"
#include "NewCellTypes\GridCellCombo.h"
// CViewHWSetting 措拳 惑磊涝聪促.
// CViewHWSetting 措拳 惑磊涝聪促.
extern BOOL g_bUse_SaveAllDMP;
const int LIGHT_COLUMN_COUNT = 4;
const TCHAR* LIGHT_COLUMN_ITEM[LIGHT_COLUMN_COUNT] = {_T("ID"),_T("Type"),_T("Port&IP"),_T("Maker")};
@@ -83,6 +83,8 @@
   DDX_Check(pDX,IDC_CHECK_USE_SAVE_DEBUG_IMAGE,m_pDlgHDSettingParm->m_bUse_SaveDebugImage);   
   DDX_Check(pDX, IDC_CHECK_USE_SAVE_ALL_DMP, g_bUse_SaveAllDMP);
   DDX_Check(pDX, IDC_CHECK_SAVE_RESULT_BY_HOUR, m_pDlgHDSettingParm->m_bSaveResultByHour);      // ly,2025.07.10
   DDX_Check(pDX, IDC_CHECK_ENABLE_AUTO_COPY, m_pDlgHDSettingParm->m_bEnableAutoCopy);            // ly,2025.07.07
   DDX_Text(pDX, IDC_EDIT_COPY_TOOL_EXE_PATH, m_pDlgHDSettingParm->m_strCopyToolExePath);
   DDX_Text(pDX, IDC_EDIT_COPY_TOOL_CONFIG_PATH, m_pDlgHDSettingParm->m_strCopyToolConfigPath);
@@ -142,7 +144,7 @@
   return TRUE;
}
// CViewHWSetting 皋矫瘤 贸府扁涝聪促.
// CViewHWSetting 皋矫瘤 贸府扁涝聪促.
void CViewMain_HWSetting::Init_LightGrid()
@@ -171,7 +173,7 @@
   lf.lfItalic = 0;
   lf.lfHeight = 14;
   lf.lfWeight = FW_BOLD;
   _tcscpy(lf.lfFaceName, _T("Arial"));
   _tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
   m_LightGrid.GetDefaultCell(TRUE, FALSE)->SetFont(&lf);
   m_LightGrid.GetDefaultCell(FALSE, TRUE)->SetFont(&lf);
@@ -228,7 +230,7 @@
   lf.lfItalic = 0;
   lf.lfHeight = 14;
   lf.lfWeight = FW_BOLD;
   _tcscpy(lf.lfFaceName, _T("Arial"));
   _tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
   m_CameraGrid.GetDefaultCell(TRUE, FALSE)->SetFont(&lf);
   m_CameraGrid.GetDefaultCell(FALSE, TRUE)->SetFont(&lf);
@@ -371,21 +373,27 @@
   int         iCam,iScan,i;
   int         iRow,iCol;
   CString      str;      
   const   TCHAR* SET_CAMERA_DIR[] = {_T("Top"),_T("Bottom")};
   const   TCHAR* SET_CAMERA_DIR[] = {_T("Top"),_T("Bottom"),_T("Side") };
   const   TCHAR* SET_INS_DIR[] = {_T("Long"),_T("Short")};   
   const   TCHAR* SET_INS_DIMENSION[] = {_T("A Top"),_T("B Top"),_T("C Top"),_T("D Top"),_T("A Bot"),_T("B Bot"),_T("C Bot"),_T("D Bot")};
   const TCHAR* SET_INS_DIMENSION[] = {
      _T("A Top"), _T("B Top"), _T("C Top"), _T("D Top"),
      _T("A Bot"), _T("B Bot"), _T("C Bot"), _T("D Bot"),
      _T("A RIP"), _T("B RIP"), _T("C RIP"), _T("D RIP")
   };
   CStringArray   arrDir,arrInsDir,arrDimension;
   CGridCellCombo *pCell;      
   
   for(i=0;i<2;i++)
   {
      arrDir.Add(SET_CAMERA_DIR[i]);
      arrInsDir.Add(SET_INS_DIR[i]);
   }
   for(i=0;i<8;i++)
   {
      arrDimension.Add(SET_INS_DIMENSION[i]);
   }
   for (i = 0; i < 3; i++) {
      arrDir.Add(SET_CAMERA_DIR[i]);
   }
   for (i = 0; i < 2; i++) {
      arrInsDir.Add(SET_INS_DIR[i]);
   }
   for (i = 0; i < 12; i++) {
      arrDimension.Add(SET_INS_DIMENSION[i]);
   }
   
   if(bWrite == TRUE)
   {
@@ -415,7 +423,8 @@
            switch(pCamera->m_enCamDir)
            {
            case CAMDIR_TOP: str.Format(_T("%s"),SET_CAMERA_DIR[0]); break;
            case CAMDIR_BOTTOM: str.Format(_T("%s"),SET_CAMERA_DIR[1]); break;
            case CAMDIR_BOTTOM: str.Format(_T("%s"),SET_CAMERA_DIR[1]); break;
            case CAMDIR_SIDE: str.Format(_T("%s"), SET_CAMERA_DIR[2]); break;
            default: str.Format(_T("%s"),_T("No")); break;
            }         
            m_CameraGrid.SetItemText(iRow,iCol,str);   
@@ -445,13 +454,17 @@
            switch(pCamera->m_eDimension)
            {
            case DIMENSION_A: str.Format(_T("%s"),SET_INS_DIMENSION[0]); break;
            case DIMENSION_B: str.Format(_T("%s"),SET_INS_DIMENSION[1]); break;
            case DIMENSION_C: str.Format(_T("%s"),SET_INS_DIMENSION[2]); break;
            case DIMENSION_D: str.Format(_T("%s"),SET_INS_DIMENSION[3]); break;
            case DIMENSION_A_DN: str.Format(_T("%s"),SET_INS_DIMENSION[4]); break;
            case DIMENSION_B_DN: str.Format(_T("%s"),SET_INS_DIMENSION[5]); break;
            case DIMENSION_C_DN: str.Format(_T("%s"),SET_INS_DIMENSION[6]); break;
            case DIMENSION_D_DN: str.Format(_T("%s"),SET_INS_DIMENSION[7]); break;
            case DIMENSION_B: str.Format(_T("%s"),SET_INS_DIMENSION[1]); break;
            case DIMENSION_C: str.Format(_T("%s"),SET_INS_DIMENSION[2]); break;
            case DIMENSION_D: str.Format(_T("%s"),SET_INS_DIMENSION[3]); break;
            case DIMENSION_A_DN: str.Format(_T("%s"),SET_INS_DIMENSION[4]); break;
            case DIMENSION_B_DN: str.Format(_T("%s"),SET_INS_DIMENSION[5]); break;
            case DIMENSION_C_DN: str.Format(_T("%s"),SET_INS_DIMENSION[6]); break;
            case DIMENSION_D_DN: str.Format(_T("%s"),SET_INS_DIMENSION[7]); break;
            case DIMENSION_A_RIP: str.Format(_T("%s"), SET_INS_DIMENSION[8]); break;
            case DIMENSION_B_RIP: str.Format(_T("%s"), SET_INS_DIMENSION[9]); break;
            case DIMENSION_C_RIP: str.Format(_T("%s"), SET_INS_DIMENSION[10]); break;
            case DIMENSION_D_RIP: str.Format(_T("%s"), SET_INS_DIMENSION[11]); break;
            default: str.Format(_T("%s"),_T("No")); break;
            }         
            m_CameraGrid.SetItemText(iRow,iCol,str);   
@@ -658,23 +671,19 @@
void CViewMain_HWSetting::UpdateControlValue(BOOL bWrite)
{
   if(bWrite == TRUE)
   {
   if(bWrite == TRUE) {
      UpdateData(FALSE);
      FillLightGrid(TRUE);
      FillCameraGrid(TRUE);
      ((CComboBox*)(GetDlgItem(IDC_COMBO_BORAD_TYPE)))->SetCurSel((int)m_pDlgHDSettingParm->m_nBoardType);      
   }
   else
   {
   else {
      UpdateData(TRUE);
      FillLightGrid(FALSE);
      FillCameraGrid(FALSE);
      if(m_pHDSetting != NULL)
      {
      if(m_pHDSetting != NULL) {
         m_pDlgHDSettingParm->m_nBoardType = (BOARD_TYPE)((CComboBox*)(GetDlgItem(IDC_COMBO_BORAD_TYPE)))->GetCurSel();
         *m_pHDSetting = *m_pDlgHDSettingParm;
      }
   }
@@ -710,40 +719,30 @@
   CreateDirectory(_T("C:\\EdgeInspector_App\\Config"),NULL);
   CreateDirectory(_T("C:\\EdgeInspector_App\\Config\\Backup"),NULL);
   CTime currentTime = CTime::GetCurrentTime();
   CString   str;
   str.Format(_T("%s\\HardwareSetting_%02d%02d%02d_%02d%02d%02d.cfg"), HARDWARE_SETTING_BACKUP_DIR_PATH
                                                      , currentTime.GetYear()
                                                      , currentTime.GetMonth()
                                                      , currentTime.GetDay()
                                                      , currentTime.GetHour()
                                                      , currentTime.GetMinute()
                                                      , currentTime.GetSecond());
   CTime time = CTime::GetCurrentTime();
   str.Format(_T("%s\\HardwareSetting_%02d%02d%02d_%02d%02d%02d.cfg"), HARDWARE_SETTING_BACKUP_DIR_PATH, time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond());
   UpdateControlValue(FALSE);   
   if(m_pHDSetting->WriteHardwareSettingsFile(str) == FALSE)
   {
   if(m_pHDSetting->WriteHardwareSettingsFile(str) == FALSE) {
      AfxMessageBox(_T("Save Fail!"));
   }
}
void CViewMain_HWSetting::ClickHWSaveButton()
{
   if(m_pHDSetting == NULL)
   if (m_pHDSetting == NULL) {
      return;
   }
   if (IDYES == AfxMessageBox(_T("Do you want to save? \n Restarting is required to change settings."), MB_YESNO | MB_ICONQUESTION))
   {
   if (IDYES == AfxMessageBox(_T("Do you want to save? \n Restarting is required to change settings."), MB_YESNO | MB_ICONQUESTION)) {
      UpdateControlValue(FALSE);
      if(m_pHDSetting->WriteHardwareSettingsFile(HARDWARE_SETTING_PATH) == FALSE)// if(m_pHDSetting->WriteHardwareSettingsRegistry() == FALSE)
      {
         AfxMessageBox(_T("Save Fail!"));
      g_pLog->DisplayMessage(_T("Saving HW settings file[%s]..."), HARDWARE_SETTING_PATH);
      if (m_pHDSetting->WriteHardwareSettingsFile(HARDWARE_SETTING_PATH) == FALSE) {
         g_pLog->DisplayMessage(_T("Failed to save hardware settings file!"));
         return;
      }
      SaveHardwareFileBackup();
      SaveHardwareFileBackup();
   }
}