Initial commit of SINQ EPICS Application

This commit is contained in:
2014-11-03 11:37:50 +01:00
commit fd4b41d131
36 changed files with 15416 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
/********************************************
* pmacAxis.cpp
*
* PMAC Asyn motor based on the
* asynMotorAxis class.
*
* Matthew Pearson
* 23 May 2012
*
********************************************/
#ifndef pmacAxis_H
#define pmacAxis_H
#include "asynMotorController.h"
#include "asynMotorAxis.h"
class pmacController;
class pmacAxis : public asynMotorAxis
{
public:
/* These are the methods we override from the base class */
pmacAxis(pmacController *pController, int axisNo);
virtual ~pmacAxis();
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 home(double min_velocity, double max_velocity, double acceleration, int forwards);
asynStatus stop(double acceleration);
asynStatus poll(bool *moving);
asynStatus setPosition(double position);
private:
pmacController *pC_;
asynStatus getAxisStatus(bool *moving);
asynStatus getAxisInitialStatus(void);
double setpointPosition_;
double encoderPosition_;
double currentVelocity_;
double velocity_;
double accel_;
double highLimit_;
double lowLimit_;
double scale_;
double previous_position_;
int previous_direction_;
int encoder_axis_;
int axisErrorCount;
time_t startTime;
time_t status6Time;
int starting;
int homing;
friend class pmacController;
};
#endif /* pmacAxis_H */