This class gives a device specific interface for Schunk Powerballs, as they need some "special" treatment such as commutation search instead of homing. More...
#include <SchunkPowerBallNode.h>
Public Types | |
typedef boost::shared_ptr < const SchunkPowerBallNode > | ConstPtr |
Shared pointer to a const SchunkPowerBallNode. | |
typedef boost::shared_ptr < SchunkPowerBallNode > | Ptr |
Shared pointer to a SchunkPowerBallNode. | |
Public Member Functions | |
void | commutationSearch () |
Performs a commutation search for a Schunk powerball module. | |
virtual void | configureHomingMethod (const uint8_t homing_method) |
Set the device's homing method for a Schunk PowerBall. | |
virtual void | configureHomingSpeeds (const uint32_t low_speed, const uint32_t high_speed=0) |
Set the speeds for homing for a Schunk PowerBall. | |
virtual void | initNode () |
Initializes the node and sets the Schunk Default PDO mapping. | |
SchunkPowerBallNode (const uint8_t node_id, const icl_hardware::canopen_schunk::CanDevPtr &can_device, HeartBeatMonitor::Ptr heartbeat_monitor) | |
virtual void | setDefaultPDOMapping (const DS402Node::eDefaultPDOMapping mapping) |
Choose one of the predefined default mappings. Please see the enum eDefaultPDOMapping for a list of available mappings. See the implementation for further details about the mappings. | |
Static Public Attributes | |
static const double | RAD_TO_STEPS_FACTOR = 57295.7795131 |
This factor will be used to convert RAD numbers into encoder ticks. | |
Protected Member Functions | |
virtual void | configureInterpolationData (const uint8_t buffer_organization=0, const int16_t interpolation_type=0, const uint8_t size_of_data_record=4) |
Additionally to the basis implementation this sets a number of cycles that are allowed to be missed by device before stopping execution. | |
Private Member Functions | |
bool | CommutationCalibrated () |
Checks if the device is already correctly commutated by checking the value of the relevant register entry (via SDO communication). |
This class gives a device specific interface for Schunk Powerballs, as they need some "special" treatment such as commutation search instead of homing.
Also, the powerballs have predefined PDO mappings: RPDO0 (Commands from PC to device):
TPDO (Information from device to PC):
Definition at line 46 of file SchunkPowerBallNode.h.
typedef boost::shared_ptr<const SchunkPowerBallNode> icl_hardware::canopen_schunk::SchunkPowerBallNode::ConstPtr |
Shared pointer to a const SchunkPowerBallNode.
Reimplemented from icl_hardware::canopen_schunk::DS402Node.
Definition at line 52 of file SchunkPowerBallNode.h.
typedef boost::shared_ptr<SchunkPowerBallNode> icl_hardware::canopen_schunk::SchunkPowerBallNode::Ptr |
Shared pointer to a SchunkPowerBallNode.
Reimplemented from icl_hardware::canopen_schunk::DS402Node.
Definition at line 50 of file SchunkPowerBallNode.h.
icl_hardware::canopen_schunk::SchunkPowerBallNode::SchunkPowerBallNode | ( | const uint8_t | node_id, |
const icl_hardware::canopen_schunk::CanDevPtr & | can_device, | ||
HeartBeatMonitor::Ptr | heartbeat_monitor | ||
) |
Definition at line 37 of file SchunkPowerBallNode.cpp.
bool icl_hardware::canopen_schunk::SchunkPowerBallNode::CommutationCalibrated | ( | ) | [private] |
Checks if the device is already correctly commutated by checking the value of the relevant register entry (via SDO communication).
Definition at line 171 of file SchunkPowerBallNode.cpp.
Performs a commutation search for a Schunk powerball module.
The commutation search gives information about where the module is when it is switched on. Basically, this gets called automatically the first time a movement is requested from the device.
Make sure, this is called during the initialization process (This should be taken care of by this driver already)
Definition at line 109 of file SchunkPowerBallNode.cpp.
void icl_hardware::canopen_schunk::SchunkPowerBallNode::configureHomingMethod | ( | const uint8_t | homing_method | ) | [virtual] |
Set the device's homing method for a Schunk PowerBall.
Reimplementation for a Schunk powerball. It does not support to write the homing method register 0x6098. Therefor this only sets the internal member variable to the given value. Any value different from 0 enables the homing mode. Apart from that, it's value will be ignored.
homing_method | Note that this parameter will be ignored. |
Definition at line 188 of file SchunkPowerBallNode.cpp.
void icl_hardware::canopen_schunk::SchunkPowerBallNode::configureHomingSpeeds | ( | const uint32_t | low_speed, |
const uint32_t | high_speed = 0 |
||
) | [virtual] |
Set the speeds for homing for a Schunk PowerBall.
Reimplementation for a Schunk powerball. It does not support to write the homing method register 0x6099.
low_speed | Note that this parameter will be ignored. |
high_speed | Note that this parameter will be ignored. |
Reimplemented from icl_hardware::canopen_schunk::DS402Node.
Definition at line 196 of file SchunkPowerBallNode.cpp.
void icl_hardware::canopen_schunk::SchunkPowerBallNode::configureInterpolationData | ( | const uint8_t | buffer_organization = 0 , |
const int16_t | interpolation_type = 0 , |
||
const uint8_t | size_of_data_record = 4 |
||
) | [protected, virtual] |
Additionally to the basis implementation this sets a number of cycles that are allowed to be missed by device before stopping execution.
See the basis implementation for member documentation.
Reimplemented from icl_hardware::canopen_schunk::DS402Node.
Definition at line 204 of file SchunkPowerBallNode.cpp.
void icl_hardware::canopen_schunk::SchunkPowerBallNode::initNode | ( | ) | [virtual] |
Initializes the node and sets the Schunk Default PDO mapping.
Reimplemented from icl_hardware::canopen_schunk::DS402Node.
Definition at line 44 of file SchunkPowerBallNode.cpp.
void icl_hardware::canopen_schunk::SchunkPowerBallNode::setDefaultPDOMapping | ( | const DS402Node::eDefaultPDOMapping | mapping | ) | [virtual] |
Choose one of the predefined default mappings. Please see the enum eDefaultPDOMapping for a list of available mappings. See the implementation for further details about the mappings.
mapping | Mapping that should be set. |
Reimplemented from icl_hardware::canopen_schunk::DS402Node.
Definition at line 52 of file SchunkPowerBallNode.cpp.
const double icl_hardware::canopen_schunk::SchunkPowerBallNode::RAD_TO_STEPS_FACTOR = 57295.7795131 [static] |
This factor will be used to convert RAD numbers into encoder ticks.
Definition at line 57 of file SchunkPowerBallNode.h.