33 namespace canopen_schunk {
84 virtual bool setTarget (
const std::vector<float>& targets );
323 template <
typename NodeT>
338 #endif // DS402GROUP_H std::vector< DS402Node::Ptr > m_ds402_nodes
virtual void configureHomingSpeeds(const uint32_t low_speed, const uint32_t high_speed=0, const int16_t node_id=-1)
Set the speeds for homing through SDO 6099. Typically, a high speed is used when searching for a home...
virtual void setDefaultPDOMapping(const DS402Node::eDefaultPDOMapping mapping, const int16_t node_id=-1)
Choose one of the predefined default mappings. Please see the enum eDefaultPDOMapping for a list of a...
Configuration parameters for a Profile_Position_Mode according to CiA DSP-402 V1.1 section 12...
virtual void setupHomingMode(const ds402::HomingModeConfiguration &config, const int16_t node_id=-1)
Configure the mandatory parameters for a homing mode.
boost::shared_ptr< const DS402Group > ConstPtr
Shared pointer to a const DS402Group.
DS301Node::Ptr addNode(const uint8_t node_id, const CanDevPtr can_device, HeartBeatMonitor::Ptr heartbeat_monitor)
Creates a new node and adds it to the group.
virtual void getTargetFeedback(std::vector< double > &feedback)
Depending on the mode of operation, this will return the current position, velocity or torque...
Configuration parameters for a Profile_Velocity_Mode according to CiA DSP-402 V1.1 section 16...
virtual bool setTarget(const std::vector< float > &targets)
Sets the target for the motor. What that target is, depends on the selected mode of operation...
virtual void getModeOfOperation(std::vector< ds402::eModeOfOperation > &modes)
Gets a vector of the Mode of operation of all nodes within this group.
The DS301Group class is the base Class for all canOpen device groups, providing basic interfaces to t...
The DS402Group class is the base class for canOpen devices implementing the DS402 device protocol (mo...
virtual void openBrakes(const int16_t node_id=-1)
When the device is in OperationEnabled mode, this function enables the drive motion.
virtual bool isModeSupported(const ds402::eModeOfOperation op_mode, const int16_t node_id=-1)
Tests whether a given mode of operation is supported by the device.
virtual void startPPMovement(const int16_t node_id=-1)
This sets the RPDO communication for enabling the movement after a target has been set...
The CanOpenController class is the main entry point for any calls to the canOpen System.
virtual void printStatus(const int16_t node_id=-1)
Prints a stringified version of the statusword to the logging system.
virtual void enableNodes(const ds402::eModeOfOperation operation_mode=ds402::MOO_RESERVED_0, const int16_t node_id=-1)
Switches on the device and enters Operation Enabled mode with the given mode. If the requested mode i...
virtual void setupProfilePositionMode(const ds402::ProfilePositionModeConfiguration &config, const int16_t node_id=-1)
Configure the mandatory parameters for a profile position mode.
virtual bool resetFault(const int16_t node_id=-1)
This function is used to recover from a fault state.
virtual void acceptPPTargets(const int16_t node_id=-1)
After enabling PP movement, this enables accepting new targets again. Remember to sync all nodes and ...
virtual void setupProfileVelocityMode(const ds402::ProfileVelocityModeConfiguration &config, const int16_t node_id=-1)
Configure the mandatory parameters for a profile velocity mode.
virtual void initNodes(const int16_t node_id=-1)
Initializes the node. Tries to query all required data from the device.
virtual void home(const int16_t node_id=-1)
Perform homing for nodes.
boost::shared_ptr< DS402Group > Ptr
Shared pointer to a DS402Group.
virtual bool isTargetReached(std::vector< bool > &reached_single)
Returns whether the device has reached it's recent target.
virtual bool setModeOfOperation(const ds402::eModeOfOperation op_mode, const int16_t node_id=-1)
Sets and initializes a mode of operation. First it will check whether the device supports the request...
Configuration parameters for a Profile_Torque_Mode according to CiA DSP-402 V1.1 section 17...
virtual void setupProfileTorqueMode(const ds402::ProfileTorqueModeConfiguration &config, const int16_t node_id=-1)
Configure the mandatory parameters for a profile torque mode.
virtual void closeBrakes(const int16_t node_id=-1)
When the device is in OperationEnabled mode, this function disables the drive motion.
virtual void quickStop(const int16_t node_id=-1)
This sends the controlword for performing a quick_stop.
virtual void configureInterpolationCycleTime(const int16_t node_id=-1, const uint8_t interpolation_cycle_time_ms=20)
Set the interpolation cycle time in milliseconds. If no time is given the default will be used...
virtual void configureHomingMethod(const int8_t homing_method, const int16_t node_id=-1)
Set the device's homing method through an SDO (OD 0x6098)
virtual void disableNodes(const int16_t node_id=-1)
Puts the device into STATE_SWITCHED_ON mode. If the device was in InterpolatedPositionMode, interpolation will be stopped here, as well.
DS402Group(const std::string &name="")
Configuration parameters for a Homing_Mode according to CiA DSP-402 V1.1 section 13.2.1.