buggy, please don't use it in production. The commit is only done to save the progress made so far. The changes to the C804 controller and axis are caused by applying clang-format.
41 lines
1.3 KiB
C++
41 lines
1.3 KiB
C++
#ifndef pmacV3AXIS_H
|
|
#define pmacV3AXIS_H
|
|
#include "asynMotorAxis.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 newPmacV3Controller;
|
|
|
|
class newPmacV3Axis : public asynMotorAxis {
|
|
public:
|
|
/* These are the methods we override from the base class */
|
|
newPmacV3Axis(newPmacV3Controller *pController, int axisNo);
|
|
virtual ~newPmacV3Axis();
|
|
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:
|
|
newPmacV3Controller *pC_;
|
|
|
|
void checkBounds(newPmacV3Controller *pController, int axisNo);
|
|
asynStatus readConfig();
|
|
bool initial_poll_;
|
|
time_t time_at_init_poll_;
|
|
time_t timeout_param_lib_init_;
|
|
|
|
private:
|
|
friend class newPmacV3Controller;
|
|
};
|
|
|
|
#endif
|