yarp-devices
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
CanBusBroker Class Reference

CAN-oriented control board that implements all YARP motor interfaces. More...

#include <CanBusBroker.hpp>

Inheritance diagram for CanBusBroker:
CanBusBroker_ParamsParser

Public Types

using return_t = bool
 

Public Member Functions

bool open (yarp::os::Searchable &config) override
 
bool close () override
 
return_t enableAmp (int j) override
 
return_t disableAmp (int j) override
 
return_t getAmpStatus (int j, int *v) override
 
return_t getAmpStatus (int *st) override
 
return_t getMaxCurrent (int j, double *v) override
 
return_t setMaxCurrent (int j, double v) override
 
return_t getNominalCurrent (int m, double *val) override
 
return_t setNominalCurrent (int m, double val) override
 
return_t getPeakCurrent (int m, double *val) override
 
return_t setPeakCurrent (int m, double val) override
 
return_t getPWM (int j, double *val) override
 
return_t getPWMLimit (int j, double *val) override
 
return_t setPWMLimit (int j, double val) override
 
return_t getPowerSupplyVoltage (int j, double *val) override
 
return_t getAxisName (int axis, std::string &name) override
 
return_t getJointType (int axis, yarp::dev::JointTypeEnum &type) override
 
return_t calibrateAxisWithParams (int axis, unsigned int type, double p1, double p2, double p3) override
 
return_t setCalibrationParameters (int axis, const yarp::dev::CalibrationParameters &params) override
 
return_t calibrationDone (int j) override
 
return_t setLimits (int axis, double min, double max) override
 
return_t getLimits (int axis, double *min, double *max) override
 
return_t setVelLimits (int axis, double min, double max) override
 
return_t getVelLimits (int axis, double *min, double *max) override
 
return_t getControlMode (int j, int *mode) override
 
return_t getControlModes (int *modes) override
 
return_t getControlModes (int n_joint, const int *joints, int *modes) override
 
return_t setControlMode (int j, const int mode) override
 
return_t setControlModes (int n_joint, const int *joints, int *modes) override
 
return_t setControlModes (int *modes) override
 
return_t getCurrent (int m, double *curr) override
 
return_t getCurrents (double *currs) override
 
return_t getCurrentRange (int m, double *min, double *max) override
 
return_t getCurrentRanges (double *mins, double *maxs) override
 
return_t setRefCurrent (int m, double curr) override
 
return_t setRefCurrents (const double *currs) override
 
return_t setRefCurrents (int n_motor, const int *motors, const double *currs) override
 
return_t getRefCurrent (int m, double *curr) override
 
return_t getRefCurrents (double *currs) override
 
return_t getAxes (int *ax) override
 
return_t resetEncoder (int j) override
 
return_t resetEncoders () override
 
return_t setEncoder (int j, double val) override
 
return_t setEncoders (const double *vals) override
 
return_t getEncoder (int j, double *v) override
 
return_t getEncoders (double *encs) override
 
return_t getEncoderSpeed (int j, double *spd) override
 
return_t getEncoderSpeeds (double *spds) override
 
return_t getEncoderAcceleration (int j, double *spds) override
 
return_t getEncoderAccelerations (double *accs) override
 
return_t getEncoderTimed (int j, double *encs, double *time) override
 
return_t getEncodersTimed (double *encs, double *times) override
 
return_t getImpedance (int j, double *stiffness, double *damping) override
 
return_t setImpedance (int j, double stiffness, double damping) override
 
return_t setImpedanceOffset (int j, double offset) override
 
return_t getImpedanceOffset (int j, double *offset) override
 
return_t getCurrentImpedanceLimit (int j, double *min_stiff, double *max_stiff, double *min_damp, double *max_damp) override
 
return_t getInteractionMode (int axis, yarp::dev::InteractionModeEnum *mode) override
 
return_t getInteractionModes (yarp::dev::InteractionModeEnum *modes) override
 
return_t getInteractionModes (int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes) override
 
return_t setInteractionMode (int axis, yarp::dev::InteractionModeEnum mode) override
 
return_t setInteractionModes (yarp::dev::InteractionModeEnum *modes) override
 
return_t setInteractionModes (int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes) override
 
return_t getLastJointFault (int j, int &fault, std::string &message) override
 
return_t getNumberOfMotors (int *num) override
 
return_t getTemperature (int m, double *val) override
 
return_t getTemperatures (double *vals) override
 
return_t getTemperatureLimit (int m, double *temp) override
 
return_t setTemperatureLimit (int m, double temp) override
 
return_t getGearboxRatio (int m, double *val) override
 
return_t setGearboxRatio (int m, double val) override
 
return_t getNumberOfMotorEncoders (int *num) override
 
return_t resetMotorEncoder (int m) override
 
return_t resetMotorEncoders () override
 
return_t setMotorEncoderCountsPerRevolution (int m, double cpr) override
 
return_t getMotorEncoderCountsPerRevolution (int m, double *cpr) override
 
return_t setMotorEncoder (int m, double val) override
 
return_t setMotorEncoders (const double *vals) override
 
return_t getMotorEncoder (int m, double *v) override
 
return_t getMotorEncoders (double *encs) override
 
return_t getMotorEncoderTimed (int m, double *enc, double *stamp) override
 
return_t getMotorEncodersTimed (double *encs, double *stamps) override
 
return_t getMotorEncoderSpeed (int m, double *sp) override
 
return_t getMotorEncoderSpeeds (double *spds) override
 
return_t getMotorEncoderAcceleration (int m, double *acc) override
 
return_t getMotorEncoderAccelerations (double *accs) override
 
return_t setPid (const yarp::dev::PidControlTypeEnum &pidtype, int j, const yarp::dev::Pid &pid) override
 
return_t setPids (const yarp::dev::PidControlTypeEnum &pidtype, const yarp::dev::Pid *pids) override
 
return_t setPidReference (const yarp::dev::PidControlTypeEnum &pidtype, int j, double ref) override
 
return_t setPidReferences (const yarp::dev::PidControlTypeEnum &pidtype, const double *refs) override
 
return_t setPidErrorLimit (const yarp::dev::PidControlTypeEnum &pidtype, int j, double limit) override
 
return_t setPidErrorLimits (const yarp::dev::PidControlTypeEnum &pidtype, const double *limits) override
 
return_t getPidError (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *err) override
 
return_t getPidErrors (const yarp::dev::PidControlTypeEnum &pidtype, double *errs) override
 
return_t getPidOutput (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *out) override
 
return_t getPidOutputs (const yarp::dev::PidControlTypeEnum &pidtype, double *outs) override
 
return_t getPid (const yarp::dev::PidControlTypeEnum &pidtype, int j, yarp::dev::Pid *pid) override
 
return_t getPids (const yarp::dev::PidControlTypeEnum &pidtype, yarp::dev::Pid *pids) override
 
return_t getPidReference (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *ref) override
 
return_t getPidReferences (const yarp::dev::PidControlTypeEnum &pidtype, double *refs) override
 
return_t getPidErrorLimit (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *limit) override
 
return_t getPidErrorLimits (const yarp::dev::PidControlTypeEnum &pidtype, double *limits) override
 
return_t resetPid (const yarp::dev::PidControlTypeEnum &pidtype, int j) override
 
return_t disablePid (const yarp::dev::PidControlTypeEnum &pidtype, int j) override
 
return_t enablePid (const yarp::dev::PidControlTypeEnum &pidtype, int j) override
 
return_t setPidOffset (const yarp::dev::PidControlTypeEnum &pidtype, int j, double v) override
 
return_t isPidEnabled (const yarp::dev::PidControlTypeEnum &pidtype, int j, bool *enabled) override
 
return_t positionMove (int j, double ref) override
 
return_t positionMove (const double *refs) override
 
return_t positionMove (int n_joint, const int *joints, const double *refs) override
 
return_t relativeMove (int j, double delta) override
 
return_t relativeMove (const double *deltas) override
 
return_t relativeMove (int n_joint, const int *joints, const double *deltas) override
 
return_t checkMotionDone (int j, bool *flag) override
 
return_t checkMotionDone (bool *flag) override
 
return_t checkMotionDone (int n_joint, const int *joints, bool *flags) override
 
return_t setRefSpeed (int j, double sp) override
 
return_t setRefSpeeds (const double *spds) override
 
return_t setRefSpeeds (int n_joint, const int *joints, const double *spds) override
 
return_t getRefSpeed (int j, double *ref) override
 
return_t getRefSpeeds (double *spds) override
 
return_t getRefSpeeds (int n_joint, const int *joints, double *spds) override
 
return_t setRefAcceleration (int j, double acc) override
 
return_t setRefAccelerations (const double *accs) override
 
return_t setRefAccelerations (int n_joint, const int *joints, const double *accs) override
 
return_t getRefAcceleration (int j, double *acc) override
 
return_t getRefAccelerations (double *accs) override
 
return_t getRefAccelerations (int n_joint, const int *joints, double *accs) override
 
return_t stop (int j) override
 
return_t stop () override
 
return_t stop (int n_joint, const int *joints) override
 
return_t getTargetPosition (int joint, double *ref) override
 
return_t getTargetPositions (double *refs) override
 
return_t getTargetPositions (int n_joint, const int *joints, double *refs) override
 
return_t setPosition (int j, double ref) override
 
return_t setPositions (const double *refs) override
 
return_t setPositions (int n_joint, const int *joints, const double *refs) override
 
return_t getRefPosition (int joint, double *ref) override
 
return_t getRefPositions (double *refs) override
 
return_t getRefPositions (int n_joint, const int *joints, double *refs) override
 
return_t setRefDutyCycle (int m, double ref) override
 
return_t setRefDutyCycles (const double *refs) override
 
return_t getRefDutyCycle (int m, double *ref) override
 
return_t getRefDutyCycles (double *refs) override
 
return_t getDutyCycle (int m, double *val) override
 
return_t getDutyCycles (double *vals) override
 
return_t getRemoteVariable (std::string key, yarp::os::Bottle &val) override
 
return_t setRemoteVariable (std::string key, const yarp::os::Bottle &val) override
 
return_t getRemoteVariablesList (yarp::os::Bottle *listOfKeys) override
 
return_t getRefTorque (int j, double *t) override
 
return_t getRefTorques (double *t) override
 
return_t setRefTorque (int j, double t) override
 
return_t setRefTorques (const double *t) override
 
return_t setRefTorques (int n_joint, const int *joints, const double *t) override
 
return_t getMotorTorqueParams (int j, yarp::dev::MotorTorqueParameters *params) override
 
return_t setMotorTorqueParams (int j, const yarp::dev::MotorTorqueParameters params) override
 
return_t getTorque (int j, double *t) override
 
return_t getTorques (double *t) override
 
return_t getTorqueRange (int j, double *min, double *max) override
 
return_t getTorqueRanges (double *min, double *max) override
 
return_t velocityMove (int j, double spd) override
 
return_t velocityMove (const double *spds) override
 
return_t velocityMove (int n_joint, const int *joints, const double *spds) override
 
return_t getRefVelocity (int joint, double *vel) override
 
return_t getRefVelocities (double *vels) override
 
return_t getRefVelocities (int n_joint, const int *joints, double *vels) override
 
std::size_t getNrOfContactLoadCellArrays () const override
 
yarp::dev::MAS_status getContactLoadCellArrayStatus (std::size_t sens_index) const override
 
bool getContactLoadCellArrayName (std::size_t sens_index, std::string &name) const override
 
bool getContactLoadCellArrayMeasure (std::size_t sens_index, yarp::sig::Vector &out, double &timestamp) const override
 
std::size_t getContactLoadCellArraySize (std::size_t sens_index) const override
 
std::size_t getNrOfEncoderArrays () const override
 
yarp::dev::MAS_status getEncoderArrayStatus (std::size_t sens_index) const override
 
bool getEncoderArrayName (std::size_t sens_index, std::string &name) const override
 
bool getEncoderArrayMeasure (std::size_t sens_index, yarp::sig::Vector &out, double &timestamp) const override
 
std::size_t getEncoderArraySize (std::size_t sens_index) const override
 
std::size_t getNrOfOrientationSensors () const override
 
yarp::dev::MAS_status getOrientationSensorStatus (std::size_t sens_index) const override
 
bool getOrientationSensorName (std::size_t sens_index, std::string &name) const override
 
bool getOrientationSensorFrameName (std::size_t sens_index, std::string &frameName) const override
 
bool getOrientationSensorMeasureAsRollPitchYaw (std::size_t sens_index, yarp::sig::Vector &rpy, double &timestamp) const override
 
std::size_t getNrOfPositionSensors () const override
 
yarp::dev::MAS_status getPositionSensorStatus (std::size_t sens_index) const override
 
bool getPositionSensorName (std::size_t sens_index, std::string &name) const override
 
bool getPositionSensorFrameName (std::size_t sens_index, std::string &frameName) const override
 
bool getPositionSensorMeasure (std::size_t sens_index, yarp::sig::Vector &xyz, double &timestamp) const override
 
std::size_t getNrOfSixAxisForceTorqueSensors () const override
 
yarp::dev::MAS_status getSixAxisForceTorqueSensorStatus (std::size_t sens_index) const override
 
bool getSixAxisForceTorqueSensorName (std::size_t sens_index, std::string &name) const override
 
bool getSixAxisForceTorqueSensorFrameName (std::size_t sens_index, std::string &frameName) const override
 
bool getSixAxisForceTorqueSensorMeasure (std::size_t sens_index, yarp::sig::Vector &out, double &timestamp) const override
 
std::size_t getNrOfSkinPatches () const override
 
yarp::dev::MAS_status getSkinPatchStatus (std::size_t sens_index) const override
 
bool getSkinPatchName (std::size_t sens_index, std::string &name) const override
 
bool getSkinPatchMeasure (std::size_t sens_index, yarp::sig::Vector &out, double &timestamp) const override
 
std::size_t getSkinPatchSize (std::size_t sens_index) const override
 
std::size_t getNrOfTemperatureSensors () const override
 
yarp::dev::MAS_status getTemperatureSensorStatus (std::size_t sens_index) const override
 
bool getTemperatureSensorName (std::size_t sens_index, std::string &name) const override
 
bool getTemperatureSensorFrameName (std::size_t sens_index, std::string &frameName) const override
 
bool getTemperatureSensorMeasure (std::size_t sens_index, double &out, double &timestamp) const override
 
bool getTemperatureSensorMeasure (std::size_t sens_index, yarp::sig::Vector &out, double &timestamp) const override
 
std::size_t getNrOfThreeAxisGyroscopes () const override
 
yarp::dev::MAS_status getThreeAxisGyroscopeStatus (std::size_t sens_index) const override
 
bool getThreeAxisGyroscopeName (std::size_t sens_index, std::string &name) const override
 
bool getThreeAxisGyroscopeFrameName (std::size_t sens_index, std::string &frameName) const override
 
bool getThreeAxisGyroscopeMeasure (std::size_t sens_index, yarp::sig::Vector &out, double &timestamp) const override
 
std::size_t getNrOfThreeAxisLinearAccelerometers () const override
 
yarp::dev::MAS_status getThreeAxisLinearAccelerometerStatus (std::size_t sens_index) const override
 
bool getThreeAxisLinearAccelerometerName (std::size_t sens_index, std::string &name) const override
 
bool getThreeAxisLinearAccelerometerFrameName (std::size_t sens_index, std::string &frameName) const override
 
bool getThreeAxisLinearAccelerometerMeasure (std::size_t sens_index, yarp::sig::Vector &out, double &timestamp) const override
 
std::size_t getNrOfThreeAxisMagnetometers () const override
 
yarp::dev::MAS_status getThreeAxisMagnetometerStatus (std::size_t sens_index) const override
 
bool getThreeAxisMagnetometerName (std::size_t sens_index, std::string &name) const override
 
bool getThreeAxisMagnetometerFrameName (std::size_t sens_index, std::string &frameName) const override
 
bool getThreeAxisMagnetometerMeasure (std::size_t sens_index, yarp::sig::Vector &out, double &timestamp) const override
 
- Public Member Functions inherited from CanBusBroker_ParamsParser
bool parseParams (const yarp::os::Searchable &config) override
 
std::string getDeviceClassName () const override
 
std::string getDeviceName () const override
 
std::string getDocumentationOfDeviceParams () const override
 
std::vector< std::string > getListOfParams () const override
 
bool getParamValue (const std::string &paramName, std::string &paramValue) const override
 
std::string getConfiguration () const override
 

Private Attributes

roboticslab::DeviceMapper deviceMapper
 
std::vector< yarp::dev::PolyDriver * > busDevices
 
std::vector< yarp::dev::PolyDriver * > nodeDevices
 
std::vector< roboticslab::SingleBusBroker * > brokers
 
roboticslab::SyncPeriodicThread * syncThread {nullptr}
 

Additional Inherited Members

- Public Attributes inherited from CanBusBroker_ParamsParser
const std::string m_device_classname = {"CanBusBroker"}
 
const std::string m_device_name = {"CanBusBroker"}
 
bool m_parser_is_strict = false
 
const parser_version_type m_parser_version = {}
 
std::string m_provided_configuration
 
const std::string m_buses_defaultValue = {""}
 
const std::string m_syncPeriod_defaultValue = {"0.0"}
 
std::vector< std::string > m_buses = {}
 
double m_syncPeriod = {0.0}
 

Detailed Description

This control board wrapper subdevice exposes motor commands to CAN nodes modelled as wrapped motor raw subdevices (i.e. devices which implement the xxxRaw interface counterparts). At the core of this driver class, another set of wrapped devices implements hardware connection to a physical CAN bus, thus allowing CAN reads and writes that CanBusBroker manages asynchronously with regard to exposed YARP commands (see CanReaderWriterThread).

This device also supports fake CAN buses and fake CAN nodes, see instructions.


The documentation for this class was generated from the following files: