YARP
Yet Another Robot Platform
yarp::dev::ControlBoardHelper Class Reference

#include <yarp/dev/ControlBoardHelper.h>

Classes

class  PrivateUnitsHandler
 

Public Member Functions

 ControlBoardHelper (int n, const int *aMap, const double *angToEncs=nullptr, const double *zs=nullptr, const double *newtons=nullptr, const double *amps=nullptr, const double *volts=nullptr, const double *dutycycles=nullptr, const double *kbemf=nullptr, const double *ktau=nullptr)
 
 ~ControlBoardHelper ()
 
 ControlBoardHelper (const ControlBoardHelper &other)
 
ControlBoardHelperoperator= (const ControlBoardHelper &other)
 
bool checkAxisId (int id)
 
bool checkAxesIds (const int n_axes, const int *axesList)
 
int toHw (int axis)
 
int toUser (int axis)
 
void toUser (const double *hwData, double *user)
 
void toUser (const int *hwData, int *user)
 
void toHw (const double *usr, double *hwData)
 
void toHw (const int *usr, int *hwData)
 
void posA2E (double ang, int j, double &enc, int &k)
 
double posA2E (double ang, int j)
 
void posE2A (double enc, int j, double &ang, int &k)
 
double posE2A (double enc, int j)
 
void posA2E (const double *ang, double *enc)
 
void posE2A (const double *enc, double *ang)
 
void velA2E (double ang, int j, double &enc, int &k)
 
double velA2E (double ang, int j)
 
void velA2E_abs (double ang, int j, double &enc, int &k)
 
void velE2A (double enc, int j, double &ang, int &k)
 
void velE2A_abs (double enc, int j, double &ang, int &k)
 
double velE2A (double enc, int j)
 
double velE2A_abs (double enc, int j)
 
void velA2E (const double *ang, double *enc)
 
void velA2E_abs (const double *ang, double *enc)
 
void velE2A (const double *enc, double *ang)
 
void velE2A_abs (const double *enc, double *ang)
 
void accA2E (double ang, int j, double &enc, int &k)
 
void accA2E_abs (double ang, int j, double &enc, int &k)
 
void accE2A (double enc, int j, double &ang, int &k)
 
void accE2A_abs (double enc, int j, double &ang, int &k)
 
double accE2A (double enc, int j)
 
double accE2A_abs (double enc, int j)
 
void accA2E (const double *ang, double *enc)
 
void accA2E_abs (const double *ang, double *enc)
 
void accE2A (const double *enc, double *ang)
 
void accE2A_abs (const double *enc, double *ang)
 
void trqN2S (double newtons, int j, double &sens, int &k)
 
double trqN2S (double newtons, int j)
 
void trqN2S (const double *newtons, double *sens)
 
void trqS2N (const double *sens, double *newtons)
 
void trqS2N (double sens, int j, double &newton, int &k)
 
double trqS2N (double sens, int j)
 
void impN2S (double newtons, int j, double &sens, int &k)
 
double impN2S (double newtons, int j)
 
void impN2S (const double *newtons, double *sens)
 
void impS2N (const double *sens, double *newtons)
 
void impS2N (double sens, int j, double &newton, int &k)
 
double impS2N (double sens, int j)
 
void ampereA2S (double ampere, int j, double &sens, int &k)
 
double ampereA2S (double ampere, int j)
 
void ampereA2S (const double *ampere, double *sens)
 
void ampereS2A (const double *sens, double *ampere)
 
void ampereS2A (double sens, int j, double &ampere, int &k)
 
double ampereS2A (double sens, int j)
 
void voltageV2S (double voltage, int j, double &sens, int &k)
 
double voltageV2S (double voltage, int j)
 
void voltageV2S (const double *voltage, double *sens)
 
void voltageS2V (const double *sens, double *voltage)
 
void voltageS2V (double sens, int j, double &voltage, int &k)
 
double voltageS2V (double sens, int j)
 
void dutycycle2PWM (double dutycycle, int j, double &pwm, int &k)
 
double dutycycle2PWM (double dutycycle, int j)
 
void dutycycle2PWM (const double *dutycycle, double *sens)
 
void PWM2dutycycle (const double *pwm, double *dutycycle)
 
void PWM2dutycycle (double pwm_raw, int k_raw, double &dutycycle, int &j)
 
double PWM2dutycycle (double pwm_raw, int k_raw)
 
double bemf_user2raw (double bemf_user, int j)
 
double ktau_user2raw (double ktau_user, int j)
 
void bemf_user2raw (double bemf_user, int j, double &bemf_raw, int &k)
 
void ktau_user2raw (double ktau_user, int j, double &ktau_raw, int &k)
 
void bemf_raw2user (double bemf_raw, int k_raw, double &bemf_user, int &j_user)
 
void ktau_raw2user (double ktau_raw, int k_raw, double &ktau_user, int &j_user)
 
int axes ()
 
void convert_pidunits_to_machine (const yarp::dev::PidControlTypeEnum &pidtype, double userval, int j, double &machineval, int &k)
 
void convert_pidunits_to_machine (const yarp::dev::PidControlTypeEnum &pidtype, const double *userval, double *machineval)
 
void convert_pidunits_to_user (const yarp::dev::PidControlTypeEnum &pidtype, const double machineval, double *userval, int k)
 
void convert_pidunits_to_user (const yarp::dev::PidControlTypeEnum &pidtype, const double *machineval, double *userval)
 
void convert_pid_to_user (const yarp::dev::PidControlTypeEnum &pidtype, const Pid &in_raw, int j_raw, Pid &out_usr, int &k_usr)
 
void convert_pid_to_machine (const yarp::dev::PidControlTypeEnum &pidtype, const Pid &in_usr, int j_usr, Pid &out_raw, int &k_raw)
 
Pid convert_pid_to_machine (const yarp::dev::PidControlTypeEnum &pidtype, const Pid &in_usr, int j_usr)
 
void set_pid_conversion_units (const PidControlTypeEnum &pidtype, const PidFeedbackUnitsEnum fbk_conv_units, const PidOutputUnitsEnum out_conv_units)
 
double get_pidfeedback_conversion_factor_user2raw (const yarp::dev::PidControlTypeEnum &pidtype, int j)
 
double get_pidoutput_conversion_factor_user2raw (const yarp::dev::PidControlTypeEnum &pidtype, int j)
 

Detailed Description

Definition at line 56 of file ControlBoardHelper.h.

Constructor & Destructor Documentation

◆ ControlBoardHelper() [1/2]

ControlBoardHelper::ControlBoardHelper ( int  n,
const int *  aMap,
const double *  angToEncs = nullptr,
const double *  zs = nullptr,
const double *  newtons = nullptr,
const double *  amps = nullptr,
const double *  volts = nullptr,
const double *  dutycycles = nullptr,
const double *  kbemf = nullptr,
const double *  ktau = nullptr 
)

Definition at line 161 of file ControlBoardHelper.cpp.

◆ ~ControlBoardHelper()

ControlBoardHelper::~ControlBoardHelper ( )

Definition at line 211 of file ControlBoardHelper.cpp.

◆ ControlBoardHelper() [2/2]

yarp::dev::ControlBoardHelper::ControlBoardHelper ( const ControlBoardHelper other)

Definition at line 216 of file ControlBoardHelper.cpp.

Member Function Documentation

◆ accA2E() [1/2]

void ControlBoardHelper::accA2E ( const double *  ang,
double *  enc 
)

Definition at line 556 of file ControlBoardHelper.cpp.

◆ accA2E() [2/2]

void ControlBoardHelper::accA2E ( double  ang,
int  j,
double &  enc,
int &  k 
)

Definition at line 445 of file ControlBoardHelper.cpp.

◆ accA2E_abs() [1/2]

void ControlBoardHelper::accA2E_abs ( const double *  ang,
double *  enc 
)

Definition at line 567 of file ControlBoardHelper.cpp.

◆ accA2E_abs() [2/2]

void ControlBoardHelper::accA2E_abs ( double  ang,
int  j,
double &  enc,
int &  k 
)

Definition at line 450 of file ControlBoardHelper.cpp.

◆ accE2A() [1/3]

void ControlBoardHelper::accE2A ( const double *  enc,
double *  ang 
)

Definition at line 578 of file ControlBoardHelper.cpp.

◆ accE2A() [2/3]

double ControlBoardHelper::accE2A ( double  enc,
int  j 
)

Definition at line 478 of file ControlBoardHelper.cpp.

◆ accE2A() [3/3]

void ControlBoardHelper::accE2A ( double  enc,
int  j,
double &  ang,
int &  k 
)

Definition at line 455 of file ControlBoardHelper.cpp.

◆ accE2A_abs() [1/3]

void ControlBoardHelper::accE2A_abs ( const double *  enc,
double *  ang 
)

Definition at line 589 of file ControlBoardHelper.cpp.

◆ accE2A_abs() [2/3]

double ControlBoardHelper::accE2A_abs ( double  enc,
int  j 
)

Definition at line 483 of file ControlBoardHelper.cpp.

◆ accE2A_abs() [3/3]

void ControlBoardHelper::accE2A_abs ( double  enc,
int  j,
double &  ang,
int &  k 
)

Definition at line 460 of file ControlBoardHelper.cpp.

◆ ampereA2S() [1/3]

void ControlBoardHelper::ampereA2S ( const double *  ampere,
double *  sens 
)

Definition at line 613 of file ControlBoardHelper.cpp.

◆ ampereA2S() [2/3]

double ControlBoardHelper::ampereA2S ( double  ampere,
int  j 
)

Definition at line 607 of file ControlBoardHelper.cpp.

◆ ampereA2S() [3/3]

void ControlBoardHelper::ampereA2S ( double  ampere,
int  j,
double &  sens,
int &  k 
)

Definition at line 601 of file ControlBoardHelper.cpp.

◆ ampereS2A() [1/3]

void ControlBoardHelper::ampereS2A ( const double *  sens,
double *  ampere 
)

Definition at line 625 of file ControlBoardHelper.cpp.

◆ ampereS2A() [2/3]

double ControlBoardHelper::ampereS2A ( double  sens,
int  j 
)

Definition at line 642 of file ControlBoardHelper.cpp.

◆ ampereS2A() [3/3]

void ControlBoardHelper::ampereS2A ( double  sens,
int  j,
double &  ampere,
int &  k 
)

Definition at line 636 of file ControlBoardHelper.cpp.

◆ axes()

int ControlBoardHelper::axes ( )

Definition at line 781 of file ControlBoardHelper.cpp.

◆ bemf_raw2user()

void ControlBoardHelper::bemf_raw2user ( double  bemf_raw,
int  k_raw,
double &  bemf_user,
int &  j_user 
)

Definition at line 757 of file ControlBoardHelper.cpp.

◆ bemf_user2raw() [1/2]

double ControlBoardHelper::bemf_user2raw ( double  bemf_user,
int  j 
)

Definition at line 769 of file ControlBoardHelper.cpp.

◆ bemf_user2raw() [2/2]

void ControlBoardHelper::bemf_user2raw ( double  bemf_user,
int  j,
double &  bemf_raw,
int &  k 
)

Definition at line 745 of file ControlBoardHelper.cpp.

◆ checkAxesIds()

bool ControlBoardHelper::checkAxesIds ( const int  n_axes,
const int *  axesList 
)

Definition at line 237 of file ControlBoardHelper.cpp.

◆ checkAxisId()

bool ControlBoardHelper::checkAxisId ( int  id)

Definition at line 227 of file ControlBoardHelper.cpp.

◆ convert_pid_to_machine() [1/2]

Pid ControlBoardHelper::convert_pid_to_machine ( const yarp::dev::PidControlTypeEnum pidtype,
const Pid in_usr,
int  j_usr 
)

Definition at line 845 of file ControlBoardHelper.cpp.

◆ convert_pid_to_machine() [2/2]

void ControlBoardHelper::convert_pid_to_machine ( const yarp::dev::PidControlTypeEnum pidtype,
const Pid in_usr,
int  j_usr,
Pid out_raw,
int &  k_raw 
)

Definition at line 853 of file ControlBoardHelper.cpp.

◆ convert_pid_to_user()

void ControlBoardHelper::convert_pid_to_user ( const yarp::dev::PidControlTypeEnum pidtype,
const Pid in_raw,
int  j_raw,
Pid out_usr,
int &  k_usr 
)

Definition at line 821 of file ControlBoardHelper.cpp.

◆ convert_pidunits_to_machine() [1/2]

void ControlBoardHelper::convert_pidunits_to_machine ( const yarp::dev::PidControlTypeEnum pidtype,
const double *  userval,
double *  machineval 
)

Definition at line 902 of file ControlBoardHelper.cpp.

◆ convert_pidunits_to_machine() [2/2]

void ControlBoardHelper::convert_pidunits_to_machine ( const yarp::dev::PidControlTypeEnum pidtype,
double  userval,
int  j,
double &  machineval,
int &  k 
)

Definition at line 877 of file ControlBoardHelper.cpp.

◆ convert_pidunits_to_user() [1/2]

void ControlBoardHelper::convert_pidunits_to_user ( const yarp::dev::PidControlTypeEnum pidtype,
const double *  machineval,
double *  userval 
)

Definition at line 952 of file ControlBoardHelper.cpp.

◆ convert_pidunits_to_user() [2/2]

void ControlBoardHelper::convert_pidunits_to_user ( const yarp::dev::PidControlTypeEnum pidtype,
const double  machineval,
double *  userval,
int  k 
)

Definition at line 927 of file ControlBoardHelper.cpp.

◆ dutycycle2PWM() [1/3]

void ControlBoardHelper::dutycycle2PWM ( const double *  dutycycle,
double *  sens 
)

Definition at line 710 of file ControlBoardHelper.cpp.

◆ dutycycle2PWM() [2/3]

double ControlBoardHelper::dutycycle2PWM ( double  dutycycle,
int  j 
)

Definition at line 705 of file ControlBoardHelper.cpp.

◆ dutycycle2PWM() [3/3]

void ControlBoardHelper::dutycycle2PWM ( double  dutycycle,
int  j,
double &  pwm,
int &  k 
)

Definition at line 699 of file ControlBoardHelper.cpp.

◆ get_pidfeedback_conversion_factor_user2raw()

double ControlBoardHelper::get_pidfeedback_conversion_factor_user2raw ( const yarp::dev::PidControlTypeEnum pidtype,
int  j 
)

Definition at line 802 of file ControlBoardHelper.cpp.

◆ get_pidoutput_conversion_factor_user2raw()

double ControlBoardHelper::get_pidoutput_conversion_factor_user2raw ( const yarp::dev::PidControlTypeEnum pidtype,
int  j 
)

Definition at line 786 of file ControlBoardHelper.cpp.

◆ impN2S() [1/3]

void ControlBoardHelper::impN2S ( const double *  newtons,
double *  sens 
)

Definition at line 334 of file ControlBoardHelper.cpp.

◆ impN2S() [2/3]

double ControlBoardHelper::impN2S ( double  newtons,
int  j 
)

Definition at line 329 of file ControlBoardHelper.cpp.

◆ impN2S() [3/3]

void ControlBoardHelper::impN2S ( double  newtons,
int  j,
double &  sens,
int &  k 
)

Definition at line 323 of file ControlBoardHelper.cpp.

◆ impS2N() [1/3]

void ControlBoardHelper::impS2N ( const double *  sens,
double *  newtons 
)

Definition at line 392 of file ControlBoardHelper.cpp.

◆ impS2N() [2/3]

double ControlBoardHelper::impS2N ( double  sens,
int  j 
)

Definition at line 409 of file ControlBoardHelper.cpp.

◆ impS2N() [3/3]

void ControlBoardHelper::impS2N ( double  sens,
int  j,
double &  newton,
int &  k 
)

Definition at line 403 of file ControlBoardHelper.cpp.

◆ ktau_raw2user()

void ControlBoardHelper::ktau_raw2user ( double  ktau_raw,
int  k_raw,
double &  ktau_user,
int &  j_user 
)

Definition at line 763 of file ControlBoardHelper.cpp.

◆ ktau_user2raw() [1/2]

double ControlBoardHelper::ktau_user2raw ( double  ktau_user,
int  j 
)

Definition at line 774 of file ControlBoardHelper.cpp.

◆ ktau_user2raw() [2/2]

void ControlBoardHelper::ktau_user2raw ( double  ktau_user,
int  j,
double &  ktau_raw,
int &  k 
)

Definition at line 751 of file ControlBoardHelper.cpp.

◆ operator=()

ControlBoardHelper & ControlBoardHelper::operator= ( const ControlBoardHelper other)

Definition at line 221 of file ControlBoardHelper.cpp.

◆ posA2E() [1/3]

void ControlBoardHelper::posA2E ( const double *  ang,
double *  enc 
)

Definition at line 489 of file ControlBoardHelper.cpp.

◆ posA2E() [2/3]

double ControlBoardHelper::posA2E ( double  ang,
int  j 
)

Definition at line 304 of file ControlBoardHelper.cpp.

◆ posA2E() [3/3]

void ControlBoardHelper::posA2E ( double  ang,
int  j,
double &  enc,
int &  k 
)

Definition at line 298 of file ControlBoardHelper.cpp.

◆ posE2A() [1/3]

void ControlBoardHelper::posE2A ( const double *  enc,
double *  ang 
)

Definition at line 501 of file ControlBoardHelper.cpp.

◆ posE2A() [2/3]

double ControlBoardHelper::posE2A ( double  enc,
int  j 
)

Definition at line 316 of file ControlBoardHelper.cpp.

◆ posE2A() [3/3]

void ControlBoardHelper::posE2A ( double  enc,
int  j,
double &  ang,
int &  k 
)

Definition at line 309 of file ControlBoardHelper.cpp.

◆ PWM2dutycycle() [1/3]

void ControlBoardHelper::PWM2dutycycle ( const double *  pwm,
double *  dutycycle 
)

Definition at line 721 of file ControlBoardHelper.cpp.

◆ PWM2dutycycle() [2/3]

double ControlBoardHelper::PWM2dutycycle ( double  pwm_raw,
int  k_raw 
)

Definition at line 738 of file ControlBoardHelper.cpp.

◆ PWM2dutycycle() [3/3]

void ControlBoardHelper::PWM2dutycycle ( double  pwm_raw,
int  k_raw,
double &  dutycycle,
int &  j 
)

Definition at line 732 of file ControlBoardHelper.cpp.

◆ set_pid_conversion_units()

void ControlBoardHelper::set_pid_conversion_units ( const PidControlTypeEnum pidtype,
const PidFeedbackUnitsEnum  fbk_conv_units,
const PidOutputUnitsEnum  out_conv_units 
)

Definition at line 977 of file ControlBoardHelper.cpp.

◆ toHw() [1/3]

void ControlBoardHelper::toHw ( const double *  usr,
double *  hwData 
)

Definition at line 283 of file ControlBoardHelper.cpp.

◆ toHw() [2/3]

void ControlBoardHelper::toHw ( const int *  usr,
int *  hwData 
)

Definition at line 291 of file ControlBoardHelper.cpp.

◆ toHw() [3/3]

int ControlBoardHelper::toHw ( int  axis)

Definition at line 260 of file ControlBoardHelper.cpp.

◆ toUser() [1/3]

void ControlBoardHelper::toUser ( const double *  hwData,
double *  user 
)

Definition at line 267 of file ControlBoardHelper.cpp.

◆ toUser() [2/3]

void yarp::dev::ControlBoardHelper::toUser ( const int *  hwData,
int *  user 
)

◆ toUser() [3/3]

int ControlBoardHelper::toUser ( int  axis)

Definition at line 263 of file ControlBoardHelper.cpp.

◆ trqN2S() [1/3]

void ControlBoardHelper::trqN2S ( const double *  newtons,
double *  sens 
)

Definition at line 357 of file ControlBoardHelper.cpp.

◆ trqN2S() [2/3]

double ControlBoardHelper::trqN2S ( double  newtons,
int  j 
)

Definition at line 351 of file ControlBoardHelper.cpp.

◆ trqN2S() [3/3]

void ControlBoardHelper::trqN2S ( double  newtons,
int  j,
double &  sens,
int &  k 
)

Definition at line 345 of file ControlBoardHelper.cpp.

◆ trqS2N() [1/3]

void ControlBoardHelper::trqS2N ( const double *  sens,
double *  newtons 
)

Definition at line 369 of file ControlBoardHelper.cpp.

◆ trqS2N() [2/3]

double ControlBoardHelper::trqS2N ( double  sens,
int  j 
)

Definition at line 386 of file ControlBoardHelper.cpp.

◆ trqS2N() [3/3]

void ControlBoardHelper::trqS2N ( double  sens,
int  j,
double &  newton,
int &  k 
)

Definition at line 380 of file ControlBoardHelper.cpp.

◆ velA2E() [1/3]

void ControlBoardHelper::velA2E ( const double *  ang,
double *  enc 
)

Definition at line 512 of file ControlBoardHelper.cpp.

◆ velA2E() [2/3]

double ControlBoardHelper::velA2E ( double  ang,
int  j 
)

Definition at line 422 of file ControlBoardHelper.cpp.

◆ velA2E() [3/3]

void ControlBoardHelper::velA2E ( double  ang,
int  j,
double &  enc,
int &  k 
)

Definition at line 416 of file ControlBoardHelper.cpp.

◆ velA2E_abs() [1/2]

void ControlBoardHelper::velA2E_abs ( const double *  ang,
double *  enc 
)

Definition at line 523 of file ControlBoardHelper.cpp.

◆ velA2E_abs() [2/2]

void ControlBoardHelper::velA2E_abs ( double  ang,
int  j,
double &  enc,
int &  k 
)

Definition at line 427 of file ControlBoardHelper.cpp.

◆ velE2A() [1/3]

void ControlBoardHelper::velE2A ( const double *  enc,
double *  ang 
)

Definition at line 534 of file ControlBoardHelper.cpp.

◆ velE2A() [2/3]

double ControlBoardHelper::velE2A ( double  enc,
int  j 
)

Definition at line 465 of file ControlBoardHelper.cpp.

◆ velE2A() [3/3]

void ControlBoardHelper::velE2A ( double  enc,
int  j,
double &  ang,
int &  k 
)

Definition at line 433 of file ControlBoardHelper.cpp.

◆ velE2A_abs() [1/3]

void ControlBoardHelper::velE2A_abs ( const double *  enc,
double *  ang 
)

Definition at line 545 of file ControlBoardHelper.cpp.

◆ velE2A_abs() [2/3]

double ControlBoardHelper::velE2A_abs ( double  enc,
int  j 
)

Definition at line 471 of file ControlBoardHelper.cpp.

◆ velE2A_abs() [3/3]

void ControlBoardHelper::velE2A_abs ( double  enc,
int  j,
double &  ang,
int &  k 
)

Definition at line 439 of file ControlBoardHelper.cpp.

◆ voltageS2V() [1/3]

void ControlBoardHelper::voltageS2V ( const double *  sens,
double *  voltage 
)

Definition at line 674 of file ControlBoardHelper.cpp.

◆ voltageS2V() [2/3]

double ControlBoardHelper::voltageS2V ( double  sens,
int  j 
)

Definition at line 691 of file ControlBoardHelper.cpp.

◆ voltageS2V() [3/3]

void ControlBoardHelper::voltageS2V ( double  sens,
int  j,
double &  voltage,
int &  k 
)

Definition at line 685 of file ControlBoardHelper.cpp.

◆ voltageV2S() [1/3]

void ControlBoardHelper::voltageV2S ( const double *  voltage,
double *  sens 
)

Definition at line 662 of file ControlBoardHelper.cpp.

◆ voltageV2S() [2/3]

double ControlBoardHelper::voltageV2S ( double  voltage,
int  j 
)

Definition at line 656 of file ControlBoardHelper.cpp.

◆ voltageV2S() [3/3]

void ControlBoardHelper::voltageV2S ( double  voltage,
int  j,
double &  sens,
int &  k 
)

Definition at line 650 of file ControlBoardHelper.cpp.


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