/* * PIGCScontroller.h * * Created on: 15.12.2010 * Author: sra */ /* Version: $Revision$ Modified By: $Author$ Last Modified: $Date$ HeadURL: $URL$ */ #ifndef PIGCSMOTORCONTROLLER_H_ #define PIGCSMOTORCONTROLLER_H_ #include "PIGCSController.h" #include /** * class representing PI GCS2 motor controllers. * * "motor" does not strictly restrict the driving principle to DC stages or * stepper but includes other controller families (e.g. for piezo motors) also. */ class PIGCSMotorController : public PIGCSController { public: PIGCSMotorController(asynUser* pCom, const char* szIDN) : PIGCSController(pCom, szIDN) { } ~PIGCSMotorController() {} virtual asynStatus initAxis(PIasynAxis* pAxis); virtual asynStatus setAccelerationCts( PIasynAxis* pAxis, double acceleration); virtual asynStatus setAcceleration( PIasynAxis* pAxis, double acceleration); virtual asynStatus getMaxAcceleration( PIasynAxis* pAxis ); virtual asynStatus referenceVelCts( PIasynAxis* pAxis, double velocity, int forwards); virtual asynStatus getResolution(PIasynAxis* pAxis, double& resolution ); virtual asynStatus getStatus(PIasynAxis* pAxis, int& homing, int& moving, int& negLimit, int& posLimit, int& servoControl); protected: enum { PI_PARA_MOT_CURR_ACCEL = 0x000000BUL, PI_PARA_MOT_CURR_DECEL = 0x000000CUL, PI_PARA_MOT_CPU_Z = 0x000000EUL, PI_PARA_MOT_CPU_N = 0x000000FUL, PI_PARA_MOT_HAT_REF = 0x0000014UL, PI_PARA_MOT_MAX_ACCEL = 0x000004AUL, PI_PARA_MOT_MAX_DECEL = 0x000004BUL }; private: }; #endif /* PIGCSMOTORCONTROLLER_H_ */