TwiceAsNice
2019-02-18
|
This class is the implementation of the generic N interface. More...
#include <NServiceWorkerCore.h>
Classes | |
struct | DeviceAsyncImpl |
This is the implementation of the call back object to update the completion status. More... | |
struct | DeviceCmdAsyncImpl |
This struct is the implementation of the asynchronous command status method. More... | |
Public Member Functions | |
MoccaNServiceWorkerCore (const Nice::JointPtr &_config, const MoccaNDevicePtr &_device) | |
Constructor. More... | |
virtual | ~MoccaNServiceWorkerCore () |
Destructor. More... | |
virtual void | init () |
This method initiate and open the device. More... | |
virtual void | deinit () |
This method deinit and close the device. More... | |
virtual void | activate () |
This method activate the device. More... | |
virtual void | deactivate () |
This method deactivate the device. More... | |
virtual void | terminate () |
This method shut down the device. More... | |
virtual void | errorOffline () |
virtual void | errorStandby () |
virtual void | errorOnline () |
virtual void | errorWorking () |
virtual void | idleOffline () |
virtual void | idleOnline () |
virtual void | send (std::string _cardNo, std::string _commandID, std::string _moduleNo, std::string _selectID, std::string _parameter, std::string _numberOfLines) |
This method send the command string to the electronic. More... | |
virtual std::string | receive () |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i tMore... | |
virtual std::string | receiveDataRaw (std::string _cardNo, std::string _commandID, std::string _moduleNo, std::string _numberOfLines) |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i tMore... | |
virtual bool | isReachable () |
virtual void | dumpStatusInformation () |
virtual void | stop () |
This method stop all moving motors smoothly. More... | |
virtual void | abort () |
This method abort all moving motors immediately. More... | |
virtual void | moveAbsolute (IfSvcType _pos, std::string _unit) |
All motors of a device move to the absolute position. More... | |
virtual void | moveRelative (IfSvcType _pos, std::string _unit) |
All motors of a device move to the relative position. More... | |
virtual void | moveToHome () |
All motors of the device are looking for the reference positions and reset the step counter to zero. More... | |
virtual void | moveToHomeSingle (int _motor) |
virtual void | moveToLimit (IfSvcType _limit) |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches. More... | |
virtual void | moveToNamedPosition (int _namedPosition) |
This method allows to move the motor to a named position. More... | |
virtual bool | isAtHome () |
This method updates the property VAR.ATHOME which indicates whether the motor is at the home position. More... | |
virtual bool | isAtLimit () |
This method updates the property VAR.LIMIT which indicates whether the motor is at the limit position. More... | |
virtual bool | isMoving () |
This method updates the property VAR.MOVING which indicates whether the motor is moving. More... | |
virtual SvcType | getPosition () |
Returns the current positions of all motors. More... | |
virtual SvcType | getPosition (std::string _unit) |
virtual SvcType | getDeviceEncoderPosition (std::string _unit) |
Returns the current device internal position encoder of all motors. More... | |
virtual SvcType | getAbsoluteEncoderPosition () |
Returns the current absolute encoder positions of all motors. More... | |
virtual SvcType | getIncrementalEncoderPosition () |
Returns the current incremental encoder positions of all motors. More... | |
virtual void | setPosition (IfSvcType _position, std::string _unit) |
Change the absolute position of all motors. More... | |
virtual SvcType | getNamedPosition (int _reference) |
This method returns the value of the named position. More... | |
virtual std::string | checkForNamedPosition () |
This method checks whether the current position is a named position. More... | |
virtual DevType | getVelocity () |
This method read the velocity of the device. More... | |
virtual void | setVelocity (IfDevType _velocity) |
This method set the velocity in the device. More... | |
virtual DevType | getCurrentTime () |
virtual Nice::SeqBitSet | getPositionSwitchStatus () |
: This method returns the current position switch status. More... | |
virtual void | startProfile (const Nice::Date &, const Nice::NPoint &, Nice::Time, Nice::U32, Nice::U32) |
This method prepare the motor controller with a new external profile. More... | |
virtual void | changeProfile (const Nice::Date &, const Nice::NPoint &) |
MoccaNServiceWorkerCore (const Nice::JointPtr &_config, const MoccaNDevicePtr &_device) | |
Constructor. More... | |
virtual | ~MoccaNServiceWorkerCore () |
Destructor. More... | |
virtual void | init () |
This method initiate and open the device. More... | |
virtual void | deinit () |
This method deinit and close the device. More... | |
virtual void | activate () |
This method activate the device. More... | |
virtual void | deactivate () |
This method deactivate the device. More... | |
virtual void | terminate () |
This method shut down the device. More... | |
virtual void | errorOffline () |
virtual void | errorStandby () |
virtual void | errorOnline () |
virtual void | errorWorking () |
virtual void | idleOffline () |
virtual void | idleOnline () |
virtual void | send (std::string _cardNo, std::string _commandID, std::string _moduleNo, std::string _selectID, std::string _parameter, std::string _numberOfLines) |
This method send the command string to the electronic. More... | |
virtual std::string | receive () |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i tMore... | |
virtual std::string | receiveDataRaw (std::string _cardNo, std::string _commandID, std::string _moduleNo, std::string _numberOfLines) |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i tMore... | |
virtual bool | isReachable () |
virtual void | dumpStatusInformation () |
virtual void | stop () |
This method stop all moving motors smoothly. More... | |
virtual void | abort () |
This method abort all moving motors immediately. More... | |
virtual void | moveAbsolute (IfSvcType _pos, std::string _unit) |
All motors of a device move to the absolute position. More... | |
virtual void | moveRelative (IfSvcType _pos, std::string _unit) |
All motors of a device move to the relative position. More... | |
virtual void | moveToHome () |
All motors of the device are looking for the reference positions and reset the step counter to zero. More... | |
virtual void | moveToHomeSingle (int _motor) |
virtual void | moveToLimit (IfSvcType _limit) |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches. More... | |
virtual void | moveToNamedPosition (int _namedPosition) |
This method allows to move the motor to a named position. More... | |
virtual bool | isAtHome () |
This method updates the property VAR.ATHOME which indicates whether the motor is at the home position. More... | |
virtual bool | isAtLimit () |
This method updates the property VAR.LIMIT which indicates whether the motor is at the limit position. More... | |
virtual bool | isMoving () |
This method updates the property VAR.MOVING which indicates whether the motor is moving. More... | |
virtual SvcType | getPosition () |
Returns the current positions of all motors. More... | |
virtual SvcType | getPosition (std::string _unit) |
virtual SvcType | getDeviceEncoderPosition (std::string _unit) |
Returns the current device internal position encoder of all motors. More... | |
virtual SvcType | getAbsoluteEncoderPosition () |
Returns the current absolute encoder positions of all motors. More... | |
virtual SvcType | getIncrementalEncoderPosition () |
Returns the current incremental encoder positions of all motors. More... | |
virtual void | setPosition (IfSvcType _position, std::string _unit) |
Change the absolute position of all motors. More... | |
virtual SvcType | getNamedPosition (int _reference) |
This method returns the value of the named position. More... | |
virtual std::string | checkForNamedPosition () |
This method checks whether the current position is a named position. More... | |
virtual DevType | getVelocity () |
This method read the velocity of the device. More... | |
virtual void | setVelocity (IfDevType _velocity) |
This method set the velocity in the device. More... | |
virtual DevType | getCurrentTime () |
virtual Nice::SeqBitSet | getPositionSwitchStatus () |
: This method returns the current position switch status. More... | |
virtual void | startProfile (const Nice::Date &, const Nice::NPoint &, Nice::Time, Nice::U32, Nice::U32) |
This method prepare the motor controller with a new external profile. More... | |
virtual void | changeProfile (const Nice::Date &, const Nice::NPoint &) |
MoccaNServiceWorkerCore (const Nice::JointPtr &_config, const MoccaNDevicePtr &_device) | |
Constructor. More... | |
virtual | ~MoccaNServiceWorkerCore () |
Destructor. More... | |
virtual void | init () |
This method initiate and open the device. More... | |
virtual void | deinit () |
This method deinit and close the device. More... | |
virtual void | activate () |
This method activate the device. More... | |
virtual void | deactivate () |
This method deactivate the device. More... | |
virtual void | terminate () |
This method shut down the device. More... | |
virtual void | errorOffline () |
virtual void | errorStandby () |
virtual void | errorOnline () |
virtual void | errorWorking () |
virtual void | idleOffline () |
virtual void | idleOnline () |
virtual void | send (std::string _cardNo, std::string _commandID, std::string _moduleNo, std::string _selectID, std::string _parameter, std::string _numberOfLines) |
This method send the command string to the electronic. More... | |
virtual std::string | receive () |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i tMore... | |
virtual std::string | receiveDataRaw (std::string _cardNo, std::string _commandID, std::string _moduleNo, std::string _numberOfLines) |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i tMore... | |
virtual bool | isReachable () |
virtual void | dumpStatusInformation () |
virtual void | stop () |
This method stop all moving motors smoothly. More... | |
virtual void | abort () |
This method abort all moving motors immediately. More... | |
virtual void | moveAbsolute (IfSvcType _pos, std::string _unit) |
All motors of a device move to the absolute position. More... | |
virtual void | moveRelative (IfSvcType _pos, std::string _unit) |
All motors of a device move to the relative position. More... | |
virtual void | moveToHome () |
All motors of the device are looking for the reference positions and reset the step counter to zero. More... | |
virtual void | moveToHomeSingle (int _motor) |
virtual void | moveToLimit (IfSvcType _limit) |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches. More... | |
virtual void | moveToNamedPosition (int _namedPosition) |
This method allows to move the motor to a named position. More... | |
virtual bool | isAtHome () |
This method updates the property VAR.ATHOME which indicates whether the motor is at the home position. More... | |
virtual bool | isAtLimit () |
This method updates the property VAR.LIMIT which indicates whether the motor is at the limit position. More... | |
virtual bool | isMoving () |
This method updates the property VAR.MOVING which indicates whether the motor is moving. More... | |
virtual SvcType | getPosition () |
Returns the current positions of all motors. More... | |
virtual SvcType | getPosition (std::string _unit) |
virtual SvcType | getDeviceEncoderPosition (std::string _unit) |
Returns the current device internal position encoder of all motors. More... | |
virtual SvcType | getAbsoluteEncoderPosition () |
Returns the current absolute encoder positions of all motors. More... | |
virtual SvcType | getIncrementalEncoderPosition () |
Returns the current incremental encoder positions of all motors. More... | |
virtual void | setPosition (IfSvcType _position, std::string _unit) |
Change the absolute position of all motors. More... | |
virtual SvcType | getNamedPosition (int _reference) |
This method returns the value of the named position. More... | |
virtual std::string | checkForNamedPosition () |
This method checks whether the current position is a named position. More... | |
virtual DevType | getVelocity () |
This method read the velocity of the device. More... | |
virtual void | setVelocity (IfDevType _velocity) |
This method set the velocity in the device. More... | |
virtual DevType | getCurrentTime () |
virtual Nice::SeqBitSet | getPositionSwitchStatus () |
: This method returns the current position switch status. More... | |
virtual void | startProfile (const Nice::Date &, const Nice::NPoint &, Nice::Time, Nice::U32, Nice::U32) |
This method prepare the motor controller with a new external profile. More... | |
virtual void | changeProfile (const Nice::Date &, const Nice::NPoint &) |
Protected Member Functions | |
virtual void | status () |
The method calls different commands in order to update the status. More... | |
virtual DeviceAsyncImpl & | deviceAsyncImpl () |
virtual DeviceAsyncImpl & | deviceCmdAsyncImpl () |
virtual SvcType | coordinateTransformation (DevType _value, std::string _unit)=0 |
This method converts the given value from steps into _unit. More... | |
virtual DevType | coordinateTransformationInverse (SvcType _value, std::string _unit)=0 |
This method converts the given value from _unit into steps. More... | |
virtual DevType | coordinateTranslateInverse (SvcType _value, std::string _unit)=0 |
This method converts the given value from _unit into steps. More... | |
virtual void | status () |
The method calls different commands in order to update the status. More... | |
virtual DeviceAsyncImpl & | deviceAsyncImpl () |
virtual DeviceAsyncImpl & | deviceCmdAsyncImpl () |
virtual SvcType | coordinateTransformation (DevType _value, std::string _unit)=0 |
This method converts the given value from steps into _unit. More... | |
virtual DevType | coordinateTransformationInverse (SvcType _value, std::string _unit)=0 |
This method converts the given value from _unit into steps. More... | |
virtual DevType | coordinateTranslateInverse (SvcType _value, std::string _unit)=0 |
This method converts the given value from _unit into steps. More... | |
virtual void | status () |
The method calls different commands in order to update the status. More... | |
virtual DeviceAsyncImpl & | deviceAsyncImpl () |
virtual DeviceAsyncImpl & | deviceCmdAsyncImpl () |
virtual SvcType | coordinateTransformation (DevType _value, std::string _unit)=0 |
This method converts the given value from steps into _unit. More... | |
virtual DevType | coordinateTransformationInverse (SvcType _value, std::string _unit)=0 |
This method converts the given value from _unit into steps. More... | |
virtual DevType | coordinateTranslateInverse (SvcType _value, std::string _unit)=0 |
This method converts the given value from _unit into steps. More... | |
template<> | |
Nice::Point | getDefaultTransformation () |
Compose the unit transformation. More... | |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
Compose the unit transformation. More... | |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::WMatrix | getDefaultTransformation () |
template<> | |
Nice::WMatrix | getDefaultTransformation () |
template<> | |
Nice::W3Matrix | getDefaultTransformation () |
template<> | |
Nice::W3Matrix | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::W3Matrix | getDefaultTransformation () |
template<> | |
Nice::W3Matrix | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::Point | getDefaultTransformation () |
template<> | |
Nice::WMatrix | getDefaultTransformation () |
template<> | |
Nice::WMatrix | getDefaultTransformation () |
Static Protected Member Functions | |
static TransType | getDefaultTransformation () |
static TransType | getDefaultTransformation () |
static TransType | getDefaultTransformation () |
Protected Attributes | |
MoccaNDevicePtr | m_device |
the object to call the xy device More... | |
DeviceAsyncImpl | m_deviceAsync |
the master object ???? More... | |
DeviceCmdAsyncImpl | m_deviceCmdAsync |
the call back object for the devices More... | |
SeqString | m_namedPosAbsNameString |
std::map< std::string, int > | m_unitNamePrecMap |
std::string | m_basicUnit |
int | m_numberOfUnits |
bool | m_stopProfile |
Nice::Time | m_delay |
Nice::Time | m_delayDefault |
Private Types | |
typedef std::vector< SvcType > | SeqSvcType |
typedef std::vector< std::string > | SeqString |
typedef ::boost::mpl::if_c< ::boost::is_arithmetic< DevType >::value, DevType, const DevType & >::type | IfDevType |
typedef ::boost::mpl::if_c< ::boost::is_arithmetic< SvcType >::value, SvcType, const SvcType & >::type | IfSvcType |
typedef ::boost::mpl::if_c< ::boost::is_arithmetic< TransType >::value, TransType, const TransType & >::type | IfTransType |
typedef boost::mpl::if_c< ::boost::is_arithmetic< SvcType >::value, Nice::Date, Nice::SeqDate >::type | IfDateType |
typedef boost::mpl::if_c< ::boost::is_arithmetic< SvcType >::value, Nice::NPoint, Nice::SeqNPoint >::type | IfPosSeqType |
typedef std::vector< SvcType > | SeqSvcType |
typedef std::vector< std::string > | SeqString |
typedef ::boost::mpl::if_c< ::boost::is_arithmetic< DevType >::value, DevType, const DevType & >::type | IfDevType |
typedef ::boost::mpl::if_c< ::boost::is_arithmetic< SvcType >::value, SvcType, const SvcType & >::type | IfSvcType |
typedef ::boost::mpl::if_c< ::boost::is_arithmetic< TransType >::value, TransType, const TransType & >::type | IfTransType |
typedef boost::mpl::if_c< ::boost::is_arithmetic< SvcType >::value, Nice::Date, Nice::SeqDate >::type | IfDateType |
typedef boost::mpl::if_c< ::boost::is_arithmetic< SvcType >::value, Nice::NPoint, Nice::SeqNPoint >::type | IfPosSeqType |
typedef std::vector< SvcType > | SeqSvcType |
typedef std::vector< std::string > | SeqString |
typedef ::boost::mpl::if_c< ::boost::is_arithmetic< DevType >::value, DevType, const DevType & >::type | IfDevType |
typedef ::boost::mpl::if_c< ::boost::is_arithmetic< SvcType >::value, SvcType, const SvcType & >::type | IfSvcType |
typedef ::boost::mpl::if_c< ::boost::is_arithmetic< TransType >::value, TransType, const TransType & >::type | IfTransType |
typedef boost::mpl::if_c< ::boost::is_arithmetic< SvcType >::value, Nice::Date, Nice::SeqDate >::type | IfDateType |
typedef boost::mpl::if_c< ::boost::is_arithmetic< SvcType >::value, Nice::NPoint, Nice::SeqNPoint >::type | IfPosSeqType |
This class is the implementation of the generic N interface.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Basda::MoccaNServiceWorkerCore< DevType, SvcType, TransType, SkelType >::MoccaNServiceWorkerCore | ( | const Nice::JointPtr & | _config, |
const MoccaNDevicePtr & | _device | ||
) |
Constructor.
|
virtual |
Destructor.
Basda::MoccaNServiceWorkerCore< DevType, SvcType, TransType, SkelType >::MoccaNServiceWorkerCore | ( | const Nice::JointPtr & | _config, |
const MoccaNDevicePtr & | _device | ||
) |
Constructor.
|
virtual |
Destructor.
Basda::MoccaNServiceWorkerCore< DevType, SvcType, TransType, SkelType >::MoccaNServiceWorkerCore | ( | const Nice::JointPtr & | _config, |
const MoccaNDevicePtr & | _device | ||
) |
Constructor.
|
virtual |
Destructor.
|
virtual |
This method abort all moving motors immediately.
|
virtual |
This method abort all moving motors immediately.
|
virtual |
This method abort all moving motors immediately.
|
virtual |
This method activate the device.
|
virtual |
This method activate the device.
|
virtual |
This method activate the device.
|
inlinevirtual |
Reimplemented in Basda::MoccaTrajServiceWorker, and Basda::MoccaTrajServiceWorker.
|
inlinevirtual |
Reimplemented in Basda::MoccaTrajServiceWorker, and Basda::MoccaTrajServiceWorker.
|
inlinevirtual |
Reimplemented in Basda::MoccaTrajServiceWorker, and Basda::MoccaTrajServiceWorker.
|
virtual |
This method checks whether the current position is a named position.
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
This method checks whether the current position is a named position.
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
This method checks whether the current position is a named position.
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
protectedpure virtual |
This method converts the given value from steps into _unit.
The given value (in steps) will be converted in _unit based on the specified coordinate transformation.
_value | the position value (in steps) which has to be converted |
_unit | the target unit |
Implemented in Laos::DrotServiceWorker, Laos::DrotServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaXServiceWorker, and Basda::MoccaXServiceWorker.
|
protectedpure virtual |
This method converts the given value from steps into _unit.
The given value (in steps) will be converted in _unit based on the specified coordinate transformation.
_value | the position value (in steps) which has to be converted |
_unit | the target unit |
Implemented in Laos::DrotServiceWorker, Laos::DrotServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaXServiceWorker, and Basda::MoccaXServiceWorker.
|
protectedpure virtual |
This method converts the given value from steps into _unit.
The given value (in steps) will be converted in _unit based on the specified coordinate transformation.
_value | the position value (in steps) which has to be converted |
_unit | the target unit |
Implemented in Laos::DrotServiceWorker, Laos::DrotServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaXServiceWorker, and Basda::MoccaXServiceWorker.
|
protectedpure virtual |
This method converts the given value from _unit into steps.
The given value will be converted in steps based on _unit and the specified coordinate transformation.
_value | the position value which has to be converted |
_unit | the current unit of _value |
the | absolute position in steps |
Implemented in Laos::DrotServiceWorker, Laos::DrotServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaXServiceWorker, and Basda::MoccaXServiceWorker.
|
protectedpure virtual |
This method converts the given value from _unit into steps.
The given value will be converted in steps based on _unit and the specified coordinate transformation.
_value | the position value which has to be converted |
_unit | the current unit of _value |
the | absolute position in steps |
Implemented in Laos::DrotServiceWorker, Laos::DrotServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaXServiceWorker, and Basda::MoccaXServiceWorker.
|
protectedpure virtual |
This method converts the given value from _unit into steps.
The given value will be converted in steps based on _unit and the specified coordinate transformation.
_value | the position value which has to be converted |
_unit | the current unit of _value |
the | absolute position in steps |
Implemented in Laos::DrotServiceWorker, Laos::DrotServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaXServiceWorker, and Basda::MoccaXServiceWorker.
|
protectedpure virtual |
This method converts the given value from _unit into steps.
Thereby it ignores the coordinate system offset dx.
_value | the relative position value which has to be converted |
_unit | the current unit of _value |
Implemented in Laos::DrotServiceWorker, Laos::DrotServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaXServiceWorker, and Basda::MoccaXServiceWorker.
|
protectedpure virtual |
This method converts the given value from _unit into steps.
Thereby it ignores the coordinate system offset dx.
_value | the relative position value which has to be converted |
_unit | the current unit of _value |
Implemented in Laos::DrotServiceWorker, Laos::DrotServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaXServiceWorker, and Basda::MoccaXServiceWorker.
|
protectedpure virtual |
This method converts the given value from _unit into steps.
Thereby it ignores the coordinate system offset dx.
_value | the relative position value which has to be converted |
_unit | the current unit of _value |
Implemented in Laos::DrotServiceWorker, Laos::DrotServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaWheelServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaTrajServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaTriPodServiceWorker, Basda::MoccaXYServiceWorker, Basda::MoccaXServiceWorker, and Basda::MoccaXServiceWorker.
|
virtual |
This method deactivate the device.
|
virtual |
This method deactivate the device.
|
virtual |
This method deactivate the device.
|
virtual |
This method deinit and close the device.
|
virtual |
This method deinit and close the device.
|
virtual |
This method deinit and close the device.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Returns the current absolute encoder positions of all motors.
The current position of all motors might be stored in the property
|
virtual |
Returns the current absolute encoder positions of all motors.
The current position of all motors might be stored in the property
|
virtual |
Returns the current absolute encoder positions of all motors.
The current position of all motors might be stored in the property
|
virtual |
|
virtual |
|
virtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
Compose the unit transformation.
|
protected |
Compose the unit transformation.
|
virtual |
Returns the current device internal position encoder of all motors.
Some devices, like the MoCon, have an internal software encoder/position counter, which is independent from the incremental and absolute encoder.
The current position of all motors might be stored in the property
_unit | the unit in which the position value should be converted |
|
virtual |
Returns the current device internal position encoder of all motors.
Some devices, like the MoCon, have an internal software encoder/position counter, which is independent from the incremental and absolute encoder.
The current position of all motors might be stored in the property
_unit | the unit in which the position value should be converted |
|
virtual |
Returns the current device internal position encoder of all motors.
Some devices, like the MoCon, have an internal software encoder/position counter, which is independent from the incremental and absolute encoder.
The current position of all motors might be stored in the property
_unit | the unit in which the position value should be converted |
|
virtual |
Returns the current incremental encoder positions of all motors.
The current position of all motors might be stored in the property
|
virtual |
Returns the current incremental encoder positions of all motors.
The current position of all motors might be stored in the property
|
virtual |
Returns the current incremental encoder positions of all motors.
The current position of all motors might be stored in the property
|
virtual |
This method returns the value of the named position.
_reference | the number of the named position |
|
virtual |
This method returns the value of the named position.
_reference | the number of the named position |
|
virtual |
This method returns the value of the named position.
_reference | the number of the named position |
|
virtual |
Returns the current positions of all motors.
Depending on the position auto update configuration either getDeviceEncoderPosition, getAbsoluteEncoderPosition and/or getIncrementalEncoderPosition will be called. Background of this implementation is the time critical readout of the absolute encoder.
The position auto update configuration can be done with the property
Depending of the position report property either the device encoder position, absolute encoder position or incremental encoder position will be returned and stored in
The configuration of the position report can be done in
CFG.POSITION.REPORT and CFG.POSITION.UNIT and
_unit | the unit in which the position value should be converted |
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
Returns the current positions of all motors.
Depending on the position auto update configuration either getDeviceEncoderPosition, getAbsoluteEncoderPosition and/or getIncrementalEncoderPosition will be called. Background of this implementation is the time critical readout of the absolute encoder.
The position auto update configuration can be done with the property
Depending of the position report property either the device encoder position, absolute encoder position or incremental encoder position will be returned and stored in
The configuration of the position report can be done in
CFG.POSITION.REPORT and CFG.POSITION.UNIT and
_unit | the unit in which the position value should be converted |
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
Returns the current positions of all motors.
Depending on the position auto update configuration either getDeviceEncoderPosition, getAbsoluteEncoderPosition and/or getIncrementalEncoderPosition will be called. Background of this implementation is the time critical readout of the absolute encoder.
The position auto update configuration can be done with the property
Depending of the position report property either the device encoder position, absolute encoder position or incremental encoder position will be returned and stored in
The configuration of the position report can be done in
CFG.POSITION.REPORT and CFG.POSITION.UNIT and
_unit | the unit in which the position value should be converted |
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
: This method returns the current position switch status.
|
virtual |
: This method returns the current position switch status.
|
virtual |
: This method returns the current position switch status.
|
virtual |
This method read the velocity of the device.
|
virtual |
This method read the velocity of the device.
|
virtual |
This method read the velocity of the device.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in Laos::DrotServiceWorker, and Laos::DrotServiceWorker.
|
virtual |
Reimplemented in Laos::DrotServiceWorker, and Laos::DrotServiceWorker.
|
virtual |
Reimplemented in Laos::DrotServiceWorker, and Laos::DrotServiceWorker.
|
virtual |
This method initiate and open the device.
Reimplemented in Laos::DrotServiceWorker, and Laos::DrotServiceWorker.
|
virtual |
This method initiate and open the device.
Reimplemented in Laos::DrotServiceWorker, and Laos::DrotServiceWorker.
|
virtual |
This method initiate and open the device.
Reimplemented in Laos::DrotServiceWorker, and Laos::DrotServiceWorker.
|
virtual |
This method updates the property VAR.ATHOME which indicates whether the motor is at the home position.
|
virtual |
This method updates the property VAR.ATHOME which indicates whether the motor is at the home position.
|
virtual |
This method updates the property VAR.ATHOME which indicates whether the motor is at the home position.
|
virtual |
This method updates the property VAR.LIMIT which indicates whether the motor is at the limit position.
|
virtual |
This method updates the property VAR.LIMIT which indicates whether the motor is at the limit position.
|
virtual |
This method updates the property VAR.LIMIT which indicates whether the motor is at the limit position.
|
virtual |
This method updates the property VAR.MOVING which indicates whether the motor is moving.
|
virtual |
This method updates the property VAR.MOVING which indicates whether the motor is moving.
|
virtual |
This method updates the property VAR.MOVING which indicates whether the motor is moving.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
All motors of a device move to the absolute position.
_unit | the unit of the position value |
_pos | the absolute target position x and y |
|
virtual |
All motors of a device move to the absolute position.
_unit | the unit of the position value |
_pos | the absolute target position x and y |
|
virtual |
All motors of a device move to the absolute position.
_unit | the unit of the position value |
_pos | the absolute target position x and y |
|
virtual |
All motors of a device move to the relative position.
_unit | the unit of the position value |
_pos | the relative target position x and y. |
|
virtual |
All motors of a device move to the relative position.
_unit | the unit of the position value |
_pos | the relative target position x and y. |
|
virtual |
All motors of a device move to the relative position.
_unit | the unit of the position value |
_pos | the relative target position x and y. |
|
virtual |
All motors of the device are looking for the reference positions and reset the step counter to zero.
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
All motors of the device are looking for the reference positions and reset the step counter to zero.
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
All motors of the device are looking for the reference positions and reset the step counter to zero.
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches.
_limit | a point that contains to which limit the motors have to move (_limits[i]>0 - to positive limit) (_limits[i]<0 - to negative limit) |
|
virtual |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches.
_limit | a point that contains to which limit the motors have to move (_limits[i]>0 - to positive limit) (_limits[i]<0 - to negative limit) |
|
virtual |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches.
_limit | a point that contains to which limit the motors have to move (_limits[i]>0 - to positive limit) (_limits[i]<0 - to negative limit) |
|
virtual |
This method allows to move the motor to a named position.
_reference | the number of the named position |
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
This method allows to move the motor to a named position.
_reference | the number of the named position |
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
This method allows to move the motor to a named position.
_reference | the number of the named position |
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i t
It supports a direct communication with the MoCon. BUT THE USER OF THIS METHOD TAKE OVER THE RESPONSIBILITY OF THE CORRECT ERROR HANDLING. THE DRIVER DOES NOT HAVE THE CONTROL OVER THAT DEVICE ANY MORE.
_ret | the allocated memory for the command response |
|
virtual |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i t
It supports a direct communication with the MoCon. BUT THE USER OF THIS METHOD TAKE OVER THE RESPONSIBILITY OF THE CORRECT ERROR HANDLING. THE DRIVER DOES NOT HAVE THE CONTROL OVER THAT DEVICE ANY MORE.
_ret | the allocated memory for the command response |
|
virtual |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i t
It supports a direct communication with the MoCon. BUT THE USER OF THIS METHOD TAKE OVER THE RESPONSIBILITY OF THE CORRECT ERROR HANDLING. THE DRIVER DOES NOT HAVE THE CONTROL OVER THAT DEVICE ANY MORE.
_ret | the allocated memory for the command response |
|
virtual |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i t
It supports a direct communication with the MoCon without to parse the response. BUT THE USER OF THIS METHOD TAKE OVER THE RESPONSIBILITY OF THE CORRECT ERROR HANDLING. THE DRIVER DOES NOT HAVE THE CONTROL OVER THAT DEVICE ANY MORE.
_commandID | the command ID which is defined in the CommandIDs.h |
_cardNo | the card number |
_moduleNo | the module number |
_ret | the allocated space for the returned data |
_numberOfLines | This parameter limitates how many data should be read from the Ethernet buffer. All data are read if the value is -1. |
|
virtual |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i t
It supports a direct communication with the MoCon without to parse the response. BUT THE USER OF THIS METHOD TAKE OVER THE RESPONSIBILITY OF THE CORRECT ERROR HANDLING. THE DRIVER DOES NOT HAVE THE CONTROL OVER THAT DEVICE ANY MORE.
_commandID | the command ID which is defined in the CommandIDs.h |
_cardNo | the card number |
_moduleNo | the module number |
_ret | the allocated space for the returned data |
_numberOfLines | This parameter limitates how many data should be read from the Ethernet buffer. All data are read if the value is -1. |
|
virtual |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i t
It supports a direct communication with the MoCon without to parse the response. BUT THE USER OF THIS METHOD TAKE OVER THE RESPONSIBILITY OF THE CORRECT ERROR HANDLING. THE DRIVER DOES NOT HAVE THE CONTROL OVER THAT DEVICE ANY MORE.
_commandID | the command ID which is defined in the CommandIDs.h |
_cardNo | the card number |
_moduleNo | the module number |
_ret | the allocated space for the returned data |
_numberOfLines | This parameter limitates how many data should be read from the Ethernet buffer. All data are read if the value is -1. |
|
virtual |
This method send the command string to the electronic.
This method is set to public due to requests from Lorenzo Busoni. BUT THE USER OF THIS METHOD TAKE OVER THE RESPONSIBILITY OF THE CORRECT ERROR HANDLING. THE DRIVER DOES NOT HAVE THE CONTROL OVER THAT DEVICE ANY MORE.
_commandID | the command ID |
_cardNo | the ID of the MPIA electronic card |
_moduleNo | the ID of the device module |
_selectID | the sub command ID |
_parameter | the parameter as string |
_numberOfLines | the number of lines that might be read |
Hi Martin,
that's exactly what I was thinking: The use case is (real example from our experience): we discover at the telescope that we need to continuously monitor a given property (PropA) of the MoCon (obviously because of a malfunctioning in the hardware!). Without this monitor, we will be stuck. You can add the required functionality in the Mocca adding the function getPropA: this requires 4 hours and the day is lost. The day after you are stuck because you discover that you miss PropB, and the day is lost again. As an alternative, one can add the 2 lines below in the code (with a comment: "1 10 0 = getPropA") and this requires 5 minutes. The day after one can add a similar line with 1 11 0. When you're back in Europe you implement getPropA and getPropB in Mocca and you cleanup the code removing the receiveResponseForComment
Generally speaking I think it is a safe idea to have a generic interface to access EVERY possible functionality of a device, because soon or later you'll need it. In the case of the Mocon it is quite easy, a good compromise between living dangerously and wasting too much time in the effort of a complete implementation of all the MoCon commands.
Lorenzo Busoni
|
virtual |
This method send the command string to the electronic.
This method is set to public due to requests from Lorenzo Busoni. BUT THE USER OF THIS METHOD TAKE OVER THE RESPONSIBILITY OF THE CORRECT ERROR HANDLING. THE DRIVER DOES NOT HAVE THE CONTROL OVER THAT DEVICE ANY MORE.
_commandID | the command ID |
_cardNo | the ID of the MPIA electronic card |
_moduleNo | the ID of the device module |
_selectID | the sub command ID |
_parameter | the parameter as string |
_numberOfLines | the number of lines that might be read |
Hi Martin,
that's exactly what I was thinking: The use case is (real example from our experience): we discover at the telescope that we need to continuously monitor a given property (PropA) of the MoCon (obviously because of a malfunctioning in the hardware!). Without this monitor, we will be stuck. You can add the required functionality in the Mocca adding the function getPropA: this requires 4 hours and the day is lost. The day after you are stuck because you discover that you miss PropB, and the day is lost again. As an alternative, one can add the 2 lines below in the code (with a comment: "1 10 0 = getPropA") and this requires 5 minutes. The day after one can add a similar line with 1 11 0. When you're back in Europe you implement getPropA and getPropB in Mocca and you cleanup the code removing the receiveResponseForComment
Generally speaking I think it is a safe idea to have a generic interface to access EVERY possible functionality of a device, because soon or later you'll need it. In the case of the Mocon it is quite easy, a good compromise between living dangerously and wasting too much time in the effort of a complete implementation of all the MoCon commands.
Lorenzo Busoni
|
virtual |
This method send the command string to the electronic.
This method is set to public due to requests from Lorenzo Busoni. BUT THE USER OF THIS METHOD TAKE OVER THE RESPONSIBILITY OF THE CORRECT ERROR HANDLING. THE DRIVER DOES NOT HAVE THE CONTROL OVER THAT DEVICE ANY MORE.
_commandID | the command ID |
_cardNo | the ID of the MPIA electronic card |
_moduleNo | the ID of the device module |
_selectID | the sub command ID |
_parameter | the parameter as string |
_numberOfLines | the number of lines that might be read |
Hi Martin,
that's exactly what I was thinking: The use case is (real example from our experience): we discover at the telescope that we need to continuously monitor a given property (PropA) of the MoCon (obviously because of a malfunctioning in the hardware!). Without this monitor, we will be stuck. You can add the required functionality in the Mocca adding the function getPropA: this requires 4 hours and the day is lost. The day after you are stuck because you discover that you miss PropB, and the day is lost again. As an alternative, one can add the 2 lines below in the code (with a comment: "1 10 0 = getPropA") and this requires 5 minutes. The day after one can add a similar line with 1 11 0. When you're back in Europe you implement getPropA and getPropB in Mocca and you cleanup the code removing the receiveResponseForComment
Generally speaking I think it is a safe idea to have a generic interface to access EVERY possible functionality of a device, because soon or later you'll need it. In the case of the Mocon it is quite easy, a good compromise between living dangerously and wasting too much time in the effort of a complete implementation of all the MoCon commands.
Lorenzo Busoni
|
virtual |
Change the absolute position of all motors.
The motor will not move, but the current absolute position will be set to the given position value. The new position value can only be inside the travel range.
_unit | the unit in which the position value should be converted |
_position | a vector with the new absolute position of all motors |
|
virtual |
Change the absolute position of all motors.
The motor will not move, but the current absolute position will be set to the given position value. The new position value can only be inside the travel range.
_unit | the unit in which the position value should be converted |
_position | a vector with the new absolute position of all motors |
|
virtual |
Change the absolute position of all motors.
The motor will not move, but the current absolute position will be set to the given position value. The new position value can only be inside the travel range.
_unit | the unit in which the position value should be converted |
_position | a vector with the new absolute position of all motors |
|
virtual |
This method set the velocity in the device.
_velocity |
|
virtual |
This method set the velocity in the device.
_velocity |
|
virtual |
This method set the velocity in the device.
_velocity |
|
inlinevirtual |
This method prepare the motor controller with a new external profile.
_positionSequenceX | a vector of points that describe the trajectory of the motor X |
_positionSequenceY | a vector of points that describe the trajectory of the motor Y |
_timeResolution | segmentLength / samplesPerSegment |
_samplesPerSegment | samples per segment |
_maxError | the maximal error that the external profile can have after the conversion to a MoCon profile This method start the profile at a certain date. |
_startDateX | the start date of motor X. Use Basda::Now to start the profile immediately and Basda::STAY in order not to start the profile |
_startDateY | the start date of motor Y. Use Basda::Now to start the profile immediately and Basda::STAY in order not to start the profile |
|
inlinevirtual |
This method prepare the motor controller with a new external profile.
_positionSequenceX | a vector of points that describe the trajectory of the motor X |
_positionSequenceY | a vector of points that describe the trajectory of the motor Y |
_timeResolution | segmentLength / samplesPerSegment |
_samplesPerSegment | samples per segment |
_maxError | the maximal error that the external profile can have after the conversion to a MoCon profile This method start the profile at a certain date. |
_startDateX | the start date of motor X. Use Basda::Now to start the profile immediately and Basda::STAY in order not to start the profile |
_startDateY | the start date of motor Y. Use Basda::Now to start the profile immediately and Basda::STAY in order not to start the profile |
|
inlinevirtual |
This method prepare the motor controller with a new external profile.
_positionSequenceX | a vector of points that describe the trajectory of the motor X |
_positionSequenceY | a vector of points that describe the trajectory of the motor Y |
_timeResolution | segmentLength / samplesPerSegment |
_samplesPerSegment | samples per segment |
_maxError | the maximal error that the external profile can have after the conversion to a MoCon profile This method start the profile at a certain date. |
_startDateX | the start date of motor X. Use Basda::Now to start the profile immediately and Basda::STAY in order not to start the profile |
_startDateY | the start date of motor Y. Use Basda::Now to start the profile immediately and Basda::STAY in order not to start the profile |
|
protectedvirtual |
The method calls different commands in order to update the status.
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
protectedvirtual |
The method calls different commands in order to update the status.
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
protectedvirtual |
The method calls different commands in order to update the status.
Reimplemented in Basda::MoccaWheelServiceWorker, and Basda::MoccaWheelServiceWorker.
|
virtual |
This method stop all moving motors smoothly.
|
virtual |
This method stop all moving motors smoothly.
|
virtual |
This method stop all moving motors smoothly.
|
virtual |
This method shut down the device.
|
virtual |
This method shut down the device.
|
virtual |
This method shut down the device.
|
protected |
|
protected |
|
protected |
|
protected |
the object to call the xy device
|
protected |
the master object ????
the call back object for the devices
|
protected |
the call back object for the devices
|
protected |
|
protected |
|
protected |
|
protected |