47 #ifndef DRIVER_SVH_SVH_CONTROLLER_H_INCLUDED 48 #define DRIVER_SVH_SVH_CONTROLLER_H_INCLUDED 103 bool connect(
const std::string& dev_name);
113 void setControllerTarget(
const SVHChannel& channel,
const int32_t& position);
119 void setControllerTargetAllChannels(
const std::vector<int32_t>& positions);
127 void enableChannel(
const SVHChannel& channel);
133 void disableChannel(
const SVHChannel& channel);
136 void requestControllerState();
142 void requestControllerFeedback(
const SVHChannel& channel);
148 void requestPositionSettings(
const SVHChannel& channel);
155 void setPositionSettings(
const SVHChannel& channel,
const SVHPositionSettings& position_settings);
161 void requestCurrentSettings(
const SVHChannel& channel);
168 void setCurrentSettings(
const SVHChannel& channel,
const SVHCurrentSettings& current_settings);
173 void requestEncoderValues();
185 void requestFirmwareInfo();
213 bool getPositionSettings(
const SVHChannel& channel,
SVHPositionSettings& position_settings);
221 bool getCurrentSettings(
const SVHChannel& channel,
SVHCurrentSettings& current_settings);
233 unsigned int getSentPackageCount();
240 unsigned int getReceivedPackageCount();
245 void resetPackageCounts();
252 bool isEnabled(
const SVHChannel& channel);
255 static const char* m_channel_description[];
258 static const float CHANNEL_EFFORT_CONSTANTS[9][2];
SVHFirmwareInfo m_firmware_info
Latest firmware info.
std::vector< SVHCurrentSettings > m_current_settings
vector of current controller parameters for each finger
SVHEncoderSettings m_encoder_settings
Currently active encoder settings.
The SVHCurrentSettings save the current controller paramters for a single motor.
#define DRIVER_SVH_IMPORT_EXPORT
unsigned int m_received_package_count
std::vector< SVHControllerFeedback > m_controller_feedback
ControllerFeedback indicates current position and current per finger.
void receivedPacketCallback(const SVHSerialPacket &packet, unsigned int packet_count)
The SVHFirmwareInfo holds the data of a firmware response from the hardware.
The SVHControllerFeedback saves the feedback of a single motor.
std::vector< SVHPositionSettings > m_position_settings
vector of position controller parameters for each finger
This class controls the the SCHUNK five finger hand.
SVHControllerState m_controller_state
Currently active controllerstate on the HW Controller (indicates if PWM active etc.)
The SVHPositionSettings save the position controller paramters for a single motor.
SVHSerialInterface * m_serial_interface
Serial interface for transmission and reveibing of data packets.
The SVHControllerState indicates the current state of the MeCoVis controller IC which is used in the ...
uint16_t m_enable_mask
Bitmask to tell which fingers are enabled.
The SVHControllerFeedbackAllChannes saves the feedback of a all motors.
Basic communication handler for the SCHUNK five finger hand.
The SVHEncoderSettings hold the settings for the encoder scaling of each channel. ...
The SerialPacket holds the (non generated) header and data of one message to the SVH-Hardware.