fastcat 0.13.15
C++ EtherCAT Device Command & Control Library
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
fastcat Namespace Reference

Classes

class  Actuator
 
class  AtiFts
 
class  AtiFtsOffline
 
class  Commander
 
class  Conditional
 
class  DeviceBase
 
class  DigitalABFilter
 
class  Egd
 
class  EgdOffline
 
class  El1008
 
class  El1008Offline
 
class  El2124
 
class  El2124Offline
 
class  El2798
 
class  El2798Offline
 
class  El2809
 
class  El2809Offline
 
class  El2828
 
class  El2828Offline
 
class  El3104
 
class  El3104Offline
 
class  El3162
 
class  El3162Offline
 
class  El3202
 
class  El3202Offline
 
class  El3208
 
class  El3208Offline
 
class  El3314
 
class  El3314Offline
 
class  El3318
 
class  El3318Offline
 
class  El3602
 
class  El3602Offline
 
class  El4102
 
class  El4102Offline
 
class  El5042
 
class  El5042Offline
 
struct  ExponentialParams
 
class  Faulter
 Fastcat device class that can be used to trigger a fault based on a signal. More...
 
class  Filter
 
class  Fts
 Class implementing force-torque sensor through fastcat. More...
 
class  Function
 
struct  GaussianRandomParams
 
class  GoldActuator
 
class  GoldActuatorOffline
 
class  Ild1900
 
class  Ild1900Offline
 
class  Jed0101
 
class  Jed0101Offline
 
class  Jed0200
 
class  Jed0200Offline
 
class  JsdDeviceBase
 
class  LinearInterpolation
 
class  Manager
 Fastcat::Manager is the main application interface to manage all fastcat devices. More...
 
class  MovingAverageFilter
 
class  Pid
 
class  PlatinumActuator
 
class  PlatinumActuatorOffline
 
struct  PolynomialParams
 
struct  PowerParams
 
class  RingBuffer
 
class  Saturation
 
struct  SawToothParams
 
class  SchmittTrigger
 
class  SignalGenerator
 
struct  SineWaveParams
 
class  ThreadSafeQueue
 
class  ThreeNodeThermalModel
 Class implementing a Three-Node Thermal Model for estimating internal motor temperatures, through fastcat. More...
 
struct  UniformRandomParams
 
class  VirtualFts
 Class that takes in the output of an FTS device and applies a transform to it. More...
 

Typedefs

typedef std::pair< std::string, std::shared_ptr< DeviceBase > > DevicePair
 
typedef std::pair< std::string, jsd_t * > JSDPair
 

Enumerations

enum  ConditionalType {
  LT , LE , GT , GE ,
  EQ , NE , BAD_CONDITIONAL_TYPE
}
 
enum  FilterType { MOVING_AVERAGE , DIGITAL_AB , BAD_FILTER_TYPE }
 
enum  FunctionType {
  POLYNOMIAL , SUMMATION , MULTIPLICATION , POWER ,
  EXPONENTIAL , SIGMOID , BAD_FUNCTION_TYPE
}
 
enum  SignalGeneratorType {
  SINE_WAVE , SAW_TOOTH , GAUSSIAN_RANDOM , UNIFORM_RANDOM ,
  BAD_SIGNAL_GENERATOR_TYPE
}
 
enum  ActuatorStateMachineState {
  ACTUATOR_SMS_FAULTED , ACTUATOR_SMS_HALTED , ACTUATOR_SMS_HOLDING , ACTUATOR_SMS_PROF_POS ,
  ACTUATOR_SMS_PROF_POS_DISENGAGING , ACTUATOR_SMS_PROF_VEL , ACTUATOR_SMS_PROF_VEL_DISENGAGING , ACTUATOR_SMS_PROF_TORQUE ,
  ACTUATOR_SMS_PROF_TORQUE_DISENGAGING , ACTUATOR_SMS_CSP , ACTUATOR_SMS_CSV , ACTUATOR_SMS_CST ,
  ACTUATOR_SMS_CAL_MOVE_TO_HARDSTOP , ACTUATOR_SMS_CAL_UPDATE_POSITION , ACTUATOR_SMS_CAL_AT_HARDSTOP , ACTUATOR_SMS_CAL_MOVE_TO_SOFTSTOP
}
 
enum  ActuatorType { ACTUATOR_TYPE_REVOLUTE , ACTUATOR_TYPE_PRISMATIC }
 
enum  ActuatorFastcatFault {
  ACTUATOR_FASTCAT_FAULT_OKAY = 0 , ACTUATOR_FASTCAT_FAULT_CMD_LIMIT_EXCEEDED , ACTUATOR_FASTCAT_FAULT_INVALID_CMD_DURING_MOTION , ACTUATOR_FASTCAT_FAULT_INVALID_CMD_DURING_CAL ,
  ACTUATOR_FASTCAT_FAULT_INVALID_CAL_MOTION_RANGE , ACTUATOR_FASTCAT_FAULT_STO_ENGAGED , ACTUATOR_FASTCAT_FAULT_INVALID_ELMO_SMS_DURING_MOTION , ACTUATOR_FASTCAT_FAULT_BRAKE_DISENGAGE_TIMEOUT_EXCEEDED ,
  ACTUATOR_FASTCAT_FAULT_NO_HARDSTOP_DURING_CAL , ACTUATOR_FASTCAT_FAULT_CAL_RESET_TIMEOUT_EXCEEDED , ACTUATOR_FASTCAT_FAULT_PROF_POS_CMD_ACK_TIMEOUT_EXCEEDED
}
 
enum  ActuatorExplicitInterpolationAlgorithm { ACTUATOR_EXPLICIT_INTERPOLATION_ALGORITHM_CUBIC = 0 , ACTUATOR_EXPLICIT_INTERPOLATION_ALGORITHM_LINEAR }
 
enum  ActuatorExplicitInterpolationTimestamp { ACTUATOR_EXPLICIT_INTERPOLATION_TIMESTAMP_CSP_MESSAGE = 0 , ACTUATOR_EXPLICIT_INTERPOLATION_TIMESTAMP_FASTCAT_CLOCK }
 

Functions

ConditionalType ConditionalTypeFromString (std::string cond_type)
 
FilterType FilterTypeFromString (std::string str)
 
FunctionType FunctionTypeFromString (const std::string &)
 
SignalGeneratorType SignalGeneratorTypeFromString (const std::string &)
 
bool UpdateSignal (Signal &signal)
 
bool ConfigSignalsFromYaml (const YAML::Node &node, std::vector< Signal > &signals, bool is_commander)
 
bool ConfigSignalByteIndexing (DeviceState *state, Signal &signal)
 
enum DeviceCmdType DeviceCmdTypeFromString (std::string str)
 
bool ParseNode (const YAML::Node &node, const std::string &field, YAML::Node &val)
 
bool ParseList (const YAML::Node &node, const std::string &field, YAML::Node &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, double &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, float &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, std::string &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, int32_t &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, uint32_t &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, int64_t &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, uint64_t &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, int16_t &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, uint16_t &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, int8_t &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, uint8_t &val)
 
bool ParseVal (const YAML::Node &node, const std::string &field, bool &val)
 
bool ParseValCheckRange (const YAML::Node &node, const std::string &field, double &val, double lower, double upper)
 
bool ParseValCheckRange (const YAML::Node &node, const std::string &field, float &val, float lower, float upper)
 
bool ParseValCheckRange (const YAML::Node &node, const std::string &field, int32_t &val, int32_t lower, int32_t upper)
 
bool ParseValCheckRange (const YAML::Node &node, const std::string &field, uint32_t &val, uint32_t lower, uint32_t upper)
 
bool ParseValCheckRange (const YAML::Node &node, const std::string &field, int16_t &val, int16_t lower, int16_t upper)
 
bool ParseValCheckRange (const YAML::Node &node, const std::string &field, uint16_t &val, int16_t lower, int16_t upper)
 
bool ParseValCheckRange (const YAML::Node &node, const std::string &field, int8_t &val, int8_t lower, int8_t upper)
 
bool ParseValCheckRange (const YAML::Node &node, const std::string &field, uint8_t &val, uint8_t lower, uint8_t upper)
 
bool ParseOptVal (const YAML::Node &node, const std::string &field, double &val)
 
bool ParseOptVal (const YAML::Node &node, const std::string &field, std::string &val)
 
bool ParseOptVal (const YAML::Node &node, const std::string &field, bool &val)
 
bool ParseOptValCheckRange (const YAML::Node &node, const std::string &field, double &val, double lower, double upper)
 

Typedef Documentation

◆ DevicePair

typedef std::pair<std::string, std::shared_ptr<DeviceBase> > fastcat::DevicePair

◆ JSDPair

typedef std::pair<std::string, jsd_t*> fastcat::JSDPair

Enumeration Type Documentation

◆ ActuatorExplicitInterpolationAlgorithm

Enumerator
ACTUATOR_EXPLICIT_INTERPOLATION_ALGORITHM_CUBIC 
ACTUATOR_EXPLICIT_INTERPOLATION_ALGORITHM_LINEAR 

◆ ActuatorExplicitInterpolationTimestamp

Enumerator
ACTUATOR_EXPLICIT_INTERPOLATION_TIMESTAMP_CSP_MESSAGE 
ACTUATOR_EXPLICIT_INTERPOLATION_TIMESTAMP_FASTCAT_CLOCK 

◆ ActuatorFastcatFault

Enumerator
ACTUATOR_FASTCAT_FAULT_OKAY 
ACTUATOR_FASTCAT_FAULT_CMD_LIMIT_EXCEEDED 
ACTUATOR_FASTCAT_FAULT_INVALID_CMD_DURING_MOTION 
ACTUATOR_FASTCAT_FAULT_INVALID_CMD_DURING_CAL 
ACTUATOR_FASTCAT_FAULT_INVALID_CAL_MOTION_RANGE 
ACTUATOR_FASTCAT_FAULT_STO_ENGAGED 
ACTUATOR_FASTCAT_FAULT_INVALID_ELMO_SMS_DURING_MOTION 
ACTUATOR_FASTCAT_FAULT_BRAKE_DISENGAGE_TIMEOUT_EXCEEDED 
ACTUATOR_FASTCAT_FAULT_NO_HARDSTOP_DURING_CAL 
ACTUATOR_FASTCAT_FAULT_CAL_RESET_TIMEOUT_EXCEEDED 
ACTUATOR_FASTCAT_FAULT_PROF_POS_CMD_ACK_TIMEOUT_EXCEEDED 

◆ ActuatorStateMachineState

Enumerator
ACTUATOR_SMS_FAULTED 
ACTUATOR_SMS_HALTED 
ACTUATOR_SMS_HOLDING 
ACTUATOR_SMS_PROF_POS 
ACTUATOR_SMS_PROF_POS_DISENGAGING 
ACTUATOR_SMS_PROF_VEL 
ACTUATOR_SMS_PROF_VEL_DISENGAGING 
ACTUATOR_SMS_PROF_TORQUE 
ACTUATOR_SMS_PROF_TORQUE_DISENGAGING 
ACTUATOR_SMS_CSP 
ACTUATOR_SMS_CSV 
ACTUATOR_SMS_CST 
ACTUATOR_SMS_CAL_MOVE_TO_HARDSTOP 
ACTUATOR_SMS_CAL_UPDATE_POSITION 
ACTUATOR_SMS_CAL_AT_HARDSTOP 
ACTUATOR_SMS_CAL_MOVE_TO_SOFTSTOP 

◆ ActuatorType

Enumerator
ACTUATOR_TYPE_REVOLUTE 
ACTUATOR_TYPE_PRISMATIC 

◆ ConditionalType

Enumerator
LT 
LE 
GT 
GE 
EQ 
NE 
BAD_CONDITIONAL_TYPE 

◆ FilterType

Enumerator
MOVING_AVERAGE 
DIGITAL_AB 
BAD_FILTER_TYPE 

◆ FunctionType

Enumerator
POLYNOMIAL 
SUMMATION 
MULTIPLICATION 
POWER 
EXPONENTIAL 
SIGMOID 
BAD_FUNCTION_TYPE 

◆ SignalGeneratorType

Enumerator
SINE_WAVE 
SAW_TOOTH 
GAUSSIAN_RANDOM 
UNIFORM_RANDOM 
BAD_SIGNAL_GENERATOR_TYPE 

Function Documentation

◆ ConditionalTypeFromString()

fastcat::ConditionalType fastcat::ConditionalTypeFromString ( std::string  cond_type)
Here is the caller graph for this function:

◆ ConfigSignalByteIndexing()

bool fastcat::ConfigSignalByteIndexing ( DeviceState *  state,
Signal &  signal 
)

◆ ConfigSignalsFromYaml()

bool fastcat::ConfigSignalsFromYaml ( const YAML::Node &  node,
std::vector< Signal > &  signals,
bool  is_commander 
)
Here is the caller graph for this function:

◆ DeviceCmdTypeFromString()

enum DeviceCmdType fastcat::DeviceCmdTypeFromString ( std::string  str)

◆ FilterTypeFromString()

fastcat::FilterType fastcat::FilterTypeFromString ( std::string  str)
Here is the caller graph for this function:

◆ FunctionTypeFromString()

fastcat::FunctionType fastcat::FunctionTypeFromString ( const std::string &  function_type)
Here is the caller graph for this function:

◆ ParseList()

bool fastcat::ParseList ( const YAML::Node &  node,
const std::string &  field,
YAML::Node &  val 
)
Here is the caller graph for this function:

◆ ParseNode()

bool fastcat::ParseNode ( const YAML::Node &  node,
const std::string &  field,
YAML::Node &  val 
)
Here is the caller graph for this function:

◆ ParseOptVal() [1/3]

bool fastcat::ParseOptVal ( const YAML::Node &  node,
const std::string &  field,
bool &  val 
)

◆ ParseOptVal() [2/3]

bool fastcat::ParseOptVal ( const YAML::Node &  node,
const std::string &  field,
double &  val 
)
Here is the caller graph for this function:

◆ ParseOptVal() [3/3]

bool fastcat::ParseOptVal ( const YAML::Node &  node,
const std::string &  field,
std::string &  val 
)

◆ ParseOptValCheckRange()

bool fastcat::ParseOptValCheckRange ( const YAML::Node &  node,
const std::string &  field,
double &  val,
double  lower,
double  upper 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ParseVal() [1/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
bool &  val 
)

◆ ParseVal() [2/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
double &  val 
)
Here is the caller graph for this function:

◆ ParseVal() [3/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
float &  val 
)

◆ ParseVal() [4/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
int16_t &  val 
)

◆ ParseVal() [5/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
int32_t &  val 
)

◆ ParseVal() [6/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
int64_t &  val 
)

◆ ParseVal() [7/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
int8_t &  val 
)

◆ ParseVal() [8/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
std::string &  val 
)

◆ ParseVal() [9/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
uint16_t &  val 
)

◆ ParseVal() [10/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
uint32_t &  val 
)

◆ ParseVal() [11/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
uint64_t &  val 
)

◆ ParseVal() [12/12]

bool fastcat::ParseVal ( const YAML::Node &  node,
const std::string &  field,
uint8_t &  val 
)

◆ ParseValCheckRange() [1/8]

bool fastcat::ParseValCheckRange ( const YAML::Node &  node,
const std::string &  field,
double &  val,
double  lower,
double  upper 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ParseValCheckRange() [2/8]

bool fastcat::ParseValCheckRange ( const YAML::Node &  node,
const std::string &  field,
float &  val,
float  lower,
float  upper 
)
Here is the call graph for this function:

◆ ParseValCheckRange() [3/8]

bool fastcat::ParseValCheckRange ( const YAML::Node &  node,
const std::string &  field,
int16_t &  val,
int16_t  lower,
int16_t  upper 
)
Here is the call graph for this function:

◆ ParseValCheckRange() [4/8]

bool fastcat::ParseValCheckRange ( const YAML::Node &  node,
const std::string &  field,
int32_t &  val,
int32_t  lower,
int32_t  upper 
)
Here is the call graph for this function:

◆ ParseValCheckRange() [5/8]

bool fastcat::ParseValCheckRange ( const YAML::Node &  node,
const std::string &  field,
int8_t &  val,
int8_t  lower,
int8_t  upper 
)
Here is the call graph for this function:

◆ ParseValCheckRange() [6/8]

bool fastcat::ParseValCheckRange ( const YAML::Node &  node,
const std::string &  field,
uint16_t &  val,
int16_t  lower,
int16_t  upper 
)
Here is the call graph for this function:

◆ ParseValCheckRange() [7/8]

bool fastcat::ParseValCheckRange ( const YAML::Node &  node,
const std::string &  field,
uint32_t &  val,
uint32_t  lower,
uint32_t  upper 
)
Here is the call graph for this function:

◆ ParseValCheckRange() [8/8]

bool fastcat::ParseValCheckRange ( const YAML::Node &  node,
const std::string &  field,
uint8_t &  val,
uint8_t  lower,
uint8_t  upper 
)
Here is the call graph for this function:

◆ SignalGeneratorTypeFromString()

fastcat::SignalGeneratorType fastcat::SignalGeneratorTypeFromString ( const std::string &  signal_generator_type)
Here is the caller graph for this function:

◆ UpdateSignal()

bool fastcat::UpdateSignal ( Signal &  signal)
Here is the caller graph for this function: