52 lines
1 KiB
C++
52 lines
1 KiB
C++
/****************************************************************************************************
|
|
|
|
RepRapFirmware - Move
|
|
|
|
This is all the code to deal with movement and kinematics.
|
|
|
|
-----------------------------------------------------------------------------------------------------
|
|
|
|
Version 0.1
|
|
|
|
18 November 2012
|
|
|
|
Adrian Bowyer
|
|
RepRap Professional Ltd
|
|
http://reprappro.com
|
|
|
|
Licence: GPL
|
|
|
|
****************************************************************************************************/
|
|
|
|
#ifndef MOVE_H
|
|
#define MOVE_H
|
|
|
|
#define BUFFER_LENGTH 10
|
|
|
|
class Move
|
|
{
|
|
public:
|
|
|
|
Move(Platform* p, GCodes* g);
|
|
void Init();
|
|
void Spin();
|
|
void Exit();
|
|
void Qmove();
|
|
void GetCurrentState(float m[]);
|
|
|
|
private:
|
|
|
|
Platform* platform;
|
|
GCodes* gCodes;
|
|
unsigned long lastTime;
|
|
boolean active;
|
|
float currentFeedrate;
|
|
float currentPosition[AXES]; // Note - drives above AXES are always relative moves
|
|
float nextMove[DRIVES + 1]; // Extra is for feedrate
|
|
char scratchString[STRING_LENGTH];
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|