21 _subDevVerbose =
false;
102 if ((
iTorque==
nullptr) && (_subDevVerbose))
107 if ((
iImpedance==
nullptr) && (_subDevVerbose))
112 if ((
iInteract==
nullptr) && (_subDevVerbose))
117 if ((
iMotEnc==
nullptr) && (_subDevVerbose))
122 if ((
imotor==
nullptr) && (_subDevVerbose))
127 if ((
iVar ==
nullptr) && (_subDevVerbose))
132 if ((
info ==
nullptr) && (_subDevVerbose))
137 if ((
iPwm ==
nullptr) && (_subDevVerbose))
142 if ((
iCurr ==
nullptr) && (_subDevVerbose))
147 if ((
iFault ==
nullptr) && (_subDevVerbose))
152 if ((
iBrake ==
nullptr) && (_subDevVerbose)) {
156 if ((
iVelDir ==
nullptr) && (_subDevVerbose))
196 else if(
info!=
nullptr)
247 int off=(
int)remappedControlBoards.
lut[j].axisIndexInSubControlBoard;
248 size_t subIndex=remappedControlBoards.
lut[j].subControlBoardIndex;
278 size_t subIndex=remappedControlBoards.
lut[j].subControlBoardIndex;
293 size_t subIndex=remappedControlBoards.
lut[j].subControlBoardIndex;
308 size_t subIndex=remappedControlBoards.
lut[j].subControlBoardIndex;
323 size_t subIndex=remappedControlBoards.
lut[j].subControlBoardIndex;
338 size_t subIndex=remappedControlBoards.
lut[j].subControlBoardIndex;
353 size_t subIndex=remappedControlBoards.
lut[j].subControlBoardIndex;
384 size_t subIndex=remappedControlBoards.
lut[j].subControlBoardIndex;
415 for(
int j=0; j < n_joints; j++)
429 this->createListOfJointsDecomposition(n_joints,
joints,remappedControlBoards);
436 for(
int j=0; j < n_joints; j++)
454 for(
int j=0; j < n_joints; j++)
468 this->createListOfJointsDecomposition(n_joints,
joints,remappedControlBoards);
475 for(
int j=0; j < n_joints; j++)
493 for(
int j=0; j < n_joints; j++)
507 this->createListOfJointsDecomposition(n_joints,
joints,remappedControlBoards);
514 for(
int j=0; j < n_joints; j++)
522void ControlBoardArbitraryAxesDecomposition::createListOfJointsDecomposition(
const int n_joints,
const int*
joints,
const RemappedControlBoards & remappedControlBoards)
531 for(
int j=0; j < n_joints; j++)
533 int off=(
int)remappedControlBoards.
lut[
joints[j]].axisIndexInSubControlBoard;
545 createListOfJointsDecomposition(n_joints,
joints,remappedControlBoards);
const yarp::os::LogComponent & CONTROLBOARDREMAPPER()
bool configure(const RemappedControlBoards &remappedControlBoards)
Resize the buffers using the information in the RemappedControlBoards.
std::vector< std::vector< double > > m_bufferForSubControlBoard
std::vector< std::vector< yarp::dev::InteractionModeEnum > > m_bufferForSubControlBoardInteractionModes
void fillSubControlBoardBuffersFromArbitraryJointVector(const double *arbitraryVec, const int n_joints, const int *joints, const RemappedControlBoards &remappedControlBoards)
Fill buffers for the SubControlBoard from a vector of joints of the RemappedControlBoards.
std::vector< std::vector< int > > m_jointsInSubControlBoard
void resizeSubControlBoardBuffers(const int n_joints, const int *joints, const RemappedControlBoards &remappedControlBoards)
Resize buffers to have the dimension of specified by the method (used for multi joint methods that re...
std::vector< std::vector< int > > m_bufferForSubControlBoardControlModes
std::vector< int > m_counterForControlBoard
void fillArbitraryJointVectorFromSubControlBoardBuffers(double *arbitraryVec, const int n_joints, const int *joints, const RemappedControlBoards &remappedControlBoards)
Fill a vector of joints of the ControlBoardRemapper from the buffers of the SubControlBoard .
std::vector< int > m_nJointsInSubControlBoard
std::vector< int > m_nJointsInSubControlBoard
bool configure(const RemappedControlBoards &remappedControlBoards)
Resize the buffers using the information in the RemappedControlBoards.
std::vector< int > m_counterForControlBoard
std::vector< std::vector< int > > m_jointsInSubControlBoard
int m_nrOfControlledAxesInRemappedCtrlBrd
void fillCompleteJointVectorFromSubControlBoardBuffers(double *full, const RemappedControlBoards &remappedControlBoards)
Fill a vector of joints of the ControlBoardRemapper from the buffers of the SubControlBoard .
void fillSubControlBoardBuffersFromCompleteJointVector(const double *full, const RemappedControlBoards &remappedControlBoards)
Fill buffers for the SubControlBoard from a vector of joints of the RemappedControlBoards.
std::vector< std::vector< double > > m_bufferForSubControlBoard
std::vector< std::vector< int > > m_bufferForSubControlBoardControlModes
std::vector< std::vector< yarp::dev::InteractionModeEnum > > m_bufferForSubControlBoardInteractionModes
size_t getNrOfSubControlBoards() const
std::vector< RemappedAxis > lut
Vector of dimension getNrOfRemappedAxes .
size_t getNrOfRemappedAxes() const
yarp::dev::IPositionControl * pos
yarp::dev::IImpedanceControl * iImpedance
RemappedSubControlBoard()
yarp::dev::IAmplifierControl * amp
yarp::dev::IEncodersTimed * iJntEnc
yarp::dev::IInteractionMode * iInteract
yarp::dev::IRemoteVariables * iVar
yarp::dev::ICurrentControl * iCurr
yarp::dev::ITorqueControl * iTorque
yarp::dev::IVelocityControl * vel
yarp::dev::IControlMode * iMode
yarp::dev::IJointFault * iFault
yarp::dev::IVelocityDirect * iVelDir
yarp::dev::IPositionDirect * posDir
yarp::dev::IRemoteCalibrator * remcalib
bool attach(yarp::dev::PolyDriver *d, const std::string &id)
yarp::dev::IPidControl * pid
yarp::dev::IAxisInfo * info
yarp::dev::IControlLimits * lim
yarp::dev::IMotor * imotor
yarp::dev::IJointBrake * iBrake
yarp::dev::IPWMControl * iPwm
yarp::dev::IControlCalibration * calib
yarp::dev::PolyDriver * subdevice
yarp::dev::IMotorEncoders * iMotEnc
yarp::dev::IPreciselyTimed * iTimed
bool view(T *&x)
Get an interface to the device driver.
virtual bool getAxes(int *ax)=0
Get the number of controlled axes.
virtual bool getAxes(int *ax)=0
Get the number of controlled axes.
A container for a device driver.
bool isValid() const
Check if device is valid.
A mini-server for performing network communication in the background.
#define yCError(component,...)
#define yCAssert(component, x)
#define yCWarning(component,...)
For streams capable of holding different kinds of content, check what they actually have.
An interface to the operating system, including Port based communication.