Namespaces | |
namespace | ds301 |
namespace | ds402 |
Classes | |
class | CanOpenController |
The CanOpenController class is the main entry point for any calls to the canOpen System. More... | |
class | CanOpenReceiveThread |
The CanOpenReceiveThread class handles incoming canOpen messages. More... | |
class | DeviceException |
If something goes wrong with the host's CAN controller, this exception will be used. More... | |
class | DS301Group |
The DS301Group class is the base Class for all canOpen device groups, providing basic interfaces to the DS301 functionality. More... | |
class | DS301Node |
The DS301Node class Is the base class representation of canOpen devices. It is the access point to the most relevant functionalities of the DS301 protocol (canOpen) More... | |
class | DS402Group |
The DS402Group class is the base class for canOpen devices implementing the DS402 device protocol (motors) More... | |
class | DS402Node |
Class that holds devices according to the DS402 (drives and motion control) specification. More... | |
class | EMCY |
The EMCY class handles the spontaneously occurring Emergency (EMCY) messages, keeps track of a nodes EMCY state and offers translation of the error codes to human readable form. More... | |
class | HeartBeatMonitor |
class | NMT |
The NMT class provides access to NMT functions of the canOpen protocol and keeps the NMT state of canOpen nodes. More... | |
class | NotFoundException |
This exception is thrown if a requested node or node group does not exist. More... | |
class | PDO |
The PDO class provides access to one (of the possible multiple) Process Data Object of a canOpen node. The class provides structures for transmit and received data and the functions to trigger down- and uploads. More... | |
class | PDOException |
PDO related exceptions go here. More... | |
class | ProtocolException |
Basic CanOpen exception that contains the Object dictionary index and subindex. More... | |
class | ResponseException |
Exceptions relating to device responses. More... | |
class | RPDO |
This class describes Receive PDOs, meaning PDOs that send data from the host to the device. More... | |
class | SchunkPowerBallNode |
This class gives a device specific interface for Schunk Powerballs, as they need some "special" treatment such as commutation search instead of homing. More... | |
class | SDO |
The SDO class represents Service Data Objects (SDO) that are used for slow access of the canOpen object dictionary. It uses the COB-ID which identifies entry with a 16bit index and 8 bit sub index and allows read and write operations. The SDO is mainly used to set up the system before the actual cyclic operation starts. This class holds the generic data, provides the up- and download functionality and parses incoming SDOs to ensure that they are correct. More... | |
class | TimeoutException |
If a device response times out, this exception will be thrown. More... | |
class | TPDO |
This class describes Transmit PDOs, meaning PDOs that send data from the device to the host. More... | |
Typedefs | |
typedef boost::shared_ptr < icl_hardware::can::tCanDevice > | CanDevPtr |
typedef icl_hardware::can::tCanMessage | CanMsg |
typedef boost::shared_ptr < CanOpenReceiveThread > | CanOpenReceiveThreadPtr |
typedef boost::function< void(const icl_hardware::can::tCanMessage &msg)> | ReceivedPacketCallback |
definition of boost function callback for received packages | |
Functions | |
std::string | binaryString (const uint64_t num) |
template<typename T > | |
std::string | binaryString (const T num) |
int | boolify (int v) |
template<typename T > | |
T | convertFromCharVector (const std::vector< uint8_t > &vec) |
This converts a vector of uint8_t entries into another datatype with a matching byte length. The target datatypes must be of the same size as the vector has entries. Otherwise a std::bad_cast exception is thrown. So make sure to use a try/catch mechanism when using this function. | |
template<typename T > | |
std::vector< uint8_t > | convertToCharVector (const T value) |
This little helper transforms any datatype that has a size of at most 4 Bytes into a vector of uint8_t. If the data can't be converted, because its size is more than 4 bytes, the vector will be empty. | |
DECLARE_LOG_STREAM (CanOpen) | |
std::map< uint32_t, std::string > | getErrorMapFromConfigFile (const std::string &filename, const std::string &category="error_codes") |
Creates an error map from a given INI file. | |
std::string | hexArrayToString (const unsigned char *msg, const uint8_t length) |
Transforms an array of unsigned chars into a string of Hex representations of those chars. | |
std::string | hexToString (const uint64_t num) |
Converts a hexadecimal number into its string representation 0xXX. | |
REGISTER_LOG_STREAM (CanOpen) | |
std::string | sanitizeString (const std::string &text) |
This function removes all non-graphical characters from the given string. | |
static void | sendSync (const CanDevPtr &can_device) |
sendSync sends a SYNC message which is used to ensure synchronous processing of all CanOpen nodes. |
typedef boost::shared_ptr<icl_hardware::can::tCanDevice> icl_hardware::canopen_schunk::CanDevPtr |
typedef boost::shared_ptr<CanOpenReceiveThread> icl_hardware::canopen_schunk::CanOpenReceiveThreadPtr |
typedef boost::function<void (const icl_hardware::can::tCanMessage& msg)> icl_hardware::canopen_schunk::ReceivedPacketCallback |
definition of boost function callback for received packages
Definition at line 39 of file CanOpenReceiveThread.h.
std::string icl_hardware::canopen_schunk::binaryString | ( | const uint64_t | num | ) |
Definition at line 53 of file helper.cpp.
std::string icl_hardware::canopen_schunk::binaryString | ( | const T | num | ) |
int icl_hardware::canopen_schunk::boolify | ( | int | v | ) |
Definition at line 32 of file SchunkPowerBallNode.cpp.
T icl_hardware::canopen_schunk::convertFromCharVector | ( | const std::vector< uint8_t > & | vec | ) | [inline] |
This converts a vector of uint8_t entries into another datatype with a matching byte length. The target datatypes must be of the same size as the vector has entries. Otherwise a std::bad_cast exception is thrown. So make sure to use a try/catch mechanism when using this function.
vec | Vector of uint8_t entries |
std::vector<uint8_t> icl_hardware::canopen_schunk::convertToCharVector | ( | const T | value | ) | [inline] |
This little helper transforms any datatype that has a size of at most 4 Bytes into a vector of uint8_t. If the data can't be converted, because its size is more than 4 bytes, the vector will be empty.
value | arbitrary datatype value |
icl_hardware::canopen_schunk::DECLARE_LOG_STREAM | ( | CanOpen | ) |
std::map< uint32_t, std::string > icl_hardware::canopen_schunk::getErrorMapFromConfigFile | ( | const std::string & | filename, |
const std::string & | category = "error_codes" |
||
) |
Creates an error map from a given INI file.
The outcoming std::map will have uint32_t as identifiers and strings as messages. The file has to be structured as follows:
[error_codes] 0xXXXXXXXX=Message string of error error_code ...
the category "error_codes" can be any arbitrary identifier
filename | Filename of INI file |
category | Category string |
Definition at line 75 of file helper.cpp.
std::string icl_hardware::canopen_schunk::hexArrayToString | ( | const unsigned char * | msg, |
const uint8_t | length | ||
) |
Transforms an array of unsigned chars into a string of Hex representations of those chars.
msg | Array with bytes to print |
length | Number of entries in the array |
Definition at line 42 of file helper.cpp.
std::string icl_hardware::canopen_schunk::hexToString | ( | const uint64_t | num | ) |
Converts a hexadecimal number into its string representation 0xXX.
num | char with hexadecimal number |
Definition at line 33 of file helper.cpp.
std::string icl_hardware::canopen_schunk::sanitizeString | ( | const std::string & | text | ) |
This function removes all non-graphical characters from the given string.
All spaces, tabs and all special characters not in !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ will be removed.
[in] | text | String that will be parsed |
Definition at line 62 of file helper.cpp.
static void icl_hardware::canopen_schunk::sendSync | ( | const CanDevPtr & | can_device | ) | [inline, static] |