46 _subDevVerbose =
false;
123 if ((
iTorque==
nullptr) && (_subDevVerbose))
128 if ((
iImpedance==
nullptr) && (_subDevVerbose))
133 if ((
iInteract==
nullptr) && (_subDevVerbose))
138 if ((
iMotEnc==
nullptr) && (_subDevVerbose))
143 if ((
imotor==
nullptr) && (_subDevVerbose))
148 if ((
iVar ==
nullptr) && (_subDevVerbose))
153 if ((
info ==
nullptr) && (_subDevVerbose))
158 if ((
iPwm ==
nullptr) && (_subDevVerbose))
163 if ((
iCurr ==
nullptr) && (_subDevVerbose))
168 if ((
iFault ==
nullptr) && (_subDevVerbose))
209 else if(
info!=
nullptr)
260 int off=(
int)remappedControlBoards.
lut[
j].axisIndexInSubControlBoard;
261 size_t subIndex=remappedControlBoards.
lut[
j].subControlBoardIndex;
291 size_t subIndex=remappedControlBoards.
lut[
j].subControlBoardIndex;
306 size_t subIndex=remappedControlBoards.
lut[
j].subControlBoardIndex;
321 size_t subIndex=remappedControlBoards.
lut[
j].subControlBoardIndex;
336 size_t subIndex=remappedControlBoards.
lut[
j].subControlBoardIndex;
351 size_t subIndex=remappedControlBoards.
lut[
j].subControlBoardIndex;
366 size_t subIndex=remappedControlBoards.
lut[
j].subControlBoardIndex;
397 size_t subIndex=remappedControlBoards.
lut[
j].subControlBoardIndex;
428 for(
int j=0;
j < n_joints;
j++)
442 this->createListOfJointsDecomposition(n_joints,
joints,remappedControlBoards);
449 for(
int j=0;
j < n_joints;
j++)
467 for(
int j=0;
j < n_joints;
j++)
481 this->createListOfJointsDecomposition(n_joints,
joints,remappedControlBoards);
488 for(
int j=0;
j < n_joints;
j++)
506 for(
int j=0;
j < n_joints;
j++)
520 this->createListOfJointsDecomposition(n_joints,
joints,remappedControlBoards);
527 for(
int j=0;
j < n_joints;
j++)
535void ControlBoardArbitraryAxesDecomposition::createListOfJointsDecomposition(
const int n_joints,
const int*
joints,
const RemappedControlBoards & remappedControlBoards)
544 for(
int j=0;
j < n_joints;
j++)
546 int off=(
int)remappedControlBoards.
lut[
joints[
j]].axisIndexInSubControlBoard;
558 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::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::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.