LAPTOP-SNT8I5JK\Boounion
2025-07-28 bfe14e41fa5b07771d78af4511ba18d706bc23cc
SourceCode/Bond/Servo/CPageGraph1.h
@@ -1,12 +1,19 @@
#pragma once
#include "ServoGraph.h"
#include "ServoCommo.h"
enum DeviceStatus {
   ONLINE,       // 在线
   OFFLINE,      // 离线
   OCCUPIED      // 有片(占用)
};
struct RobotPositionMapping {
   SERVO::ROBOT_POSITION position;
   float percentage;
   float angle;
   int arm; // 0 表示 ARM1,1 表示 ARM2
};
// CPageGraph1 对话框
@@ -20,10 +27,15 @@
public:
   std::string GetConfigPath();
   void InitRxWindows();
   void UpdateDeviceStatus(int id, DeviceStatus status);
   void UpdateRobotPosition(float percentage);
   void RotateRobot(float angleInDegrees);
   void BindEquipmentToGraph();
   void MoveRobotToPosition(SERVO::ROBOT_POSITION position);
   POINT LoadArmOffset(const std::string& armName);
   void SaveArmOffset(const std::string& armName, const POINT& pt);
private:
   IObserver* m_pObserver;
@@ -31,6 +43,10 @@
   BOOL m_bIsRobotMoving;
   COLORREF m_crBkgnd;
   HBRUSH m_hbrBkgnd;
   SERVO::ROBOT_POSITION m_lastRobotPosition;
   BOOL m_lastArmState[2];
   POINT m_arm1Offset; // ARM1 从中心向左47, 向上33
   POINT m_arm2Offset; // ARM2 从中心向右10, 向上33
// 对话框数据
#ifdef AFX_DESIGN_TIME