TwiceAsNice
2019-02-18
|
This is the MoCon device, which support to control N motors. More...
#include <NDevice.h>
Public Member Functions | |
MoConNDevice (const Nice::JointPtr &_config) | |
Constructor. More... | |
~MoConNDevice () | |
Destructor. More... | |
std::string | createConnectionID (const std::string &_address, const unsigned int _cardNo, const unsigned int _moduleNo) |
This method creates an ID based on the connection address, card number and module number separated by a colon to identify the module/card object in a map. More... | |
virtual void | open () |
This method might be called when the service goes in the INIT state. More... | |
virtual void | close () |
This method might be called when the service goes in the OFFLINE state. More... | |
virtual void | reset (Basda::DeviceAsync &=Basda::Device::s_async) |
This method might be called when the service will be reseted. More... | |
virtual void | version () |
This method returns the version string of the device. More... | |
virtual void | init (DeviceAsync &=Basda::Device::s_async) |
This method initialize the device and set the state to INIT. More... | |
virtual void | deinit (DeviceAsync &=Basda::Device::s_async) |
This method deinitialize the device and set the state to OFFLINE. More... | |
virtual void | activate (DeviceAsync &=Basda::Device::s_async) |
activate something More... | |
virtual void | deactivate (DeviceAsync &=Basda::Device::s_async) |
deactivate something More... | |
virtual void | chat (std::string _cardNo, std::string _commandID, std::string _moduleNo, std::string _selectID, std::string _parameter, std::string _numberOfLines, Basda::DeviceAsync &=Basda::Device::s_async) |
This method send the command string to the electronic. More... | |
virtual std::string | dontParse (Basda::DeviceAsync &=Basda::Device::s_async) |
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, Basda::DeviceAsync &=Basda::Device::s_async) |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i tMore... | |
virtual void | moveToHome (Basda::DeviceAsync &_aync=Basda::Device::s_async) |
All motors of the device are looking for the reference positions and reset the step counter to zero. More... | |
virtual void | moveToHomeStart (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToHomeWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToHomeSingle (int _motor, Basda::DeviceAsync &_async=Basda::Device::s_async) |
A single motor of the device is looking for the reference positions and reset the step counter to zero. More... | |
virtual void | moveToHomeSingleStart (int _motor, Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToHomeSingleWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToPositiveLimit (Basda::DeviceAsync &_async=Basda::Device::s_async) |
All motors of the device move to the positive software limit switch. More... | |
virtual void | moveToPositiveLimitStart (Basda::DeviceAsync &_async=Basda::Device::s_async) |
virtual void | moveToPositiveLimitWait (Basda::DeviceAsync &_async=Basda::Device::s_async) |
virtual void | moveToNegativeLimit (Basda::DeviceAsync &_async=Basda::Device::s_async) |
All motors of the device move to the negative software limit switch. More... | |
virtual void | moveToNegativeLimitStart (Basda::DeviceAsync &_async=Basda::Device::s_async) |
virtual void | moveToNegativeLimitWait (Basda::DeviceAsync &_async=Basda::Device::s_async) |
virtual void | moveToLimit (const Nice::NPoint &_limit, Basda::DeviceAsync &_async=Basda::Device::s_async) |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches. More... | |
virtual void | moveToLimitStart (const Nice::NPoint &_limit, Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToLimitWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveOutOfLimit (int _motor, Basda::DeviceAsync &_async) |
move all motors out of the limit switches. More... | |
virtual void | moveAbsolute (const Nice::NPoint &_positions, Basda::DeviceAsync &_async=Basda::Device::s_async) |
The motors that are stored in the vector, move to the absolute position. More... | |
virtual void | moveAbsoluteStart (const Nice::NPoint &_positions, Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveAbsoluteWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveRelative (const Nice::NPoint &_positions, Basda::DeviceAsync &_async=Basda::Device::s_async) |
The motors that are stored in the vector move to the relative position. More... | |
virtual void | moveRelativeStart (const Nice::NPoint &_positions, Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveRelativeWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | prepareMoveSync (Nice::BitSet _motors) |
This method set the motors, which will be moved or stopped synchronously. More... | |
virtual void | startMoveSync () |
Start the movement of the motors that are programmed with prepareMoveSync() and the move, stop and abort commands before. More... | |
void | prepareDirectMove (const Nice::NPoint &_acceleration, const Nice::NPoint &_velocity, const Nice::NPoint &_deceleration) |
This method setup the acceleration anv velocity for a direct point to point move. More... | |
virtual void | stop () |
This method stops the motor with a deceleration. More... | |
virtual void | abort () |
Abort the moving of the motor immediately without deceleration. More... | |
virtual Nice::NPoint | getPosition () |
This method is deprecated and will be exchanged with getDeviceencoderPosition() More... | |
virtual Nice::NPoint | getDeviceEncoderPosition () |
Returns the current positions of all motors. More... | |
virtual void | setPosition (const Nice::NPoint &_position) |
Change the absolute position of all motors. More... | |
virtual Nice::NPoint | getAbsoluteEncoderPosition () |
Returns the current positions of all motors. More... | |
virtual Nice::NPoint | getIncrementalEncoderPosition () |
Returns the current positions of all motors. More... | |
virtual Nice::NPoint | getVelocity () |
Returns the current velocity of all motors. More... | |
virtual Nice::SeqSeqDouble | getBasicSettings () |
This method returns the basic settings of all MoCon module. More... | |
virtual void | setVelocitySetting (const Nice::NPoint &_velocity) |
Set the velocity configuration parameter of all motors. More... | |
virtual void | setAccelerationSetting (const Nice::NPoint &_acceleration) |
Set the acceleration configuration parameter of all motors. More... | |
virtual void | setDecelerationSetting (const Nice::NPoint &_deceleration) |
Set the deceleration configuration parameter of all motors. More... | |
virtual void | setJerkSetting (const Nice::NPoint &_jerk) |
Set the jerk configuration parameter of all motors. More... | |
virtual bool | isMoving (Nice::BitSet &_motion) |
Checks if one of the motors is in motion. More... | |
virtual bool | isAtLimit (Nice::NPoint &_limit) |
Checks if one of the motors is in limit. More... | |
virtual bool | isAtHome (Nice::BitSet &_atHome) |
This method indicate whether the motor is at the home position. More... | |
virtual void | startExternalProfile (const Nice::Date &_date, const Nice::NPoint &_positionSequence, unsigned int _frequency, unsigned int _maxSamplesPerSegment, unsigned int _faultTolerance, Basda::DeviceAsync &_async=Basda::Device::s_async) |
This method setup and starts the external profile for a XY device. More... | |
void | waitForNextTrigger (Nice::Date _date, Basda::DeviceAsync &_async=Basda::Device::s_async) |
This method wait until the next trigger has tobe raised. More... | |
virtual void | changeExternalProfile (const Nice::Date &_date, const Nice::NPoint &_positionSequence) |
This method fit, validates and buffers the external profile. More... | |
virtual void | prepareExternalProfile (const Nice::SeqSeqInt &_segmentsX, const Nice::SeqSeqInt &_segmentsY, Basda::DeviceAsync &_async=Basda::Device::s_async) |
This method prepares a direct point to point movement of a xy device. More... | |
virtual void | startExternalProfile (Basda::DeviceAsync &_async=Basda::Device::s_async) |
This method starts a trajectory now. More... | |
virtual void | setLinkTimeout (Nice::Time _tcpConnectionTimeout) |
This method sets TCP connection timeout. More... | |
virtual Nice::SeqTime | getLinkTimeout () |
This method returns TCP connection timeout. More... | |
virtual Nice::NPoint | getReferenceTime () |
This method synchronize the MoCon time with the PC time. More... | |
virtual Nice::NPoint | getCurrentTime () |
This method returns the current MoCon time. More... | |
virtual Nice::SeqBitSet | getPositionSwitchStatus () |
Returns the status of the position switch. More... | |
virtual bool | isReachable () |
Returns if the device is reachable. More... | |
void | dumpStatusInformation (Basda::DeviceAsync &=Basda::Device::s_async, bool _compareParameter=false) |
This method downloads all configuration parameter of the MoCon. More... | |
void | setCollision (Nice::SeqPoint _collisions) |
This method indicates all motor whether they have a collision or not. More... | |
virtual Nice::JointPtrVector | description () |
void | setChatType (std::map< std::string, Nice::ChatLinePtr > _chat) |
This method allows to use a different kind of Chat class. More... | |
virtual Nice::Completion | getProgress () |
MoConNDevice (const Nice::JointPtr &_config) | |
Constructor. More... | |
~MoConNDevice () | |
Destructor. More... | |
std::string | createConnectionID (const std::string &_address, const unsigned int _cardNo, const unsigned int _moduleNo) |
This method creates an ID based on the connection address, card number and module number separated by a colon to identify the module/card object in a map. More... | |
virtual void | open () |
This method might be called when the service goes in the INIT state. More... | |
virtual void | close () |
This method might be called when the service goes in the OFFLINE state. More... | |
virtual void | reset (Basda::DeviceAsync &=Basda::Device::s_async) |
This method might be called when the service will be reseted. More... | |
virtual void | version () |
This method returns the version string of the device. More... | |
virtual void | init (DeviceAsync &=Basda::Device::s_async) |
This method initialize the device and set the state to INIT. More... | |
virtual void | deinit (DeviceAsync &=Basda::Device::s_async) |
This method deinitialize the device and set the state to OFFLINE. More... | |
virtual void | activate (DeviceAsync &=Basda::Device::s_async) |
activate something More... | |
virtual void | deactivate (DeviceAsync &=Basda::Device::s_async) |
deactivate something More... | |
virtual void | chat (std::string _cardNo, std::string _commandID, std::string _moduleNo, std::string _selectID, std::string _parameter, std::string _numberOfLines, Basda::DeviceAsync &=Basda::Device::s_async) |
This method send the command string to the electronic. More... | |
virtual std::string | dontParse (Basda::DeviceAsync &=Basda::Device::s_async) |
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, Basda::DeviceAsync &=Basda::Device::s_async) |
This method was requested by Lorenzo Busoni (lbuso 02.03.2012) ni@a rcetr i.as tro.i tMore... | |
virtual void | moveToHome (Basda::DeviceAsync &_aync=Basda::Device::s_async) |
All motors of the device are looking for the reference positions and reset the step counter to zero. More... | |
virtual void | moveToHomeStart (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToHomeWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToHomeSingle (int _motor, Basda::DeviceAsync &_async=Basda::Device::s_async) |
A single motor of the device is looking for the reference positions and reset the step counter to zero. More... | |
virtual void | moveToHomeSingleStart (int _motor, Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToHomeSingleWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToPositiveLimit (Basda::DeviceAsync &_async=Basda::Device::s_async) |
All motors of the device move to the positive software limit switch. More... | |
virtual void | moveToPositiveLimitStart (Basda::DeviceAsync &_async=Basda::Device::s_async) |
virtual void | moveToPositiveLimitWait (Basda::DeviceAsync &_async=Basda::Device::s_async) |
virtual void | moveToNegativeLimit (Basda::DeviceAsync &_async=Basda::Device::s_async) |
All motors of the device move to the negative software limit switch. More... | |
virtual void | moveToNegativeLimitStart (Basda::DeviceAsync &_async=Basda::Device::s_async) |
virtual void | moveToNegativeLimitWait (Basda::DeviceAsync &_async=Basda::Device::s_async) |
virtual void | moveToLimit (const Nice::NPoint &_limit, Basda::DeviceAsync &_async=Basda::Device::s_async) |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches. More... | |
virtual void | moveToLimitStart (const Nice::NPoint &_limit, Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveToLimitWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveOutOfLimit (int _motor, Basda::DeviceAsync &_async) |
move all motors out of the limit switches. More... | |
virtual void | moveAbsolute (const Nice::NPoint &_positions, Basda::DeviceAsync &_async=Basda::Device::s_async) |
The motors that are stored in the vector, move to the absolute position. More... | |
virtual void | moveAbsoluteStart (const Nice::NPoint &_positions, Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveAbsoluteWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveRelative (const Nice::NPoint &_positions, Basda::DeviceAsync &_async=Basda::Device::s_async) |
The motors that are stored in the vector move to the relative position. More... | |
virtual void | moveRelativeStart (const Nice::NPoint &_positions, Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | moveRelativeWait (Basda::DeviceAsync &=Basda::Device::s_async) |
virtual void | prepareMoveSync (Nice::BitSet _motors) |
This method set the motors, which will be moved or stopped synchronously. More... | |
virtual void | startMoveSync () |
Start the movement of the motors that are programmed with prepareMoveSync() and the move, stop and abort commands before. More... | |
void | prepareDirectMove (const Nice::NPoint &_acceleration, const Nice::NPoint &_velocity, const Nice::NPoint &_deceleration) |
This method setup the acceleration anv velocity for a direct point to point move. More... | |
virtual void | stop () |
This method stops the motor with a deceleration. More... | |
virtual void | abort () |
Abort the moving of the motor immediately without deceleration. More... | |
virtual Nice::NPoint | getPosition () |
This method is deprecated and will be exchanged with getDeviceencoderPosition() More... | |
virtual Nice::NPoint | getDeviceEncoderPosition () |
Returns the current positions of all motors. More... | |
virtual void | setPosition (const Nice::NPoint &_position) |
Change the absolute position of all motors. More... | |
virtual Nice::NPoint | getAbsoluteEncoderPosition () |
Returns the current positions of all motors. More... | |
virtual Nice::NPoint | getIncrementalEncoderPosition () |
Returns the current positions of all motors. More... | |
virtual Nice::NPoint | getVelocity () |
Returns the current velocity of all motors. More... | |
virtual Nice::SeqSeqDouble | getBasicSettings () |
This method returns the basic settings of all MoCon module. More... | |
virtual void | setVelocitySetting (const Nice::NPoint &_velocity) |
Set the velocity configuration parameter of all motors. More... | |
virtual void | setAccelerationSetting (const Nice::NPoint &_acceleration) |
Set the acceleration configuration parameter of all motors. More... | |
virtual void | setDecelerationSetting (const Nice::NPoint &_deceleration) |
Set the deceleration configuration parameter of all motors. More... | |
virtual void | setJerkSetting (const Nice::NPoint &_jerk) |
Set the jerk configuration parameter of all motors. More... | |
virtual bool | isMoving (Nice::BitSet &_motion) |
Checks if one of the motors is in motion. More... | |
virtual bool | isAtLimit (Nice::NPoint &_limit) |
Checks if one of the motors is in limit. More... | |
virtual bool | isAtHome (Nice::BitSet &_atHome) |
This method indicate whether the motor is at the home position. More... | |
virtual void | startExternalProfile (const Nice::Date &_date, const Nice::NPoint &_positionSequence, unsigned int _frequency, unsigned int _maxSamplesPerSegment, unsigned int _faultTolerance, Basda::DeviceAsync &_async=Basda::Device::s_async) |
This method setup and starts the external profile for a XY device. More... | |
void | waitForNextTrigger (Nice::Date _date, Basda::DeviceAsync &_async=Basda::Device::s_async) |
This method wait until the next trigger has tobe raised. More... | |
virtual void | changeExternalProfile (const Nice::Date &_date, const Nice::NPoint &_positionSequence) |
This method fit, validates and buffers the external profile. More... | |
virtual void | prepareExternalProfile (const Nice::SeqSeqInt &_segmentsX, const Nice::SeqSeqInt &_segmentsY, Basda::DeviceAsync &_async=Basda::Device::s_async) |
This method prepares a direct point to point movement of a xy device. More... | |
virtual void | startExternalProfile (Basda::DeviceAsync &_async=Basda::Device::s_async) |
This method starts a trajectory now. More... | |
virtual void | setLinkTimeout (Nice::Time _tcpConnectionTimeout) |
This method sets TCP connection timeout. More... | |
virtual Nice::SeqTime | getLinkTimeout () |
This method returns TCP connection timeout. More... | |
virtual Nice::NPoint | getReferenceTime () |
This method synchronize the MoCon time with the PC time. More... | |
virtual Nice::NPoint | getCurrentTime () |
This method returns the current MoCon time. More... | |
virtual Nice::SeqBitSet | getPositionSwitchStatus () |
Returns the status of the position switch. More... | |
virtual bool | isReachable () |
Returns if the device is reachable. More... | |
void | dumpStatusInformation (Basda::DeviceAsync &=Basda::Device::s_async, bool _compareParameter=false) |
This method downloads all configuration parameter of the MoCon. More... | |
void | setCollision (Nice::SeqPoint _collisions) |
This method indicates all motor whether they have a collision or not. More... | |
virtual Nice::JointPtrVector | description () |
void | setChatType (std::map< std::string, Nice::ChatLinePtr > _chat) |
This method allows to use a different kind of Chat class. More... | |
virtual Nice::Completion | getProgress () |
![]() | |
MoccaNDevice (const Nice::JointPtr &_config) | |
Constructor. More... | |
virtual | ~MoccaNDevice () |
Constructor. More... | |
MoccaNDevice (const Nice::JointPtr &_config) | |
Constructor. More... | |
virtual | ~MoccaNDevice () |
Constructor. More... | |
MoccaNDevice (const Nice::JointPtr &_config) | |
Constructor. More... | |
virtual | ~MoccaNDevice () |
Constructor. More... | |
![]() | |
MoccaDevice (const Nice::JointPtr &_config) | |
Constructor. More... | |
virtual | ~MoccaDevice () |
MoccaDevice (const Nice::JointPtr &_config) | |
Constructor. More... | |
virtual | ~MoccaDevice () |
MoccaDevice (const Nice::JointPtr &_config) | |
Constructor. More... | |
virtual | ~MoccaDevice () |
![]() | |
Device (const Nice::JointPtr &_config) | |
constructor. This is an elementary (lazy) action which stores the name and gets configuration. More... | |
virtual | ~Device () |
destructor Does nothing More... | |
virtual void | setConfig (const Nice::JointPtr &_config) |
init with config tree ptr More... | |
Nice::JointPtr & | config () |
retrieve the property tree More... | |
std::string & | name () |
retrieve the name set at ctor time. More... | |
Device (const Nice::JointPtr &_config) | |
constructor. This is an elementary (lazy) action which stores the name and gets configuration. More... | |
virtual | ~Device () |
destructor Does nothing More... | |
virtual void | setConfig (const Nice::JointPtr &_config) |
init with config tree ptr More... | |
Nice::JointPtr & | config () |
retrieve the property tree More... | |
std::string & | name () |
retrieve the name set at ctor time. More... | |
Private Member Functions | |
void | createInstances () |
void | addProperties () |
This method add the following internal status properties. More... | |
void | completion (std::string _cmd, Basda::DeviceAsync &=Basda::Device::s_async) |
Calculate the completion percent. More... | |
bool | isMotionComplete (Nice::BitSet &_motion) |
Checks if the motion is complete. More... | |
void | setMotionComplete (bool _complete) |
Resets the motion complete flag. More... | |
void | setIsReachable (const bool _isReachable) |
void | resetFatalError () |
This method resets the fatal error. More... | |
void | generateExternalProfile (const Nice::Date &_date, const Nice::NPoint &_positionSequence) |
This method fit, validates and buffers the external profile. More... | |
void | createInstances () |
void | addProperties () |
This method add the following internal status properties. More... | |
void | completion (std::string _cmd, Basda::DeviceAsync &=Basda::Device::s_async) |
Calculate the completion percent. More... | |
bool | isMotionComplete (Nice::BitSet &_motion) |
Checks if the motion is complete. More... | |
void | setMotionComplete (bool _complete) |
Resets the motion complete flag. More... | |
void | setIsReachable (const bool _isReachable) |
void | resetFatalError () |
This method resets the fatal error. More... | |
void | generateExternalProfile (const Nice::Date &_date, const Nice::NPoint &_positionSequence) |
This method fit, validates and buffers the external profile. More... | |
Private Attributes | |
std::map< std::string, MPIACoreProtocolPtr > | m_protocol |
This method resets the fatal error. More... | |
std::map< std::string, MoConCardPtr > | m_card |
This member keeps all card objects. More... | |
std::map< std::string, MoConModulePtr > | m_module |
This member keeps all module objects. More... | |
std::map< std::string, Nice::ChatLinePtr > | m_chat |
This member keeps all chat objects. More... | |
unsigned int | m_externalProfileSize |
int | m_externalProfileInfo |
Keeps the last external profile info value to reduce the number of log messages. More... | |
bool | m_isReachable |
Nice::Completion | m_completion |
This member is used to indicate which stop method should be used. More... | |
Nice::NPoint | m_targetPositions |
Nice::NPoint | m_startPosition |
Nice::NPoint | m_currentPosition |
bool | m_extended |
Nice::Mutex | m_mutex |
This is the MoCon device, which support to control N motors.
This class auto-generates a motor controller device interface for the MPIA in-house motor controller based on the user defined configuration file. The constructor goes through the property tree and connects to each defined module.
The name of a motor can be individually defined in the configuration file. The motor configuration will be stored in the property tree under the motor name. Thereby the motors in the property tree are sorted in alphabetical order. The same order is valid for the values in the vectors of the method parameter. For example the first absolute position in the vector of the method moveAbs belong to the motor A, the second value belong to the motor B, and so on.
The motor itself can be connected to any motor controller. That makes the command interface independent from the hardware configuration.
The electronic design of the motor controller distinguish between a motor controller card, that provides general commands (like network settings or commands to control multiple motors) and a motor controller module, that provides motor specific commands (like move commands). This class combine the motor controller module and the motor controller card to one device. It can control complex commands, which need a setup procedure first before it can be executed and it can handle event or error messages. It is the basement for all other application that have to operate with the motor controller.
Basda::MoConNDevice::MoConNDevice | ( | const Nice::JointPtr & | _config | ) |
Constructor.
The constructor gets the root node of the device as parameter like SVC.DEV.THE_DEVICE and creates a user defined motor controller device. Thereby a motor object is generated for each founded module in the property tree. The generated motor object reserves the motor to avoid a multible access from other clients. The corresponding card object will also be generated and stored in a list.
_config | the root node of the device which contain all modules |
Basda::MoConNDevice::~MoConNDevice | ( | ) |
Destructor.
removes all created bridges
Basda::MoConNDevice::MoConNDevice | ( | const Nice::JointPtr & | _config | ) |
Constructor.
The constructor gets the root node of the device as parameter like SVC.DEV.THE_DEVICE and creates a user defined motor controller device. Thereby a motor object is generated for each founded module in the property tree. The generated motor object reserves the motor to avoid a multible access from other clients. The corresponding card object will also be generated and stored in a list.
_config | the root node of the device which contain all modules |
Basda::MoConNDevice::~MoConNDevice | ( | ) |
Destructor.
removes all created bridges
|
virtual |
Abort the moving of the motor immediately without deceleration.
Implements Basda::MoccaDevice.
|
virtual |
Abort the moving of the motor immediately without deceleration.
Implements Basda::MoccaDevice.
|
virtual |
activate something
_asynch | the call back object |
Implements Basda::Device.
|
virtual |
activate something
_asynch | the call back object |
Implements Basda::Device.
|
private |
This method add the following internal status properties.
|
private |
This method add the following internal status properties.
|
virtual |
This method fit, validates and buffers the external profile.
_date | the start date of the external profile |
_positionSequence | the position sequence in steps |
Implements Basda::MoccaNDevice.
|
virtual |
This method fit, validates and buffers the external profile.
_date | the start date of the external profile |
_positionSequence | the position sequence in steps |
Implements Basda::MoccaNDevice.
|
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 |
_selectID | the sub command ID |
_cardNo | the ID of the MPIA electronic card |
_moduleNo | the ID of the device module |
_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
Implements Basda::MoccaNDevice.
|
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 |
_selectID | the sub command ID |
_cardNo | the ID of the MPIA electronic card |
_moduleNo | the ID of the device module |
_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
Implements Basda::MoccaNDevice.
|
virtual |
This method might be called when the service goes in the OFFLINE state.
The connection to the modules will be closed.
Implements Basda::Device.
|
virtual |
This method might be called when the service goes in the OFFLINE state.
The connection to the modules will be closed.
Implements Basda::Device.
|
private |
Calculate the completion percent.
_cmd | the command name which appears in the completion bar |
_asynch | the call back object |
|
private |
Calculate the completion percent.
_cmd | the command name which appears in the completion bar |
_asynch | the call back object |
std::string Basda::MoConNDevice::createConnectionID | ( | const std::string & | _address, |
const unsigned int | _cardNo, | ||
const unsigned int | _moduleNo | ||
) |
This method creates an ID based on the connection address, card number and module number separated by a colon to identify the module/card object in a map.
_address | the connection string |
_cardNo | the card number |
_moduleNo | the module number |
std::string Basda::MoConNDevice::createConnectionID | ( | const std::string & | _address, |
const unsigned int | _cardNo, | ||
const unsigned int | _moduleNo | ||
) |
This method creates an ID based on the connection address, card number and module number separated by a colon to identify the module/card object in a map.
_address | the connection string |
_cardNo | the card number |
_moduleNo | the module number |
|
private |
|
private |
|
virtual |
deactivate something
_asynch | the call back object |
Implements Basda::Device.
|
virtual |
deactivate something
_asynch | the call back object |
Implements Basda::Device.
|
virtual |
This method deinitialize the device and set the state to OFFLINE.
_asynch | the call back object |
Implements Basda::Device.
|
virtual |
This method deinitialize the device and set the state to OFFLINE.
_asynch | the call back object |
Implements Basda::Device.
|
inlinevirtual |
|
inlinevirtual |
|
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 |
Implements Basda::MoccaNDevice.
|
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 |
Implements Basda::MoccaNDevice.
|
virtual |
This method downloads all configuration parameter of the MoCon.
Implements Basda::MoccaNDevice.
|
virtual |
This method downloads all configuration parameter of the MoCon.
Implements Basda::MoccaNDevice.
|
private |
This method fit, validates and buffers the external profile.
_date | - the start date when the trajectory should start |
_positionSequence | - the position sequence in steps |
|
private |
This method fit, validates and buffers the external profile.
_date | - the start date when the trajectory should start |
_positionSequence | - the position sequence in steps |
|
virtual |
Returns the current positions of all motors.
The current position of all motors will be stored in the property
Implements Basda::MoccaNDevice.
|
virtual |
Returns the current positions of all motors.
The current position of all motors will be stored in the property
Implements Basda::MoccaNDevice.
|
virtual |
This method returns the basic settings of all MoCon module.
Implements Basda::MoccaNDevice.
|
virtual |
This method returns the basic settings of all MoCon module.
Implements Basda::MoccaNDevice.
|
virtual |
This method returns the current MoCon time.
For each motor, that name is stored in the vector, the current MoCon cycles and the PC time will be stored.
Implements Basda::MoccaNDevice.
|
virtual |
This method returns the current MoCon time.
For each motor, that name is stored in the vector, the current MoCon cycles and the PC time will be stored.
Implements Basda::MoccaNDevice.
|
virtual |
Returns the current positions of all motors.
The current position of all motors will be stored in the property
Implements Basda::MoccaNDevice.
|
virtual |
Returns the current positions of all motors.
The current position of all motors will be stored in the property
Implements Basda::MoccaNDevice.
|
virtual |
Returns the current positions of all motors.
The current position of all motors will be stored in the property
Implements Basda::MoccaNDevice.
|
virtual |
Returns the current positions of all motors.
The current position of all motors will be stored in the property
Implements Basda::MoccaNDevice.
|
virtual |
This method returns TCP connection timeout.
For each motor, that name is stored in the vector, the TCP connection timeout will be stored.
Implements Basda::MoccaNDevice.
|
virtual |
This method returns TCP connection timeout.
For each motor, that name is stored in the vector, the TCP connection timeout will be stored.
Implements Basda::MoccaNDevice.
|
virtual |
This method is deprecated and will be exchanged with getDeviceencoderPosition()
Implements Basda::MoccaNDevice.
|
virtual |
This method is deprecated and will be exchanged with getDeviceencoderPosition()
Implements Basda::MoccaNDevice.
|
virtual |
Returns the status of the position switch.
Implements Basda::MoccaNDevice.
|
virtual |
Returns the status of the position switch.
Implements Basda::MoccaNDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
This method synchronize the MoCon time with the PC time.
For each motor, that name is stored in the vector, the current MoCon cycles and the PC time will be stored.
Implements Basda::MoccaNDevice.
|
virtual |
This method synchronize the MoCon time with the PC time.
For each motor, that name is stored in the vector, the current MoCon cycles and the PC time will be stored.
Implements Basda::MoccaNDevice.
|
virtual |
Returns the current velocity of all motors.
The current velocity of all motors will be stored in the property
Implements Basda::MoccaNDevice.
|
virtual |
Returns the current velocity of all motors.
The current velocity of all motors will be stored in the property
Implements Basda::MoccaNDevice.
|
virtual |
This method initialize the device and set the state to INIT.
_asynch | the call back object |
Implements Basda::Device.
|
virtual |
This method initialize the device and set the state to INIT.
_asynch | the call back object |
Implements Basda::Device.
|
virtual |
This method indicate whether the motor is at the home position.
_atHome | each flag in that Bitset indicate whether the motor is at home (true - motor is at home;). The order of the bits is corresponding to the order of the motor names in the property tree (alphabetical). |
Implements Basda::MoccaNDevice.
|
virtual |
This method indicate whether the motor is at the home position.
_atHome | each flag in that Bitset indicate whether the motor is at home (true - motor is at home;). The order of the bits is corresponding to the order of the motor names in the property tree (alphabetical). |
Implements Basda::MoccaNDevice.
|
virtual |
Checks if one of the motors is in limit.
This method collects the limit flags of all motors and stores it in the property:
_limit | - return a vector with all motor limit switch flags (0 - not in limit; +/-1 in software limit; +/-2 in hardware limit) |
Implements Basda::MoccaNDevice.
|
virtual |
Checks if one of the motors is in limit.
This method collects the limit flags of all motors and stores it in the property:
_limit | - return a vector with all motor limit switch flags (0 - not in limit; +/-1 in software limit; +/-2 in hardware limit) |
Implements Basda::MoccaNDevice.
|
private |
Checks if the motion is complete.
This method collect the MOTION_COMPLETE flags of all motors.
The following property will indicate the motion completeness
_motion | returns which motor is in motion |
|
private |
Checks if the motion is complete.
This method collect the MOTION_COMPLETE flags of all motors.
The following property will indicate the motion completeness
_motion | returns which motor is in motion |
|
virtual |
Checks if one of the motors is in motion.
The method collects the motion flag of every motor and stores it in the property
_motion | returns which motor is in motion |
Implements Basda::MoccaNDevice.
|
virtual |
Checks if one of the motors is in motion.
The method collects the motion flag of every motor and stores it in the property
_motion | returns which motor is in motion |
Implements Basda::MoccaNDevice.
|
virtual |
Returns if the device is reachable.
Implements Basda::MoccaNDevice.
|
virtual |
Returns if the device is reachable.
Implements Basda::MoccaNDevice.
|
inlinevirtual |
The motors that are stored in the vector, move to the absolute position.
_positions | are the target positions of type Nice::NPoint whereas the order of the points is corresponding to the order of the motor names in the property tree (alphabetical). |
_asynch | the call back object |
Implements Basda::MoccaNDevice.
|
inlinevirtual |
The motors that are stored in the vector, move to the absolute position.
_positions | are the target positions of type Nice::NPoint whereas the order of the points is corresponding to the order of the motor names in the property tree (alphabetical). |
_asynch | the call back object |
Implements Basda::MoccaNDevice.
|
virtual |
Implements Basda::MoccaNDevice.
|
virtual |
Implements Basda::MoccaNDevice.
|
virtual |
Implements Basda::MoccaNDevice.
|
virtual |
Implements Basda::MoccaNDevice.
|
virtual |
move all motors out of the limit switches.
Due to a bug in the MoCon chipset it is required to move all motors out of the limit before move to home. The MoCon will crash otherwise!
No asynchronous command is available because the moveToHome method needs this synchronous method to be sure that all motors are out of the limit after that call.
_motor | the motor ID. The order of motors is the same as in the property tree (alphabetical). If the motor ID is -1, all motors will move out of the limit |
_asynch | the call back object |
|
virtual |
move all motors out of the limit switches.
Due to a bug in the MoCon chipset it is required to move all motors out of the limit before move to home. The MoCon will crash otherwise!
No asynchronous command is available because the moveToHome method needs this synchronous method to be sure that all motors are out of the limit after that call.
_motor | the motor ID. The order of motors is the same as in the property tree (alphabetical). If the motor ID is -1, all motors will move out of the limit |
_asynch | the call back object |
|
inlinevirtual |
The motors that are stored in the vector move to the relative position.
_positions | are the target positions of type Nice::NPoint whereas the order of the points is corresponding to the order of the motor names in the property tree (alphabetical). |
_asynch | the call back object |
Implements Basda::MoccaNDevice.
|
inlinevirtual |
The motors that are stored in the vector move to the relative position.
_positions | are the target positions of type Nice::NPoint whereas the order of the points is corresponding to the order of the motor names in the property tree (alphabetical). |
_asynch | the call back object |
Implements Basda::MoccaNDevice.
|
virtual |
Implements Basda::MoccaNDevice.
|
virtual |
Implements Basda::MoccaNDevice.
|
virtual |
Implements Basda::MoccaNDevice.
|
virtual |
Implements Basda::MoccaNDevice.
|
inlinevirtual |
All motors of the device are looking for the reference positions and reset the step counter to zero.
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
inlinevirtual |
All motors of the device are looking for the reference positions and reset the step counter to zero.
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
inlinevirtual |
A single motor of the device is looking for the reference positions and reset the step counter to zero.
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
inlinevirtual |
A single motor of the device is looking for the reference positions and reset the step counter to zero.
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
inlinevirtual |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches.
_limit | a vector that contains to which limit the motors have to move (_limits[i]= 1 - to positive software limit) (_limits[i]=-1 - to negative software limit) (_limits[i]= 2 - to positive hardware limit) - needed to initialize the SE (_limits[i]=-2 - to negative hardware limit) - needed to initialize the SE whereas the order of the points is corresponding to the order of the motor names in the property tree (alphabetical). |
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
inlinevirtual |
move all motors to the positive limit switches (_limits[i]>0) or negative (_limits[i]<0) limit switches.
_limit | a vector that contains to which limit the motors have to move (_limits[i]= 1 - to positive software limit) (_limits[i]=-1 - to negative software limit) (_limits[i]= 2 - to positive hardware limit) - needed to initialize the SE (_limits[i]=-2 - to negative hardware limit) - needed to initialize the SE whereas the order of the points is corresponding to the order of the motor names in the property tree (alphabetical). |
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
inlinevirtual |
All motors of the device move to the negative software limit switch.
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
inlinevirtual |
All motors of the device move to the negative software limit switch.
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
inlinevirtual |
All motors of the device move to the positive software limit switch.
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
inlinevirtual |
All motors of the device move to the positive software limit switch.
_asynch | the call back object |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
Implements Basda::MoccaDevice.
|
virtual |
This method might be called when the service goes in the INIT state.
It connects to all motor controller.
Right now it initialize the motor, download the configuration file and get the all amplifier information.
Implements Basda::Device.
|
virtual |
This method might be called when the service goes in the INIT state.
It connects to all motor controller.
Right now it initialize the motor, download the configuration file and get the all amplifier information.
Implements Basda::Device.
|
virtual |
This method setup the acceleration anv velocity for a direct point to point move.
_acceleration | |
_velocity | |
_deceleration |
Implements Basda::MoccaNDevice.
|
virtual |
This method setup the acceleration anv velocity for a direct point to point move.
_acceleration | |
_velocity | |
_deceleration |
Implements Basda::MoccaNDevice.
|
virtual |
This method prepares a direct point to point movement of a xy device.
The movement starts using the startExternalProfile method without parameter.
Implements Basda::MoccaNDevice.
|
virtual |
This method prepares a direct point to point movement of a xy device.
The movement starts using the startExternalProfile method without parameter.
Implements Basda::MoccaNDevice.
|
virtual |
This method set the motors, which will be moved or stopped synchronously.
With the command parameter the motors connected to the same MoCon card as the first motor of this device, will be programmed to execute the movement synchronously. (Motors of the same device can be connected to different MoCon cards, but this command considers only the motors which belongs to the same card of the first motor of that device.)
All move, stop and abort command can be used to manipulate the motor movement. The command execution of these command will be done with startMoveSync()
_motors | This is a 8 bit number where every bit belongs to a motor (bit 0 = motor 1, ... bit 7 = motor 8) false = motor is not assigned true = motor is assigned |
Implements Basda::MoccaNDevice.
|
virtual |
This method set the motors, which will be moved or stopped synchronously.
With the command parameter the motors connected to the same MoCon card as the first motor of this device, will be programmed to execute the movement synchronously. (Motors of the same device can be connected to different MoCon cards, but this command considers only the motors which belongs to the same card of the first motor of that device.)
All move, stop and abort command can be used to manipulate the motor movement. The command execution of these command will be done with startMoveSync()
_motors | This is a 8 bit number where every bit belongs to a motor (bit 0 = motor 1, ... bit 7 = motor 8) false = motor is not assigned true = motor is assigned |
Implements Basda::MoccaNDevice.
|
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. |
Implements Basda::MoccaNDevice.
|
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. |
Implements Basda::MoccaNDevice.
|
virtual |
This method might be called when the service will be reseted.
The connection to the modules will be closed and opened again.
_asynch | the call back object |
Implements Basda::Device.
|
virtual |
This method might be called when the service will be reseted.
The connection to the modules will be closed and opened again.
_asynch | the call back object |
Implements Basda::Device.
|
private |
This method resets the fatal error.
|
private |
This method resets the fatal error.
|
virtual |
Set the acceleration configuration parameter of all motors.
_acceleration | a vector with the acceleration of all motors |
Implements Basda::MoccaNDevice.
|
virtual |
Set the acceleration configuration parameter of all motors.
_acceleration | a vector with the acceleration of all motors |
Implements Basda::MoccaNDevice.
void Basda::MoConNDevice::setChatType | ( | std::map< std::string, Nice::ChatLinePtr > | _chat | ) |
void Basda::MoConNDevice::setChatType | ( | std::map< std::string, Nice::ChatLinePtr > | _chat | ) |
|
virtual |
This method indicates all motor whether they have a collision or not.
_collisions | a sequence of points where x is the indicator for a collision on the negative side and y is the indicator for a collision on the positive side |
Implements Basda::MoccaNDevice.
|
virtual |
This method indicates all motor whether they have a collision or not.
_collisions | a sequence of points where x is the indicator for a collision on the negative side and y is the indicator for a collision on the positive side |
Implements Basda::MoccaNDevice.
|
virtual |
Set the deceleration configuration parameter of all motors.
_deceleration | a vector with the deceleration of all motors |
Implements Basda::MoccaNDevice.
|
virtual |
Set the deceleration configuration parameter of all motors.
_deceleration | a vector with the deceleration of all motors |
Implements Basda::MoccaNDevice.
|
virtual |
Set the jerk configuration parameter of all motors.
_jerk | a vector with the jerk of all motors |
Implements Basda::MoccaNDevice.
|
virtual |
Set the jerk configuration parameter of all motors.
_jerk | a vector with the jerk of all motors |
Implements Basda::MoccaNDevice.
|
virtual |
This method sets TCP connection timeout.
For each motor, the TCP connection timeout will be stored.
_tcpConnectionTimeout | a vector with the TCP connection timeout |
Implements Basda::MoccaNDevice.
|
virtual |
This method sets TCP connection timeout.
For each motor, the TCP connection timeout will be stored.
_tcpConnectionTimeout | a vector with the TCP connection timeout |
Implements Basda::MoccaNDevice.
|
private |
Resets the motion complete flag.
This method set back the motion complete flag.
The following property is used
|
private |
Resets the motion complete flag.
This method set back the motion complete flag.
The following property is used
|
virtual |
Change the absolute position of all motors.
The motor will not move, but the MoCon position and incremental psoition will be set to the given position value. The new position value can only be inside the travel range.
_position | a vector with the new MoCon and incremental encoder position of all motors |
Implements Basda::MoccaNDevice.
|
virtual |
Change the absolute position of all motors.
The motor will not move, but the MoCon position and incremental psoition will be set to the given position value. The new position value can only be inside the travel range.
_position | a vector with the new MoCon and incremental encoder position of all motors |
Implements Basda::MoccaNDevice.
|
virtual |
Set the velocity configuration parameter of all motors.
_velocity | a vector with the velocity of all motors |
Implements Basda::MoccaNDevice.
|
virtual |
Set the velocity configuration parameter of all motors.
_velocity | a vector with the velocity of all motors |
Implements Basda::MoccaNDevice.
|
virtual |
This method setup and starts the external profile for a XY device.
_date | the external profile start date |
_positionSequence | the point cloud in steps |
_frequency | samples per second |
_maxSamplesPerSegment | the maximal number for samples in a segment |
_faultTolerance | the maximal deviation |
_async |
Implements Basda::MoccaNDevice.
|
virtual |
This method setup and starts the external profile for a XY device.
_date | the external profile start date |
_positionSequence | the point cloud in steps |
_frequency | samples per second |
_maxSamplesPerSegment | the maximal number for samples in a segment |
_faultTolerance | the maximal deviation |
_async |
Implements Basda::MoccaNDevice.
|
virtual |
This method starts a trajectory now.
Implements Basda::MoccaNDevice.
|
virtual |
This method starts a trajectory now.
Implements Basda::MoccaNDevice.
|
virtual |
Start the movement of the motors that are programmed with prepareMoveSync() and the move, stop and abort commands before.
Implements Basda::MoccaNDevice.
|
virtual |
Start the movement of the motors that are programmed with prepareMoveSync() and the move, stop and abort commands before.
Implements Basda::MoccaNDevice.
|
virtual |
This method stops the motor with a deceleration.
Implements Basda::MoccaDevice.
|
virtual |
This method stops the motor with a deceleration.
Implements Basda::MoccaDevice.
|
virtual |
This method returns the version string of the device.
Implements Basda::Device.
|
virtual |
This method returns the version string of the device.
Implements Basda::Device.
void Basda::MoConNDevice::waitForNextTrigger | ( | Nice::Date | _date, |
Basda::DeviceAsync & | _async = Basda::Device::s_async |
||
) |
This method wait until the next trigger has tobe raised.
_date | the absolute time for the next trigger |
void Basda::MoConNDevice::waitForNextTrigger | ( | Nice::Date | _date, |
Basda::DeviceAsync & | _async = Basda::Device::s_async |
||
) |
This method wait until the next trigger has tobe raised.
_date | the absolute time for the next trigger |
|
private |
This member keeps all card objects.
The key is the connection ID which is composed by the connection address, the card number and the module number.
|
private |
This member keeps all chat objects.
The original Nice::Chat::Line object can be exchanged with a Chat::LineMock object to simulate the MoCon behavior.
|
private |
This member is used to indicate which stop method should be used.
The generic interface call just the stop method in order to stop the current movement or to stop the current running profile. This flag indicates whether the external profile has started and have to be stopped with setExternalProfileStop. But this device allows to move the motors via the standard move commands as long as the programmed start time is not reached. In that case the standard move commands have to temporarily set back the flag in order to stop the move command and have to restore the flag when the command is executed.
|
private |
|
private |
|
private |
Keeps the last external profile info value to reduce the number of log messages.
|
private |
|
private |
|
private |
This member keeps all module objects.
The key is the connection ID which is composed by the connection address, the card number and the module number.
|
private |
|
private |
|
private |
|
private |