| | |
| | | #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 对话框 |
| | | |
| | |
| | | |
| | | |
| | | 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); |
| | | void StartRobotMoveToPosition(SERVO::ROBOT_POSITION position); |
| | | POINT LoadArmOffset(const std::string& armName); |
| | | void SaveArmOffset(const std::string& armName, const POINT& pt); |
| | | |
| | | private: |
| | | IObserver* m_pObserver; |
| | |
| | | COLORREF m_crBkgnd; |
| | | HBRUSH m_hbrBkgnd; |
| | | |
| | | // ===== 机器人动画相关成员变量 ===== |
| | | |
| | | // 动画目标位置(机器人目标位置枚举) |
| | | SERVO::ROBOT_POSITION m_targetRobotPosition; |
| | | |
| | | // 动画起始和目标 X 坐标(水平位移) |
| | | int m_nRobotMoveStartX; |
| | | int m_nRobotMoveEndX; |
| | | |
| | | // 动画步数控制(总步数 & 当前步) |
| | | int m_nRobotMoveSteps; // 动画总步数(控制动画速度) |
| | | int m_nRobotMoveCurrentStep; // 当前动画步数进度 |
| | | |
| | | // 动画起始和目标角度(旋转角度,单位:度) |
| | | float m_nRobotMoveStartAngle; // 起始角度 |
| | | float m_nRobotMoveEndAngle; // 目标角度(旋转角度) |
| | | |
| | | // ===== 机器人状态相关成员变量 ===== |
| | | |
| | | // 上一次已完成的位置(用于判断是否需要移动) |
| | | SERVO::ROBOT_POSITION m_lastRobotPosition; |
| | | |
| | | // 上一次已更新的机器人 ARM 占用状态(两个机械臂) |
| | | BOOL m_lastArmState[2]; |
| | | |
| | | // 两个机械臂相对于机器人中心的偏移(像素坐标) |
| | | POINT m_arm1Offset; |
| | | POINT m_arm2Offset; |
| | | |
| | | |
| | | // 对话框数据 |
| | | #ifdef AFX_DESIGN_TIME |
| | | enum { IDD = IDD_PAGE_GRAPH1 }; |