SchunkPowerBallNode.h
Go to the documentation of this file.
1 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2 // -- BEGIN LICENSE BLOCK ----------------------------------------------
3 // This file is part of the SCHUNK Canopen Driver suite.
4 //
5 // This program is free software licensed under the LGPL
6 // (GNU LESSER GENERAL PUBLIC LICENSE Version 3).
7 // You can find a copy of this license in LICENSE folder in the top
8 // directory of the source code.
9 //
10 // © Copyright 2016 SCHUNK GmbH, Lauffen/Neckar Germany
11 // © Copyright 2016 FZI Forschungszentrum Informatik, Karlsruhe, Germany
12 // -- END LICENSE BLOCK ------------------------------------------------
13 //----------------------------------------------------------------------
20 //----------------------------------------------------------------------
21 
22 #ifndef SCHUNKPOWERBALLNODE_H
23 #define SCHUNKPOWERBALLNODE_H
24 
25 #include "DS402Node.h"
26 
27 namespace icl_hardware {
28 namespace canopen_schunk {
29 
47 {
48 public:
53 
57  static const double RAD_TO_STEPS_FACTOR = 57295.7795131;
58 
59  SchunkPowerBallNode(const uint8_t node_id, const icl_hardware::canopen_schunk::CanDevPtr& can_device, HeartBeatMonitor::Ptr heartbeat_monitor);
60 
70  void commutationSearch();
71 
82  virtual void configureHomingMethod (const uint8_t homing_method);
83 
93  virtual void configureHomingSpeeds (const uint32_t low_speed, const uint32_t high_speed = 0);
94 
98  virtual void initNode ();
99 
100  virtual void setDefaultPDOMapping (const DS402Node::eDefaultPDOMapping mapping);
101 
102 protected:
109  virtual void configureInterpolationData (const uint8_t buffer_organization = 0,
110  const int16_t interpolation_type = 0,
111  const uint8_t size_of_data_record = 4);
112 
113 private:
120  bool CommutationCalibrated ();
121 };
122 
123 }} // end of NS
124 #endif // SCHUNKPOWERBALLNODE_H
unsigned int uint32_t
bool CommutationCalibrated()
Checks if the device is already correctly commutated by checking the value of the relevant register e...
virtual void initNode()
Initializes the node and sets the Schunk Default PDO mapping.
void commutationSearch()
Performs a commutation search for a Schunk powerball module.
boost::shared_ptr< SchunkPowerBallNode > Ptr
Shared pointer to a SchunkPowerBallNode.
This class gives a device specific interface for Schunk Powerballs, as they need some "special" treat...
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 b...
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 a...
unsigned char uint8_t
virtual void configureHomingMethod(const uint8_t homing_method)
Set the device&#39;s homing method for a Schunk PowerBall.
boost::shared_ptr< const SchunkPowerBallNode > ConstPtr
Shared pointer to a const SchunkPowerBallNode.
virtual void configureHomingSpeeds(const uint32_t low_speed, const uint32_t high_speed=0)
Set the speeds for homing for a Schunk PowerBall.
signed short int16_t
Class that holds devices according to the DS402 (drives and motion control) specification.
Definition: DS402Node.h:43
static const double RAD_TO_STEPS_FACTOR
This factor will be used to convert RAD numbers into encoder ticks.


schunk_canopen_driver
Author(s): Felix Mauch , Georg Heppner
autogenerated on Mon Jun 10 2019 15:07:49