Namespaces | |
serial | |
Classes | |
class | ArrayBuilder |
class | Logger |
Small singleton-based logging class with an exchangeable log handler. More... | |
class | LogHandler |
class | ShellLogHandler |
class | SVHControlCommand |
ControlCommands are given as a single target position for the position controller (given in ticks) More... | |
class | SVHControlCommandAllChannels |
Structure for transmitting all controllcommands at once. More... | |
class | SVHController |
This class controls the the SCHUNK five finger hand. More... | |
struct | SVHControllerFeedback |
The SVHControllerFeedback saves the feedback of a single motor. More... | |
struct | SVHControllerFeedbackAllChannels |
The SVHControllerFeedbackAllChannes saves the feedback of a all motors. More... | |
struct | SVHControllerState |
The SVHControllerState indicates the current state of the MeCoVis controller IC which is used in the SVH. More... | |
struct | SVHCurrentSettings |
The SVHCurrentSettings save the current controller paramters for a single motor. More... | |
struct | SVHEncoderSettings |
The SVHEncoderSettings hold the settings for the encoder scaling of each channel. More... | |
class | SVHFingerManager |
struct | SVHFirmwareInfo |
The SVHFirmwareInfo holds the data of a firmware response from the hardware. More... | |
struct | SVHHomeSettings |
data sctructure for home positions More... | |
struct | SVHPositionSettings |
The SVHPositionSettings save the position controller paramters for a single motor. More... | |
class | SVHReceiveThread |
Class for receiving messages from the serial device. More... | |
class | SVHSerialInterface |
Basic communication handler for the SCHUNK five finger hand. More... | |
struct | SVHSerialPacket |
The SerialPacket holds the (non generated) header and data of one message to the SVH-Hardware. More... | |
Typedefs | |
using | ReceivedPacketCallback = std::function< void(const SVHSerialPacket &packet, unsigned int packet_count)> |
definition of function callback for received packages More... | |
Enumerations | |
enum | LogLevel { LogLevel::DEBUG = 0, LogLevel::INFO, LogLevel::WARN, LogLevel::ERROR, LogLevel::FATAL, LogLevel::NONE } |
enum | SVHChannel { SVH_ALL = -1, SVH_THUMB_FLEXION = 0, SVH_THUMB_OPPOSITION, SVH_INDEX_FINGER_DISTAL, SVH_INDEX_FINGER_PROXIMAL, SVH_MIDDLE_FINGER_DISTAL, SVH_MIDDLE_FINGER_PROXIMAL, SVH_RING_FINGER, SVH_PINKY, SVH_FINGER_SPREAD, SVH_DIMENSION } |
Functions | |
template<typename T > | |
size_t | fromLittleEndian (T &data, std::vector< uint8_t > &array, size_t &read_pos) |
template<> | |
DRIVER_SVH_IMPORT_EXPORT size_t | fromLittleEndian< double > (double &data, std::vector< uint8_t > &array, size_t &read_pos) |
Template specialization for float as these have to be handled seperately. More... | |
template<> | |
DRIVER_SVH_IMPORT_EXPORT size_t | fromLittleEndian< float > (float &data, std::vector< uint8_t > &array, size_t &read_pos) |
Template specialization for float as these have to be handled seperately. More... | |
std::string | logLevelToString (const LogLevel level) |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, const SVHControlCommand &data) |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, const SVHControlCommandAllChannels &data) |
overload stream operator to easily serialize control commands for all channels More... | |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, const SVHControllerFeedback &data) |
Overload stream operator to easily serialize feedback data. More... | |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, const SVHControllerState &data) |
overload stream operator to easily serialize controller state data More... | |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, const SVHCurrentSettings &data) |
overload stream operator to easily serialize current settings data More... | |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, const SVHEncoderSettings &data) |
overload stream operator to easily serialize encoder scaling data More... | |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, const SVHPositionSettings &data) |
overload stream operator to easily serialize position settings data More... | |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, const SVHSerialPacket &data) |
overload stream operator to easily serialize raw packet data More... | |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, SVHControllerFeedbackAllChannels &data) |
Overload stream operator to easily serialize all channel feedback data. More... | |
driver_svh::ArrayBuilder & | operator<< (driver_svh::ArrayBuilder &ab, SVHFirmwareInfo &data) |
overload stream operator to easily serialize firmware data More... | |
std::ostream & | operator<< (std::ostream &o, const ArrayBuilder &ab) |
debug output of array as hex values More... | |
std::ostream & | operator<< (std::ostream &o, const SVHControlCommand &cc) |
Output Stream operator for fast debugging. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHControlCommandAllChannels &cc) |
Output Stream operator of all channels control command. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHControllerFeedback &cf) |
Output stream operator for easy output of feedback data. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHControllerFeedbackAllChannels &cf) |
Output stream operator for easy output of all channel feedback data. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHControllerState &cs) |
Output Stream operator to easily output controller state data. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHCurrentSettings &cs) |
Output stream operator for easy output of current settings. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHEncoderSettings &es) |
Output Stream operator for easy output of the encoder scalings. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHFirmwareInfo &fw) |
Output Stream operator for easy output of the firmware information. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHHomeSettings &hs) |
Output stream operator to easily print position settings. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHPositionSettings &ps) |
Output stream operator to easily print position settings. More... | |
std::ostream & | operator<< (std::ostream &o, const SVHSerialPacket &sp) |
Output Stream operator for easy printing of packet data. More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHControlCommand &data) |
overload stream operator to easily deserialize control commands for one channel More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHControlCommandAllChannels &data) |
overload stream operator to easily deserialize control commands for all channels More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHControllerFeedback &data) |
Overload stream operator to easily deserialize feedback data. More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHControllerFeedbackAllChannels &data) |
Overload stream operator to easily deserialize all channel feedback data. More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHControllerState &data) |
overload stream operator to easily serialize controller state data More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHCurrentSettings &data) |
overload stream operator to easily serialize current settings data More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHEncoderSettings &data) |
overload stream operator to easily serialize encoder scaling data More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHFirmwareInfo &data) |
overload stream operator to easily serialize firmware data More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHPositionSettings &data) |
overload stream operator to easily deserialize position settings data More... | |
driver_svh::ArrayBuilder & | operator>> (driver_svh::ArrayBuilder &ab, SVHSerialPacket &data) |
overload stream operator to easily deserialize raw packet data More... | |
template<typename T > | |
size_t | toLittleEndian (const T &data, std::vector< uint8_t > &array, size_t &write_pos) |
template function for adding data to an array while converting everything into correct endianess More... | |
template<> | |
DRIVER_SVH_IMPORT_EXPORT size_t | toLittleEndian< double > (const double &data, std::vector< uint8_t > &array, size_t &write_pos) |
Template specialization for float as these have to be handled seperately. More... | |
template<> | |
DRIVER_SVH_IMPORT_EXPORT size_t | toLittleEndian< float > (const float &data, std::vector< uint8_t > &array, size_t &write_pos) |
Template specialization for float as these have to be handled seperately. More... | |
Variables | |
const size_t | C_DEFAULT_PACKET_SIZE = 48 |
Default packet payload size in bytes. More... | |
const size_t | C_PACKET_APPENDIX_SIZE = 8 |
The packet overhead size in bytes. More... | |
const uint8_t | PACKET_HEADER1 = 0x4C |
Header sync byte 1. More... | |
const uint8_t | PACKET_HEADER2 = 0xAA |
Header sync byte 2. More... | |
const uint8_t | SVH_GET_CONTROL_FEEDBACK |
Request the position and current of a channel to be sent. More... | |
const uint8_t | SVH_GET_CONTROL_FEEDBACK_ALL |
Requests the positions and currents of ALL channels. More... | |
const uint8_t | SVH_GET_CONTROLLER_STATE |
Requests the state of the controller (active,faults,enabled channels) More... | |
const uint8_t | SVH_GET_CURRENT_SETTINGS |
Requests the active settings of the current controller. More... | |
const uint8_t | SVH_GET_ENCODER_VALUES = 0x0A |
Request the current encoder scalings. More... | |
const uint8_t | SVH_GET_FIRMWARE_INFO = 0x0C |
Request the firmware info to be transmitted. More... | |
const uint8_t | SVH_GET_POSITION_SETTINGS |
Requests the active settings of the position controller. More... | |
const uint8_t | SVH_SET_CONTROL_COMMAND = 0x01 |
Sets the target position of a channel. More... | |
const uint8_t | SVH_SET_CONTROL_COMMAND_ALL = 0x03 |
Sends the target position to ALL the channels. More... | |
const uint8_t | SVH_SET_CONTROLLER_STATE |
Sets new controller states (enable channels, clear faults) More... | |
const uint8_t | SVH_SET_CURRENT_SETTINGS = 0x07 |
Sets new settings for the current controller. More... | |
const uint8_t | SVH_SET_ENCODER_VALUES = 0x0B |
Set new encoder scalings. More... | |
const uint8_t | SVH_SET_POSITION_SETTINGS = 0x05 |
Sets new settings for the position controller. More... | |
using driver_svh::ReceivedPacketCallback = typedef std::function<void(const SVHSerialPacket& packet, unsigned int packet_count)> |
definition of function callback for received packages
Definition at line 59 of file SVHReceiveThread.h.
|
strong |
Enumerator | |
---|---|
DEBUG | |
INFO | |
WARN | |
ERROR | |
FATAL | |
NONE |
Definition at line 37 of file LogLevel.h.
Channel indicates which motor to use in command calls. WARNING: DO NOT CHANGE THE ORDER OF THESE as it represents the hardware mapping
Definition at line 65 of file SVHController.h.
size_t driver_svh::fromLittleEndian | ( | T & | data, |
std::vector< uint8_t > & | array, | ||
size_t & | read_pos | ||
) |
template function for reating data out of an array while converting everything into correct endianess
Definition at line 86 of file ByteOrderConversion.h.
size_t driver_svh::fromLittleEndian< double > | ( | double & | data, |
std::vector< uint8_t > & | array, | ||
size_t & | read_pos | ||
) |
Template specialization for float as these have to be handled seperately.
As Bit Shifts for doubles are dissallowed they have to be given as reinterpreted value to currectly shift each byte individually
As Bit Shifts for doubles are dissallowed they have to be given as reinterpreted value to currectly shift each byte individually
Definition at line 75 of file ByteOrderConversion.cpp.
size_t driver_svh::fromLittleEndian< float > | ( | float & | data, |
std::vector< uint8_t > & | array, | ||
size_t & | read_pos | ||
) |
Template specialization for float as these have to be handled seperately.
As Bit Shifts for floats are dissallowed they have to be given as reinterpreted value to currectly shift each byte individually
As Bit Shifts for floats are dissallowed they have to be given as reinterpreted value to currectly shift each byte individually
Definition at line 67 of file ByteOrderConversion.cpp.
|
inline |
Definition at line 47 of file LogLevel.h.
|
inline |
overload stream operator to easily serialize control commands for one channel slightly uneccessary at this point but put in anayway for the time it`s needed
Definition at line 134 of file SVHControlCommand.h.
|
inline |
overload stream operator to easily serialize control commands for all channels
Definition at line 157 of file SVHControlCommand.h.
|
inline |
Overload stream operator to easily serialize feedback data.
Definition at line 139 of file SVHControllerFeedback.h.
|
inline |
overload stream operator to easily serialize controller state data
Definition at line 95 of file SVHControllerState.h.
|
inline |
overload stream operator to easily serialize current settings data
Definition at line 146 of file SVHCurrentSettings.h.
|
inline |
overload stream operator to easily serialize encoder scaling data
Definition at line 67 of file SVHEncoderSettings.h.
|
inline |
overload stream operator to easily serialize position settings data
Definition at line 150 of file SVHPositionSettings.h.
driver_svh::ArrayBuilder & driver_svh::operator<< | ( | driver_svh::ArrayBuilder & | ab, |
const SVHSerialPacket & | data | ||
) |
overload stream operator to easily serialize raw packet data
Definition at line 40 of file SVHSerialPacket.cpp.
|
inline |
Overload stream operator to easily serialize all channel feedback data.
Definition at line 164 of file SVHControllerFeedback.h.
|
inline |
overload stream operator to easily serialize firmware data
Definition at line 67 of file SVHFirmwareInfo.h.
std::ostream & driver_svh::operator<< | ( | std::ostream & | o, |
const ArrayBuilder & | ab | ||
) |
debug output of array as hex values
Definition at line 38 of file ByteOrderConversion.cpp.
|
inline |
Output Stream operator for fast debugging.
Definition at line 150 of file SVHControlCommand.h.
|
inline |
Output Stream operator of all channels control command.
Definition at line 186 of file SVHControlCommand.h.
|
inline |
Output stream operator for easy output of feedback data.
Definition at line 156 of file SVHControllerFeedback.h.
|
inline |
Output stream operator for easy output of all channel feedback data.
Definition at line 209 of file SVHControllerFeedback.h.
|
inline |
Output Stream operator to easily output controller state data.
Definition at line 113 of file SVHControllerState.h.
|
inline |
Output stream operator for easy output of current settings.
Definition at line 165 of file SVHCurrentSettings.h.
|
inline |
Output Stream operator for easy output of the encoder scalings.
Definition at line 84 of file SVHEncoderSettings.h.
|
inline |
Output Stream operator for easy output of the firmware information.
Definition at line 104 of file SVHFirmwareInfo.h.
|
inline |
Output stream operator to easily print position settings.
Definition at line 137 of file SVHHomeSettings.h.
|
inline |
Output stream operator to easily print position settings.
Definition at line 167 of file SVHPositionSettings.h.
std::ostream & driver_svh::operator<< | ( | std::ostream & | o, |
const SVHSerialPacket & | sp | ||
) |
Output Stream operator for easy printing of packet data.
Definition at line 54 of file SVHSerialPacket.cpp.
|
inline |
overload stream operator to easily deserialize control commands for one channel
Definition at line 143 of file SVHControlCommand.h.
|
inline |
overload stream operator to easily deserialize control commands for all channels
Definition at line 172 of file SVHControlCommand.h.
|
inline |
Overload stream operator to easily deserialize feedback data.
Definition at line 148 of file SVHControllerFeedback.h.
|
inline |
Overload stream operator to easily deserialize all channel feedback data.
Definition at line 187 of file SVHControllerFeedback.h.
|
inline |
overload stream operator to easily serialize controller state data
Definition at line 104 of file SVHControllerState.h.
|
inline |
overload stream operator to easily serialize current settings data
Definition at line 155 of file SVHCurrentSettings.h.
|
inline |
overload stream operator to easily serialize encoder scaling data
Definition at line 76 of file SVHEncoderSettings.h.
|
inline |
overload stream operator to easily serialize firmware data
Definition at line 85 of file SVHFirmwareInfo.h.
|
inline |
overload stream operator to easily deserialize position settings data
Definition at line 159 of file SVHPositionSettings.h.
driver_svh::ArrayBuilder & driver_svh::operator>> | ( | driver_svh::ArrayBuilder & | ab, |
SVHSerialPacket & | data | ||
) |
overload stream operator to easily deserialize raw packet data
Definition at line 46 of file SVHSerialPacket.cpp.
size_t driver_svh::toLittleEndian | ( | const T & | data, |
std::vector< uint8_t > & | array, | ||
size_t & | write_pos | ||
) |
template function for adding data to an array while converting everything into correct endianess
Definition at line 47 of file ByteOrderConversion.h.
size_t driver_svh::toLittleEndian< double > | ( | const double & | data, |
std::vector< uint8_t > & | array, | ||
size_t & | write_pos | ||
) |
Template specialization for float as these have to be handled seperately.
As Bit Shifts for doubles are dissallowed they have to be given as reinterpreted value to currectly shift each byte individually
As Bit Shifts for doubles are dissallowed they have to be given as reinterpreted value to currectly shift each byte individually
Definition at line 59 of file ByteOrderConversion.cpp.
size_t driver_svh::toLittleEndian< float > | ( | const float & | data, |
std::vector< uint8_t > & | array, | ||
size_t & | write_pos | ||
) |
Template specialization for float as these have to be handled seperately.
As Bit Shifts for floats are dissallowed they have to be given as reinterpreted value to currectly shift each byte individually
As Bit Shifts for floats are dissallowed they have to be given as reinterpreted value to currectly shift each byte individually
Definition at line 51 of file ByteOrderConversion.cpp.
const size_t driver_svh::C_DEFAULT_PACKET_SIZE = 48 |
Default packet payload size in bytes.
Definition at line 49 of file SVHSerialPacket.h.
const size_t driver_svh::C_PACKET_APPENDIX_SIZE = 8 |
The packet overhead size in bytes.
Definition at line 48 of file SVHSerialPacket.h.
const uint8_t driver_svh::PACKET_HEADER1 = 0x4C |
Header sync byte 1.
Definition at line 52 of file SVHSerialPacket.h.
const uint8_t driver_svh::PACKET_HEADER2 = 0xAA |
Header sync byte 2.
Definition at line 53 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_GET_CONTROL_FEEDBACK |
Request the position and current of a channel to be sent.
Definition at line 56 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_GET_CONTROL_FEEDBACK_ALL |
Requests the positions and currents of ALL channels.
Definition at line 59 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_GET_CONTROLLER_STATE |
Requests the state of the controller (active,faults,enabled channels)
Definition at line 68 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_GET_CURRENT_SETTINGS |
Requests the active settings of the current controller.
Definition at line 65 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_GET_ENCODER_VALUES = 0x0A |
Request the current encoder scalings.
Definition at line 72 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_GET_FIRMWARE_INFO = 0x0C |
Request the firmware info to be transmitted.
Definition at line 74 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_GET_POSITION_SETTINGS |
Requests the active settings of the position controller.
Definition at line 62 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_SET_CONTROL_COMMAND = 0x01 |
Sets the target position of a channel.
Definition at line 58 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_SET_CONTROL_COMMAND_ALL = 0x03 |
Sends the target position to ALL the channels.
Definition at line 61 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_SET_CONTROLLER_STATE |
Sets new controller states (enable channels, clear faults)
Definition at line 70 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_SET_CURRENT_SETTINGS = 0x07 |
Sets new settings for the current controller.
Definition at line 67 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_SET_ENCODER_VALUES = 0x0B |
Set new encoder scalings.
Definition at line 73 of file SVHSerialPacket.h.
const uint8_t driver_svh::SVH_SET_POSITION_SETTINGS = 0x05 |
Sets new settings for the position controller.
Definition at line 64 of file SVHSerialPacket.h.