41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
#ifndef C804Axis_H
|
|
#define C804Axis_H
|
|
|
|
#include "SINQController.h"
|
|
#include "SINQAxis.h"
|
|
|
|
// Forward declaration of the controller class to resolve the cyclic dependency
|
|
// between C804Controller.h and C804Axis.h. See https://en.cppreference.com/w/cpp/language/class.
|
|
class C804Controller;
|
|
|
|
class C804Axis : public SINQAxis
|
|
{
|
|
public:
|
|
/* These are the methods we override from the base class */
|
|
C804Axis(C804Controller *pController, int axisNo);
|
|
virtual ~C804Axis();
|
|
asynStatus move(double position, int relative, double min_velocity, double max_velocity, double acceleration);
|
|
asynStatus moveVelocity(double min_velocity, double max_velocity, double acceleration);
|
|
asynStatus stop(double acceleration);
|
|
asynStatus home(double minVelocity, double maxVelocity, double acceleration, int forwards);
|
|
asynStatus poll(bool *moving);
|
|
asynStatus poll_no_param_lib_update(bool *moving);
|
|
asynStatus enable(int on);
|
|
|
|
protected:
|
|
C804Controller *pC_;
|
|
|
|
void checkBounds(C804Controller *pController, int axisNo);
|
|
int last_position_steps_;
|
|
double motorRecResolution_;
|
|
time_t estimatedArrivalTime_;
|
|
time_t last_poll_;
|
|
int errorReported_;
|
|
bool enabled_;
|
|
|
|
private:
|
|
friend class C804Controller;
|
|
};
|
|
|
|
#endif
|