#include "motionPMC200board.hh"

CRT::CrtMotionPmc200Board


class description - source file - inheritance tree (.ps)

class CRT::CrtMotionPmc200Board : public CRT::CrtBoard

Inheritance Chart:
TObject
<-
TNamed
<-
CRT::CrtBoard
<-
CRT::CrtMotionPmc200Board
    private:
Int_t ConvertActuators(Int_t inActTyp, const Char_t** outActTyp, const Char_t** outMotionTyp) Int_t HandleIndicator(Int_t inIndicator, const Char_t* inRoutineName) const Int_t ReadTwoValues(const Char_t* inString, Double_t* outValue1, Double_t* outValue2) const public:
CRT::CrtMotionPmc200Board CrtMotionPmc200Board() CRT::CrtMotionPmc200Board CrtMotionPmc200Board(const Char_t* inName, Int_t inIdent, CRT::CrtGpibCrate* inCrate, Int_t inActuator1Type, Int_t inActuator2Type) CRT::CrtMotionPmc200Board CrtMotionPmc200Board(const CRT::CrtMotionPmc200Board&) void ~CrtMotionPmc200Board() virtual Int_t Assign(Int_t inChannel, Int_t inValue) const static TClass* Class() virtual Int_t Clear(Int_t inFlag, Int_t inChannel = 0) const virtual Int_t Disable(Int_t inFlag, Int_t inChannel = 0) const virtual Int_t Enable(Int_t inFlag, Int_t inChannel = 0) const Int_t GetAcceleration(Double_t* outValue1, Double_t* outValue2) const Int_t GetBacklash(Double_t* outValue1, Double_t* outValue2) const void GetERR() const void GetESR() const Int_t GetESRByte() const Int_t GetEVENTByte() const Int_t GetPosition(Double_t* outValue1, Double_t* outValue2) const Int_t GetVelocity(Double_t* outValue1, Double_t* outValue2) const Int_t GoHome() const virtual TClass* IsA() const Int_t MoveBy(Double_t inValue1, Double_t inValue2, Int_t inWaitPeriod) const CRT::CrtMotionPmc200Board& operator=(const CRT::CrtMotionPmc200Board&) virtual Int_t Query(Int_t inChannel, Int_t* outValue) const virtual Int_t Send(Int_t inCommand) const Int_t SetAcceleration(Double_t inValue1, Double_t inValue2) const Int_t SetBacklash(Double_t inValue1, Double_t inValue2) const Int_t SetPosition(Double_t inValue1, Double_t inValue2, Int_t inWaitPeriod) const Int_t SetVelocity(Double_t inValue1, Double_t inValue2) const Int_t SetZero() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual Int_t Test(Int_t inFlag, Int_t inChannel = 0) const Int_t WaitForFinished(Int_t inWaitPeriod) const

Data Members

    private:
Int_t fOk equals 1 if initialization succeeded Int_t fIdents identifiers for GPIB bus Int_t AUTO_ERROR_FIND Int_t MOT_SLEEP public:
static const CRT::CrtMotionPmc200Board::MotionPmc200Flags F_MOTIONPMC200_NONE static const CRT::CrtMotionPmc200Board::MotionPmc200Commands C_MOTIONPMC200_ClearModule static const CRT::CrtMotionPmc200Board::MotionPmc200Commands C_MOTIONPMC200_SetAllOuputs static const CRT::CrtMotionPmc200Board::MotionPmc200ActuatorTypes A_MOTIONPMC200_495 static const CRT::CrtMotionPmc200Board::MotionPmc200ActuatorTypes A_MOTIONPMC200_496 static const CRT::CrtMotionPmc200Board::MotionPmc200ActuatorTypes A_MOTIONPMC200_850 static const CRT::CrtMotionPmc200Board::MotionPmc200ActuatorTypes A_MOTIONPMC200_850B static const CRT::CrtMotionPmc200Board::MotionPmc200ActuatorTypes A_MOTIONPMC200_850B_LS static const CRT::CrtMotionPmc200Board::MotionPmc200ActuatorTypes A_MOTIONPMC200_850B_HS static const CRT::CrtMotionPmc200Board::MotionPmc200ActuatorTypes A_MOTIONPMC200_SPECIAL static const CRT::CrtMotionPmc200Board::MotionPmc200ActuatorTypes A_MOTIONPMC200_NONE

Class Description

 Cosmic Ray Telescope Data Aquisition Software

 generic driver for GPIB crate: NewPort PMC200 motion controller board

 This module features:
 - 2 channels for actuators

 If there's only an actuator to be controlled, set an actuator for the other axis -
 that will display 0 as position. Give setposition with 0 as other axis's position.



CrtMotionPmc200Board() : CrtBoard()
 default constructor

CrtMotionPmc200Board(const Char_t *inName, Int_t inBoardNumber, CrtGpibCrate *inCrate, Int_t inActuator1Type, Int_t inActuator2Type) : CrtBoard(inName, inBoardNumber, (CrtCrate *)inCrate)
 constructor
 inBoardNumber is the number of the Camac slot
 inCrate       is a pointer to the Camac crate object

~CrtMotionPmc200Board()
 destructor

Int_t ConvertActuators(Int_t inActTyp, const Char_t **outActTyp, const Char_t **outMotionTyp)

Int_t Send(Int_t inCommand) const

Int_t Enable(Int_t inFlag, Int_t inChannel) const
 enables board features
 Available features:
 none

Int_t Disable(Int_t inFlag, Int_t inChannel) const
 disables board features
 Available features:
 none

Int_t Clear(Int_t inFlag, Int_t inChannel) const
 clears board features
 Available features:
 none

Int_t Test(Int_t inFlag, Int_t inChannel) const
 tests board features
 Available features:
 none

Int_t Query(Int_t inChannel, Int_t *outValue) const

Int_t Assign(Int_t inChannel, Int_t inValue) const

Int_t MoveBy(Double_t inValue1, Double_t inValue2, Int_t inWaitPeriod) const
 move the actuator by the given distance
 if a value is less than -999999, the position of this actuator will not be changed

Int_t GetESRByte() const
 ESR query

Int_t GetEVENTByte() const
 event query

void GetESR() const
 gets the response to esr and event queries

void GetERR() const
 gets the ERR

Int_t SetPosition(Double_t inValue1, Double_t inValue2, Int_t inWaitPeriod) const
 sets the position of the actuator.
 If a value is less than -999999, the position of this actuator
 will not be changed.
 inWaitPeriod is the permissible no. of loops of 5 milliseconds
 to wait for completion of a command - need to observe the relevant
 step, velocity & accln.

Int_t GetPosition(Double_t *outValue1, Double_t *outValue2) const
 gets the position of the axis
 values are only valid, if 1 is returned

Int_t SetVelocity(Double_t inValue1, Double_t inValue2) const
 sets the acceleration of the axis
 if a value is negative, this axis acceleration will not be changed

Int_t GetVelocity(Double_t *outValue1, Double_t *outValue2) const
 gets the acceleration of the axis
 values are only valid, if 1 is returned

Int_t SetAcceleration(Double_t inValue1, Double_t inValue2) const
 sets the acceleration of the axis
 if a value is negative, this axis acceleration will not be changed

Int_t GetAcceleration(Double_t *outValue1, Double_t *outValue2) const
 gets the acceleration of the axis
 values are only valid, if 1 is returned

Int_t SetBacklash(Double_t inValue1, Double_t inValue2) const
 sets the backlash of the actuator
 if a value is negative, this backlash will not be changed

Int_t GetBacklash(Double_t *outValue1, Double_t *outValue2) const
 gets the backlash of the actuators
 values are only valid, if 1 is returned

Int_t SetZero() const
 sets the current position to the zero position

Int_t GoHome() const
 moves the actuators to the home(zero) position

Int_t WaitForFinished(Int_t inWaitPeriod) const
 if you call this routine before any other command, the other command
 will be executed only when the previous commands are done.
 Please note that the command itself does not wait !
 To ensure that e.g. a move is done, you have to issue the SetPosition
 first, then call the WaitForFinished routine and then ask for the
 GetPosition

Int_t HandleIndicator(Int_t inIndicator, const Char_t *inRoutineName) const

Int_t ReadTwoValues(const Char_t *inString, Double_t *outValue1, Double_t *outValue2) const



Inline Functions


                           TClass* Class()
                           TClass* IsA() const
                              void ShowMembers(TMemberInspector& insp, char* parent)
                              void Streamer(TBuffer& b)
                              void StreamerNVirtual(TBuffer& b)
         CRT::CrtMotionPmc200Board CrtMotionPmc200Board(const CRT::CrtMotionPmc200Board&)
        CRT::CrtMotionPmc200Board& operator=(const CRT::CrtMotionPmc200Board&)


Author: Thomas Hadig (Group EB SLAC Stanford CA USA)
Last update: $Date: 2003/09/10 23:56:43 $
Copyright Thomas Hadig, hadig@slac.stanford.edu


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.