itom 2.0.0
ito::ActuatorThreadCtrl Class Reference
Inheritance diagram for ito::ActuatorThreadCtrl:
ito::PluginThreadCtrl

List of all members.

Public Member Functions

 ActuatorThreadCtrl (const ito::ParamBase &pluginParameter, ito::RetVal *retval=NULL)
 ActuatorThreadCtrl (ito::AddInActuator *plugin, ito::RetVal *retval=NULL)
 ActuatorThreadCtrl (const ActuatorThreadCtrl &other)
ito::RetVal setPosRel (const QVector< int > &axes, const QVector< double > &relPositions, int timeOutMS=PLUGINWAIT)
ito::RetVal setPosAbs (const QVector< int > &axes, const QVector< double > &absPositions, int timeOutMS=PLUGINWAIT)
ito::RetVal setPosRel (int axis, double relPosition, int timeOutMS=PLUGINWAIT)
ito::RetVal setPosAbs (int axis, double absPosition, int timeOutMS=PLUGINWAIT)
ito::RetVal getPos (QVector< int > axes, QVector< double > &positions, int timeOutMS=PLUGINWAIT)
ito::RetVal getPos (int axis, double &position, int timeOutMS=PLUGINWAIT)
ito::RetVal checkAxis (int axisNum)

Protected Attributes

int m_numAxes

Constructor & Destructor Documentation

ito::ActuatorThreadCtrl::ActuatorThreadCtrl ( const ito::ParamBase pluginParameter,
ito::RetVal retval = NULL 
)

< Constructor

ito::ActuatorThreadCtrl::ActuatorThreadCtrl ( ito::AddInActuator plugin,
ito::RetVal retval = NULL 
)

< Constructor

ito::ActuatorThreadCtrl::ActuatorThreadCtrl ( const ActuatorThreadCtrl other)

< Constructor


Member Function Documentation

ito::RetVal ito::ActuatorThreadCtrl::checkAxis ( int  axisNum)

< Get the position of a single axis

Check if a specific axis is within the axisSpace of this actuator

Parameters:
[in]axisNumAxisnumber
Returns:
retOk or retError
See also:
threadActuator
ito::RetVal ito::ActuatorThreadCtrl::getPos ( int  axis,
double &  position,
int  timeOutMS = PLUGINWAIT 
)

< Get the position of more than one axis

Get the position of a single axis specified by axis.

Parameters:
[in]axisNumber of the axis
[out]posposition of the axis
[in]timeOutMSTimeOut for the semaphore-wait
Returns:
retOk or retError
See also:
threadActuator
ito::RetVal ito::ActuatorThreadCtrl::getPos ( QVector< int >  axes,
QVector< double > &  positions,
int  timeOutMS = PLUGINWAIT 
)

< Move a single axi absolute

Get the position of a number of axis specified by axisVec.

Parameters:
[in]axisVecNumber of the axis
[out]posVecVecotr with position of the axis
[in]timeOutMSTimeOut for the semaphore-wait
Returns:
retOk or retError
See also:
threadActuator
ito::RetVal ito::ActuatorThreadCtrl::setPosAbs ( int  axis,
double  absPosition,
int  timeOutMS = PLUGINWAIT 
)

< Move a single axis relativ to current position

Move a single axis specified by axis to the position pos. After the invoke-command this thread must wait / synchronize with the actuator-thread. Therefore the semaphore->wait is called via the function threadActuator::waitForSemaphore(timeOutMS) To enable the algorithm to process data during movement, the waitForSemaphore(timeOutMS) can be skipped by callWait = false. The threadActuator::waitForSemaphore(timeOutMS)-function must than be called by the algorithms afterwards / before the next command is send to the actuator.

Parameters:
[in]axisNumber of the axis
[in]posNew position of the axis
[in]timeOutMSTimeOut for the semaphore-wait, if (0) the waitForSemaphore is not called and must be called seperate by the algorithm
Returns:
retOk or retError
See also:
threadActuator
ito::RetVal ito::ActuatorThreadCtrl::setPosAbs ( const QVector< int > &  axes,
const QVector< double > &  absPositions,
int  timeOutMS = PLUGINWAIT 
)

< Move more than on axis relativ to current position

Move the axis in axisVec to the positions given in posVec. The axisVec and posVec must be same size. After the invoke-command this thread must wait / synchronize with the actuator-thread. Therefore the semaphore->wait is called via the function threadActuator::waitForSemaphore(timeOutMS) To enable the algorithm to process data during movement, the waitForSemaphore(timeOutMS) can be skipped by callWait = false. The threadActuator::waitForSemaphore(timeOutMS)-function must than be called by the algorithms afterwards / before the next command is send to the actuator.

Parameters:
[in]axisVecVector with the axis to move
[in]posVecVector with the new absolute positions
[in]timeOutMSTimeOut for the semaphore-wait, if (0) the waitForSemaphore is not called and must be called seperate by the algorithm
Returns:
retOk or retError
See also:
threadActuator
ito::RetVal ito::ActuatorThreadCtrl::setPosRel ( int  axis,
double  relPosition,
int  timeOutMS = PLUGINWAIT 
)

< Move more than on axis absolute

Move a single axis specified by axis with a distance defined in stepSize relative to current position. After the invoke-command this thread must wait / synchronize with the actuator-thread. Therefore the semaphore->wait is called via the function threadActuator::waitForSemaphore(timeOutMS) To enable the algorithm to process data during movement, the waitForSemaphore(timeOutMS) can be skipped by callWait = false. The threadActuator::waitForSemaphore(timeOutMS)-function must than be called by the algorithms afterwards / before the next command is send to the actuator.

Parameters:
[in]axisNumber of the axis
[in]stepSizeDistances from current position
[in]timeOutMSTimeOut for the semaphore-wait, if (0) the waitForSemaphore is not called and must be called seperate by the algorithm
Returns:
retOk or retError
See also:
threadActuator
ito::RetVal ito::ActuatorThreadCtrl::setPosRel ( const QVector< int > &  axes,
const QVector< double > &  relPositions,
int  timeOutMS = PLUGINWAIT 
)

< Destructor

Move the axis in axisVec with a distance defined in stepSizeVec relative to current position. The axisVec and stepSizeVec must be same size. After the invoke-command this thread must wait / synchronize with the actuator-thread. Therefore the semaphore->wait is called via the function threadActuator::waitForSemaphore(timeOutMS) To enable the algorithm to process data during movement, the waitForSemaphore(timeOutMS) can be skipped by callWait = false. The threadActuator::waitForSemaphore(timeOutMS)-function must than be called by the algorithms afterwards / before the next command is send to the actuator.

Parameters:
[in]axisVecVector with the axis to move
[in]stepSizeVecVector with the distances for every axis
[in]timeOutMSTimeOut for the semaphore-wait, if (0) the waitForSemaphore is not called and must be called seperate by the algorithm
Returns:
retOk or retError
See also:
threadActuator

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends