LAPTOP-SNT8I5JK\Boounion
2025-05-24 1f5f8a22e9c584f709d4b34d2e4d24eaad2d5544
SourceCode/Bond/Servo/CPageGraph1.cpp
@@ -86,6 +86,14 @@
                     UpdateDeviceStatus(INDICATE_ROBOT_ARM1, status);
                     UpdateDeviceStatus(INDICATE_ROBOT_ARM2, status);
                  }
                  else if(EQ_ID_Bonder1 == nID) {
                     DeviceStatus status = bAlive ? DeviceStatus::ONLINE : DeviceStatus::OFFLINE;
                     UpdateDeviceStatus(INDICATE_BONDER1, status);
                  }
                  else if (EQ_ID_Bonder2 == nID) {
                     DeviceStatus status = bAlive ? DeviceStatus::ONLINE : DeviceStatus::OFFLINE;
                     UpdateDeviceStatus(INDICATE_BONDER2, status);
                  }
               }
            }
         }
@@ -106,6 +114,7 @@
BOOL CPageGraph1::OnInitDialog()
{
   CDialogEx::OnInitDialog();
   InitRxWindows();
   SetTimer(1, 3000, nullptr);
@@ -171,8 +180,6 @@
   m_pGraph->AddIndicateBox(INDICATE_ROBOT_ARM2, 243, 294, 48, RGB(22, 22, 22),
      RGB(255, 127, 39), EQ_BOX_OFFLINE);
   m_pGraph->SetBoxText(INDICATE_ROBOT_ARM2, "6", "Robot");
   // Vacuum bake
@@ -262,6 +269,11 @@
   if (m_hbrBkgnd != nullptr) {
      ::DeleteObject(m_hbrBkgnd);
   }
   if (m_pObserver != nullptr) {
      m_pObserver->unsubscribe();
      m_pObserver = NULL;
   }
}
@@ -411,7 +423,6 @@
   CString s; s.Format(_T("OnGraphItemClicked %d"), pGraphNmhdr->dwData);
   SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)m_pGraph->GetIndicateBoxData(pGraphNmhdr->dwData);
   if (pEquipment != nullptr) {
      //AfxMessageBox(pEquipment->getName().c_str());
      theApp.m_model.notifyPtr(RX_CODE_SELECT_EQUIPMENT, pEquipment);
   }
@@ -422,7 +433,29 @@
{
   if (1 == nIDEvent) {
      KillTimer(1);
      InitRxWindows();
      // 更新状态
      {
         SERVO::CEquipment* pEquipment = (SERVO::CEFEM*)theApp.m_model.m_master.getEquipment(EQ_ID_EFEM);
         ASSERT(pEquipment);
         DeviceStatus status = pEquipment->isAlive() ? DeviceStatus::ONLINE : DeviceStatus::OFFLINE;
         UpdateDeviceStatus(INDICATE_ROBOT_ARM1, status);
         UpdateDeviceStatus(INDICATE_ROBOT_ARM2, status);
      }
      {
         SERVO::CEquipment* pEquipment = theApp.m_model.m_master.getEquipment(EQ_ID_Bonder1);
         ASSERT(pEquipment);
         DeviceStatus status = pEquipment->isAlive() ? DeviceStatus::ONLINE : DeviceStatus::OFFLINE;
         UpdateDeviceStatus(INDICATE_BONDER1, status);
      }
      {
         SERVO::CEquipment* pEquipment = theApp.m_model.m_master.getEquipment(EQ_ID_Bonder2);
         ASSERT(pEquipment);
         DeviceStatus status = pEquipment->isAlive() ? DeviceStatus::ONLINE : DeviceStatus::OFFLINE;
         UpdateDeviceStatus(INDICATE_BONDER2, status);
      }
   }
   CDialogEx::OnTimer(nIDEvent);