#ifndef ROBOT_H #define ROBOT_H #include #include #include using namespace cv; class GCode { public: GCode(QByteArray cmd); GCode & arg(char param, int v); GCode & arg(char param, double v); operator QByteArray(); protected: QByteArray cmd; QList args; }; class Robot { public: Robot(); void prolog(); void epilog(); void home(); void calibrate(); void stop(); void moveZ(double z); void moveXY(Point2f pos); void move(Point3f pos); void moveDelta(Point3f delta); void processPath(PathResult *path); void save(); Point2f map(Point2f); Point2f unmap(Point2f); /* Getter */ QByteArray getGCode(); /* Setting */ void setCalibPoint(); protected: Point2f calibPoints[4]; QQueue queue; }; #endif // ROBOT_H