Motion Master
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
Cia402Drive Class Reference

#include <cia402_drive.h>

Public Types

enum class  OpMode {
  kTuning = -128 , kOpenLoopFieldMode = -3 , kDiagnostics = -2 , kCoggingCompensationRecording = -1 ,
  kNo = 0 , kPp , kVel , kPv ,
  kPt , kRes , kHom , kIp ,
  kCsp , kCsv , kCst
}
 
enum class  Cia402State {
  kNotReady = 0 , kSwitchOnDisabled , kReadySwitchOn , kSwitchedOn ,
  kOpEnabled , kQuickStopActive , kFaultReactionActive , kFault
}
 
enum class  Cia402Command {
  kNone = 0 , kShutdown , kSwitchOn , kDisableVoltage ,
  kQuickStop , kDisableOperation , kEnableOperation , kFaultReset
}
 
enum class  EncoderFunction {
  kDisabled , kCommutationAndMotionControlFeedback , kCommutationAndMonitoring , kMotionControlFeedbackOnly ,
  kMonitoringOnly , kCommutationOnly , kPosition , kCommutationAndVelocity ,
  kVelocity , kCommutationAndPosition
}
 
enum class  EncoderType {
  kNone = 0 , kHallEncoder = 1 , kQeiEncoder = 2 , kBissEncoder = 4 ,
  kRem14Encoder = 5 , kRem16MtEncoder = 6 , kSsiEncoder = 7
}
 
enum class  BrakeStatus { kNotConfigured = 0 , kEngaged = 1 , kDisengaged = 2 }
 
enum class  BrakeReleaseStrategy { kManualOutputVoltage = 0 , kClutchStyleBrakeControl = 1 , kPinBrakeControl = 2 }
 

Public Member Functions

 Cia402Drive (VirtualDevice *virtual_device)
 
int32_t get_id () const
 Get the device ID. More...
 
uint16_t get_hardware_id () const
 Get the hardware ID. More...
 
MotionMasterError init_position_controller ()
 Initialize the position controller. More...
 
MotionMasterError init_velocity_controller ()
 Initialize the velocity controller. More...
 
MotionMasterError init_torque_controller ()
 Initialize the torque controller. More...
 
MotionMasterError init_slave_profile_position ()
 Initialize the position profile on the slave. More...
 
MotionMasterError init_slave_profile_velocity ()
 Initialize the velocity profile on the slave. More...
 
MotionMasterError init_slave_profile_torque ()
 Initialize the torque profile on the slave. More...
 
MotionMasterError deinit_current_controller ()
 Deinitialize a controller. More...
 
bool execute_profile_position_ramp ()
 Execute a position profile ramp on the slave. More...
 
void set_halt_bit (bool value)
 Set the halt bit (up or down) in the controlword. More...
 
void set_target_position (int32_t position)
 Set the target position. More...
 
void set_target_velocity (int32_t velocity)
 Set the target velocity. More...
 
void set_target_torque (int32_t torque)
 Set the target torque. More...
 
uint16_t get_statusword ()
 Get the raw statusword. More...
 
int32_t get_target_position ()
 Get the current target position. More...
 
int32_t get_target_velocity ()
 Get the current target velocity. More...
 
int32_t get_target_torque ()
 Get the current target torque. More...
 
Cia402State get_cia402_state ()
 Get the current CiA402 state. More...
 
OpMode get_op_mode ()
 Get the current OP mode. More...
 
int32_t get_current_position ()
 Get the current position. More...
 
int32_t get_current_velocity ()
 Get the current velocity. More...
 
int32_t get_current_torque ()
 Get the current torque. More...
 
uint32_t get_current_timestamp ()
 Get the current timestamp. More...
 
MotionMasterError set_parameter (uint16_t index, uint8_t subindex, int32_t value)
 Set parameter value (and reload the device if requested) More...
 
MotionMasterError set_parameter (uint16_t index, uint8_t subindex, int32_t value, bool reload_configuration)
 Set parameter value (and reload the device if requested) More...
 
MotionMasterError set_parameter (uint16_t index, uint8_t subindex, float value)
 Set parameter value (and reload the device if requested) More...
 
MotionMasterError set_parameter (uint16_t index, uint8_t subindex, float value, bool reload_configuration)
 Set parameter value (and reload the device if requested) More...
 
MotionMasterError set_parameter (uint16_t index, uint8_t subindex, double value)
 Set parameter value (and reload the device if requested) More...
 
MotionMasterError set_parameter (uint16_t index, uint8_t subindex, double value, bool reload_configuration)
 Set parameter value (and reload the device if requested) More...
 
MotionMasterError set_parameter (uint16_t index, uint8_t subindex, const std::string &value)
 Set parameter value. More...
 
VirtualParameterget_parameter (uint16_t index, uint8_t subindex)
 Get a parameter by index/subindex. More...
 
MotionMasterError reload_drive (bool ignore_fault_reset_timeout=false)
 Make the CiA402 drive reload (soft restart) More...
 
std::variant< MotionMasterError, std::list< std::string > > get_file_list () const
 Get the list of available files on the flash memory. More...
 
std::variant< MotionMasterError, std::string > read_file (const std::string &file_name) const
 Get the file content from a file from the flash memory. More...
 
MotionMasterError write_file (const std::string &name, const std::string &content)
 Write the file to the flash memory. More...
 
MotionMasterError remove_file (const std::string &file_name)
 Remove a file from the flash memory. More...
 
std::string get_log ()
 Get the slave log from the flash memory. More...
 
std::map< uint16_t, EncoderFunctionget_all_encoder_functions ()
 Get all encoder functions. More...
 
bool set_encoder_function (uint16_t index, EncoderFunction encoder_function)
 (Re)set an encoder function based on the get_all_encoder_functions output More...
 
EncoderType get_commutation_encoder_type ()
 Get the type of the encoder set as the commutation encoder. More...
 
uint32_t get_commutation_encoder_resolution ()
 Find the resolution of the encoder used for commutation feedback. More...
 
uint32_t get_position_control_encoder_resolution ()
 Find the resolution of the encoder used for motion feedback (function 1 or 3) More...
 
bool is_gearbox_potentially_present ()
 Determine if a gearbox is potentially present depending on the encoder configuration. More...
 
double get_gear_ratio ()
 Get the configured gear ratio. More...
 
double get_feed_constant ()
 Get and calculate the feed constant if set. More...
 
bool is_brake_engaged ()
 Check if the brake is currently engaged. More...
 
MotionMasterError engage_brake (bool value)
 Apply or release the brake. More...
 
void reset_torque_target_and_offset ()
 
void quick_stop ()
 Request a quick stop on a device. More...
 
MotionMasterError quick_stop_blocking ()
 Request an asynchronous quick stop on a device. More...
 
int32_t save_current_configuration_to_flash ()
 Save the current device configuration to the flash memory. More...
 
int32_t load_configuration_from_flash ()
 Load the configuration from the flash memory. More...
 
bool is_running ()
 Check if the device is currently running. More...
 
bool get_fault_state ()
 Get the current fault state. More...
 
MotionMasterError reset_fault (bool ignore_timeout_error=false)
 Reset the current fault. More...
 
bool get_warning_status ()
 Get the current warning status. More...
 
bool get_internal_limit_reached ()
 Check if the internal limit reached statusword bit is active. More...
 
bool is_operational ()
 Check if the device is operational. More...
 
MotionMasterError state_machine_control (OpMode target_op_mode, Cia402State target_state)
 Change the device OP mode and CiA402 state. More...
 
MotionMasterError state_machine_control (Cia402State target_state)
 Change the device CiA402 state. More...
 
std::vector< int16_t > get_cogging_torque_compensation_data ()
 Get the cogging torque compensation values. More...
 
MotionMasterError read_encoder_register (uint8_t encoder_ordinal, uint8_t address, uint8_t &value)
 Read a value from an encoder register. More...
 
MotionMasterError write_encoder_register (uint8_t encoder_ordinal, uint8_t address, uint8_t value)
 Write a value into an encoder register. More...
 
std::tuple< uint8_t, uint8_t, uint8_t > get_controller_encoder_sources ()
 Get the encoder used for each of the controllers. More...
 

Static Public Attributes

static std::map< uint8_t, uint16_t > fw_v5_encoder_configuration_map_
 
static std::map< uint8_t, uint16_t > fw_v5_encoder_feedback_map_
 
static std::map< std::tuple< bool, bool, bool >, EncoderFunctioncontroller_to_encoder_function_map_
 

Member Enumeration Documentation

◆ BrakeReleaseStrategy

Enumerator
kManualOutputVoltage 
kClutchStyleBrakeControl 
kPinBrakeControl 

◆ BrakeStatus

enum class Cia402Drive::BrakeStatus
strong
Enumerator
kNotConfigured 
kEngaged 
kDisengaged 

◆ Cia402Command

enum class Cia402Drive::Cia402Command
strong
Enumerator
kNone 
kShutdown 
kSwitchOn 
kDisableVoltage 
kQuickStop 
kDisableOperation 
kEnableOperation 
kFaultReset 

◆ Cia402State

enum class Cia402Drive::Cia402State
strong
Enumerator
kNotReady 
kSwitchOnDisabled 
kReadySwitchOn 
kSwitchedOn 
kOpEnabled 
kQuickStopActive 
kFaultReactionActive 
kFault 

◆ EncoderFunction

enum class Cia402Drive::EncoderFunction
strong
Enumerator
kDisabled 
kCommutationAndMotionControlFeedback 
kCommutationAndMonitoring 
kMotionControlFeedbackOnly 
kMonitoringOnly 
kCommutationOnly 
kPosition 
kCommutationAndVelocity 
kVelocity 
kCommutationAndPosition 

◆ EncoderType

enum class Cia402Drive::EncoderType
strong
Enumerator
kNone 
kHallEncoder 
kQeiEncoder 
kBissEncoder 
kRem14Encoder 
kRem16MtEncoder 
kSsiEncoder 

◆ OpMode

enum class Cia402Drive::OpMode
strong
Enumerator
kTuning 
kOpenLoopFieldMode 
kDiagnostics 
kCoggingCompensationRecording 
kNo 
kPp 
kVel 
kPv 
kPt 
kRes 
kHom 
kIp 
kCsp 
kCsv 
kCst 

Constructor & Destructor Documentation

◆ Cia402Drive()

Cia402Drive::Cia402Drive ( VirtualDevice virtual_device)
explicit

Member Function Documentation

◆ deinit_current_controller()

MotionMasterError Cia402Drive::deinit_current_controller ( )

Deinitialize a controller.

Returns
error if any

◆ engage_brake()

MotionMasterError Cia402Drive::engage_brake ( bool  value)

Apply or release the brake.

Parameters
valuetrue to apply, false to release
Returns
an error if any

◆ execute_profile_position_ramp()

bool Cia402Drive::execute_profile_position_ramp ( )

Execute a position profile ramp on the slave.

Returns
true if successful, false otherwise

◆ get_all_encoder_functions()

std::map< uint16_t, Cia402Drive::EncoderFunction > Cia402Drive::get_all_encoder_functions ( )

Get all encoder functions.

IMPORTANT NOTE: For firmwares < v5, the map contains the parameter indexes of the encoder configurations in the object dictionary, but for firmwares >= v5 (including the calibration firmwares > v0.3.7), the map contains the indexes of the encoders (1 or 2)

Returns
map of all encoders with their functions

◆ get_cia402_state()

Cia402Drive::Cia402State Cia402Drive::get_cia402_state ( )

Get the current CiA402 state.

Returns
CiA402 state

◆ get_cogging_torque_compensation_data()

std::vector< int16_t > Cia402Drive::get_cogging_torque_compensation_data ( )

Get the cogging torque compensation values.

Get the contents of the cogging_torque.bin file from the flash memory as a vector of signed 16-bit integers

Returns
vector of cogging torque compensation values
Exceptions
MotionMasterError

◆ get_commutation_encoder_resolution()

uint32_t Cia402Drive::get_commutation_encoder_resolution ( )

Find the resolution of the encoder used for commutation feedback.

Returns
encoder resolution if success, 0 if error or no motion encoder available

◆ get_commutation_encoder_type()

Cia402Drive::EncoderType Cia402Drive::get_commutation_encoder_type ( )

Get the type of the encoder set as the commutation encoder.

Returns
encoder type
Exceptions
MotionMasterError(Error::kEncoderNoCommutationEncoder)

◆ get_controller_encoder_sources()

std::tuple< uint8_t, uint8_t, uint8_t > Cia402Drive::get_controller_encoder_sources ( )

Get the encoder used for each of the controllers.

Controllers: position, velocity, torque (in that order)

Returns
the encoders used for each of the controllers

◆ get_current_position()

int32_t Cia402Drive::get_current_position ( )

Get the current position.

Returns
position

◆ get_current_timestamp()

uint32_t Cia402Drive::get_current_timestamp ( )

Get the current timestamp.

Returns
timestamp

◆ get_current_torque()

int32_t Cia402Drive::get_current_torque ( )

Get the current torque.

Returns
torque

◆ get_current_velocity()

int32_t Cia402Drive::get_current_velocity ( )

Get the current velocity.

Returns
velocity

◆ get_fault_state()

bool Cia402Drive::get_fault_state ( )

Get the current fault state.

Returns
true if the device is in fault state, false otherwise

◆ get_feed_constant()

double Cia402Drive::get_feed_constant ( )

Get and calculate the feed constant if set.

Returns
feed constant

◆ get_file_list()

std::variant< MotionMasterError, std::list< std::string > > Cia402Drive::get_file_list ( ) const

Get the list of available files on the flash memory.

Returns
a MotionMasterError or a list of file names

◆ get_gear_ratio()

double Cia402Drive::get_gear_ratio ( )

Get the configured gear ratio.

IMPORTANT: Only gets the configured gear ratio, but doesn't guarantee its correctness.

Returns
zero if it cannot be found, positive value otherwise

◆ get_hardware_id()

uint16_t Cia402Drive::get_hardware_id ( ) const

Get the hardware ID.

Returns
the hardware ID

◆ get_id()

int32_t Cia402Drive::get_id ( ) const

Get the device ID.

Returns
the device ID

◆ get_internal_limit_reached()

bool Cia402Drive::get_internal_limit_reached ( )

Check if the internal limit reached statusword bit is active.

Returns
true if the internal limit reached statusword bit is active, false otherwise

◆ get_log()

std::string Cia402Drive::get_log ( )

Get the slave log from the flash memory.

Returns
slave log as string

◆ get_op_mode()

Cia402Drive::OpMode Cia402Drive::get_op_mode ( )

Get the current OP mode.

Returns
OP mode

◆ get_parameter()

VirtualParameter * Cia402Drive::get_parameter ( uint16_t  index,
uint8_t  subindex 
)

Get a parameter by index/subindex.

Parameters
index
subindex
Returns
a pointer to the parameter if available, of nullptr if not

◆ get_position_control_encoder_resolution()

uint32_t Cia402Drive::get_position_control_encoder_resolution ( )

Find the resolution of the encoder used for motion feedback (function 1 or 3)

Returns
encoder resolution if success, 0 if error or no motion encoder available

◆ get_statusword()

uint16_t Cia402Drive::get_statusword ( )

Get the raw statusword.

Returns
statusword

◆ get_target_position()

int32_t Cia402Drive::get_target_position ( )

Get the current target position.

Returns
the current target position

◆ get_target_torque()

int32_t Cia402Drive::get_target_torque ( )

Get the current target torque.

Returns
the current target torque

◆ get_target_velocity()

int32_t Cia402Drive::get_target_velocity ( )

Get the current target velocity.

Returns
the current target velocity

◆ get_warning_status()

bool Cia402Drive::get_warning_status ( )

Get the current warning status.

Returns
true if the device has an active warning, false otherwise

◆ init_position_controller()

MotionMasterError Cia402Drive::init_position_controller ( )

Initialize the position controller.

Returns
error if any

◆ init_slave_profile_position()

MotionMasterError Cia402Drive::init_slave_profile_position ( )

Initialize the position profile on the slave.

Returns
MotionMasterError

◆ init_slave_profile_torque()

MotionMasterError Cia402Drive::init_slave_profile_torque ( )

Initialize the torque profile on the slave.

Returns
MotionMasterError

◆ init_slave_profile_velocity()

MotionMasterError Cia402Drive::init_slave_profile_velocity ( )

Initialize the velocity profile on the slave.

Returns
MotionMasterError

◆ init_torque_controller()

MotionMasterError Cia402Drive::init_torque_controller ( )

Initialize the torque controller.

Returns
error if any

◆ init_velocity_controller()

MotionMasterError Cia402Drive::init_velocity_controller ( )

Initialize the velocity controller.

Returns
error if any

◆ is_brake_engaged()

bool Cia402Drive::is_brake_engaged ( )

Check if the brake is currently engaged.

Returns
true if the brake is engaged, false if not
Exceptions
MotionMasterError(Error::kBrakeGetFailed)

◆ is_gearbox_potentially_present()

bool Cia402Drive::is_gearbox_potentially_present ( )

Determine if a gearbox is potentially present depending on the encoder configuration.

IMPORTANT: If the encoder configuration is not correct, this function will not produce the correct result. Get gear ratio to get more precise information about the presence of a gearbox.

Returns
true if a gearbox is potentially present, false otherwise

◆ is_operational()

bool Cia402Drive::is_operational ( )

Check if the device is operational.

Checks if the device is in CiA402 operation enabled state

Returns
true if operational, false otherwise

◆ is_running()

bool Cia402Drive::is_running ( )

Check if the device is currently running.

Returns
true if running, false otherwise

◆ load_configuration_from_flash()

int32_t Cia402Drive::load_configuration_from_flash ( )

Load the configuration from the flash memory.

Returns
zero if successful, non-zero otherwise

◆ quick_stop()

void Cia402Drive::quick_stop ( )

Request a quick stop on a device.

◆ quick_stop_blocking()

MotionMasterError Cia402Drive::quick_stop_blocking ( )

Request an asynchronous quick stop on a device.

Returns
an error if any

◆ read_encoder_register()

MotionMasterError Cia402Drive::read_encoder_register ( uint8_t  encoder_ordinal,
uint8_t  address,
uint8_t &  value 
)

Read a value from an encoder register.

Parameters
encoder_ordinalordinal of the used encoder
addressregister address
valueoutput value
Returns
an error if any

◆ read_file()

std::variant< MotionMasterError, std::string > Cia402Drive::read_file ( const std::string &  file_name) const

Get the file content from a file from the flash memory.

Parameters
file_namename of the file in the flash memory
Returns
a MotionMasterError, or file content

◆ reload_drive()

MotionMasterError Cia402Drive::reload_drive ( bool  ignore_fault_reset_timeout = false)

Make the CiA402 drive reload (soft restart)

This function transitions the drive into the "switch on disabled" and then to the "ready to switch on" state, in order to do a (soft) reset of the drive. This function can be used in order to make the drive to actually use the set configuration. It can also be used to reset a fault straight away.

Parameters
ignore_fault_reset_timeout
Returns
error if any

◆ remove_file()

MotionMasterError Cia402Drive::remove_file ( const std::string &  file_name)

Remove a file from the flash memory.

Parameters
file_namename of the file in the flash memory
Returns
error

◆ reset_fault()

MotionMasterError Cia402Drive::reset_fault ( bool  ignore_timeout_error = false)

Reset the current fault.

Parameters
ignore_timeout_error
Returns
MotionMasterError

◆ reset_torque_target_and_offset()

void Cia402Drive::reset_torque_target_and_offset ( )

◆ save_current_configuration_to_flash()

int32_t Cia402Drive::save_current_configuration_to_flash ( )

Save the current device configuration to the flash memory.

Returns
zero if successful, non-zero otherwise

◆ set_encoder_function()

bool Cia402Drive::set_encoder_function ( uint16_t  index,
EncoderFunction  encoder_function 
)

(Re)set an encoder function based on the get_all_encoder_functions output

Parameters
indexindex of the encoder
encoder_functionencoder function to set
Returns
true if successful, false otherwise

◆ set_halt_bit()

void Cia402Drive::set_halt_bit ( bool  value)

Set the halt bit (up or down) in the controlword.

Parameters
valuetrue for up, false for down

◆ set_parameter() [1/7]

MotionMasterError Cia402Drive::set_parameter ( uint16_t  index,
uint8_t  subindex,
const std::string &  value 
)

Set parameter value.

Parameters
index
subindex
value
Returns
error if any

◆ set_parameter() [2/7]

MotionMasterError Cia402Drive::set_parameter ( uint16_t  index,
uint8_t  subindex,
double  value 
)

Set parameter value (and reload the device if requested)

Parameters
index
subindex
value
Returns
error if any

◆ set_parameter() [3/7]

MotionMasterError Cia402Drive::set_parameter ( uint16_t  index,
uint8_t  subindex,
double  value,
bool  reload_configuration 
)

Set parameter value (and reload the device if requested)

Parameters
index
subindex
value
reload_configuration
Returns
error if any

◆ set_parameter() [4/7]

MotionMasterError Cia402Drive::set_parameter ( uint16_t  index,
uint8_t  subindex,
float  value 
)

Set parameter value (and reload the device if requested)

Parameters
index
subindex
value
Returns
error if any

◆ set_parameter() [5/7]

MotionMasterError Cia402Drive::set_parameter ( uint16_t  index,
uint8_t  subindex,
float  value,
bool  reload_configuration 
)

Set parameter value (and reload the device if requested)

Parameters
index
subindex
value
reload_configuration
Returns
error if any

◆ set_parameter() [6/7]

MotionMasterError Cia402Drive::set_parameter ( uint16_t  index,
uint8_t  subindex,
int32_t  value 
)

Set parameter value (and reload the device if requested)

Parameters
index
subindex
value
Returns
error if any

◆ set_parameter() [7/7]

MotionMasterError Cia402Drive::set_parameter ( uint16_t  index,
uint8_t  subindex,
int32_t  value,
bool  reload_configuration 
)

Set parameter value (and reload the device if requested)

Parameters
index
subindex
value
reload_configuration
Returns
error if any

◆ set_target_position()

void Cia402Drive::set_target_position ( int32_t  position)

Set the target position.

Parameters
positiontarget position to set

◆ set_target_torque()

void Cia402Drive::set_target_torque ( int32_t  torque)

Set the target torque.

Parameters
torquetarget torque to set

◆ set_target_velocity()

void Cia402Drive::set_target_velocity ( int32_t  velocity)

Set the target velocity.

Parameters
velocitytarget velocity to set

◆ state_machine_control() [1/2]

MotionMasterError Cia402Drive::state_machine_control ( Cia402State  target_state)

Change the device CiA402 state.

Parameters
target_state
Returns
error if any
Attention
Initialize position/velocity/torque target

This is a safeguard so when we switch to OP enable the motor does not move before the user sets the real target. This should only happen if the quick stop procedure is not currently active, since a user can alter the target during the quick stop active and expect that target to be applied as soon as the drive goes back to OP enabled.

◆ state_machine_control() [2/2]

MotionMasterError Cia402Drive::state_machine_control ( OpMode  target_op_mode,
Cia402State  target_state 
)

Change the device OP mode and CiA402 state.

Parameters
target_op_mode
target_state
Returns
error if any
Attention
Keep the drive's "OP mode display" TxPDO and the Motion Master's "OP mode" RxPDO in sync.

Both the drive and Motion Master initially start with "OP mode display" and "OP mode" PDOs set to 0. But if Motion Master was restarted at any point and the drive wasn't, these two values can fall out of sync. In order to prevent Motion Master from sending out of sync "OP mode" values (with 0 value being the most important one, since it triggers the "invalid OP mode" warning on the drive), even if the target and current OP modes are the same, make sure to reapply the same value to the Motion Master internal OP mode RxPDO.

Attention
Initialize position/velocity/torque target

This is a safeguard so when we switch to OP enable the motor does not move before the user sets the real target. This should only happen if the quick stop procedure is not currently active, since a user can alter the target during the quick stop active and expect that target to be applied as soon as the drive goes back to OP enabled.

◆ write_encoder_register()

MotionMasterError Cia402Drive::write_encoder_register ( uint8_t  encoder_ordinal,
uint8_t  address,
uint8_t  value 
)

Write a value into an encoder register.

Parameters
encoder_ordinalordinal of the used encoder
addressregister address
valueoutput value
Returns
an error if any

◆ write_file()

MotionMasterError Cia402Drive::write_file ( const std::string &  name,
const std::string &  content 
)

Write the file to the flash memory.

Parameters
namethe name of the file to be written
contentthe content of the file to be written
Returns
error

Member Data Documentation

◆ controller_to_encoder_function_map_

std::map<std::tuple<bool, bool, bool>, EncoderFunction> Cia402Drive::controller_to_encoder_function_map_
inlinestatic
Initial value:
= {
{{false, false, false}, EncoderFunction::kDisabled},
{{false, false, true}, EncoderFunction::kCommutationOnly},
{{false, true, false}, EncoderFunction::kVelocity},
{{false, true, true}, EncoderFunction::kCommutationAndVelocity},
{{true, false, false}, EncoderFunction::kPosition},
{{true, false, true}, EncoderFunction::kCommutationAndPosition},
{{true, true, false}, EncoderFunction::kMotionControlFeedbackOnly},
{{true, true, true},
EncoderFunction::kCommutationAndMotionControlFeedback}}

◆ fw_v5_encoder_configuration_map_

std::map<uint8_t, uint16_t> Cia402Drive::fw_v5_encoder_configuration_map_
inlinestatic
Initial value:
= {
#define OD_INDEX_ENCODER_1_CONFIGURATION
Definition: dictionary_symbols.h:329
#define OD_INDEX_ENCODER_2_CONFIGURATION
Definition: dictionary_symbols.h:361

◆ fw_v5_encoder_feedback_map_

std::map<uint8_t, uint16_t> Cia402Drive::fw_v5_encoder_feedback_map_
inlinestatic
Initial value:
= {
#define OD_INDEX_ENCODER_1_FEEDBACK
Definition: dictionary_symbols.h:357
#define OD_INDEX_ENCODER_2_FEEDBACK
Definition: dictionary_symbols.h:389

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