57#include <sys/resource.h>
79#define NUM_OF_SLAVES 1
93#define MEASURE_TIMING 1
95#define VELOCITY_MODE 1
97#define POSITION_MODE 0
99#define CYCLIC_POSITION_MODE 0
101#define CYCLIC_VELOCITY_MODE 0
103#define CYCLIC_TORQUE_MODE 0
105#define DISTRIBUTED_CLOCK 1
109#define GEAR_RATIO 103
111#define ENCODER_RESOLUTION 1024
115#define INC_PER_ROTATION GEAR_RATIO*ENCODER_RESOLUTION*4
116#define FIVE_DEGREE_CCW int(INC_PER_ROTATION/72)
117#define THIRTY_DEGREE_CCW int(INC_PER_ROTATION/12)
121#define PERIOD_NS (g_kNsPerSec/FREQUENCY)
122#define PERIOD_US (PERIOD_NS / 1000)
123#define PERIOD_MS (PERIOD_US / 1000)
125 #define FINAL_SLAVE (NUM_OF_SLAVES-1)
129static volatile sig_atomic_t
sig = 1;
141#define TEST_BIT(NUM,N) ((NUM & (1 << N))>>N)
142#define SET_BIT(NUM,N) (NUM | (1 << N))
143#define RESET_BIT(NUM,N) (NUM & ~(1 << N))
145#define TIMESPEC2NS(T) ((uint64_t) (T).tv_sec * g_kNsPerSec + (T).tv_nsec)
146#define DIFF_NS(A, B) (((B).tv_sec - (A).tv_sec) * g_kNsPerSec + (B).tv_nsec - (A).tv_nsec)
148#define CLOCK_TO_USE CLOCK_MONOTONIC
157inline struct timespec
timespec_add(struct timespec time1, struct timespec time2)
159 struct timespec result;
161 if ((time1.tv_nsec + time2.tv_nsec) >=
g_kNsPerSec)
163 result.tv_sec = time1.tv_sec + time2.tv_sec + 1;
164 result.tv_nsec = time1.tv_nsec + time2.tv_nsec -
g_kNsPerSec;
168 result.tv_sec = time1.tv_sec + time2.tv_sec;
169 result.tv_nsec = time1.tv_nsec + time2.tv_nsec;
419 uint32_t Pgain = 20000;
420 uint32_t Igain = 500000;
421 uint32_t FFVelgain = 0;
422 uint32_t FFAccgain = 0;
565 return "Generic error";
567 return "Generic initialization error";
569 return "Generic initialization error 1";
571 return "Generic initialization error 2";
573 return "Generic initialization error 3";
575 return "Generic initialization error 4";
577 return "Generic initialization error 5";
579 return "Generic initialization error 6";
581 return "Generic initialization error 7";
583 return "Generic initialization error 8";
585 return "Firmware incompatibility error";
587 return "Over current error";
589 return "Power stage protection error";
591 return "Over voltage error";
593 return "Under voltage error";
595 return "Thermal overload error";
597 return "Thermal motor overload error";
599 return "Logic supply too low error";
601 return "Hardware defect error";
603 return "Hardware incompatibility error";
605 return "Hardware error";
607 return "Hardware error 1";
609 return "Hardware error 2";
611 return "Hardware error 3";
613 return "Sign of life error";
615 return "Extension 1 watchdog error";
617 return "Internal software error";
619 return "Software parameter error";
621 return "Persistent parameter corrupt error";
623 return "Position sensor error";
625 return "Position sensor breach error";
627 return "Position sensor resolution error";
629 return "Position sensor index error";
631 return "Hall sensor error";
633 return "Hall sensor not found error";
635 return "Hall angle detection error";
637 return "SSI sensor error";
639 return "SSI sensor frame error";
641 return "Missing main sensor error";
643 return "Missing commutation sensor error";
645 return "Main sensor direction error";
647 return "Ethercat communication error";
649 return "Ethercat initialization error";
651 return "Ethercat RX queue overflow error";
653 return "Ethercat communication error internal";
655 return "Ethercat communication cycle time error";
657 return "Ethercat PDO communication error";
659 return "Ethercat SDO communication error";
661 return "Following error";
663 return "Negative limit switch error";
665 return "Positive limit switch error";
667 return "Software position limit error";
671 return "System overloaded error";
673 return "Watchdog error";
675 return "System peak overloaded error";
677 return "Controller gain error";
679 return "Auto tuning identification error";
681 return "Auto tuning current limit error";
683 return "Auto tuning identification current error";
685 return "Auto tuning data sampling error";
687 return "Auto tuning sample mismatch error";
689 return "Auto tuning parameter error";
691 return "Auto tuning amplitude mismatch error";
693 return "Auto tuning timeout error";
695 return "Auto tuning stand still error";
697 return "Auto tuning torque invalid error";
699 return "Auto tuning max system speed error";
701 return "Auto tuning motor connection error";
703 return "Auto tuning sensor signal error";
705 return "Unknown error";
const struct timespec g_cycle_time
timer for DC sync .
Definition: ecat_globals.hpp:137
uint32_t g_sync_ref_counter
cycletime settings in ns.
Definition: ecat_node.cpp:12
LifeCycleState
Class states.
Definition: ecat_globals.hpp:198
@ TRANSITIONING
Definition: ecat_globals.hpp:201
@ FAILURE
Definition: ecat_globals.hpp:199
@ SUCCESS
Definition: ecat_globals.hpp:200
ec_domain_state_t g_master_domain_state
Ethercat data passing master domain.
Definition: ecat_node.cpp:10
ec_master_t * g_master
Extern global variable declaration.
Definition: ecat_node.cpp:7
SensorConfig
Definition: ecat_globals.hpp:298
@ kSensor2TypeDigitalIncrementalEncoder2
Definition: ecat_globals.hpp:302
@ kSensor3TypeNone
Definition: ecat_globals.hpp:305
@ kSensor3TypeDigitalHallSensor
Definition: ecat_globals.hpp:306
@ kSensor2TypeAnalogIncrementalEncoderSinCos
Definition: ecat_globals.hpp:303
@ kSensor2TypeNone
Definition: ecat_globals.hpp:301
@ kSensor1TypeNone
Definition: ecat_globals.hpp:299
@ kSensor2TypeSSIAbsoluteEncoder
Definition: ecat_globals.hpp:304
@ kSensor1TypeDigitalIncrementalEncoder1
Definition: ecat_globals.hpp:300
OpMode
Motor operation modes based on CiA402.
Definition: ecat_globals.hpp:216
@ kCSPosition
Definition: ecat_globals.hpp:222
@ kCSTorque
Definition: ecat_globals.hpp:224
@ kProfileTorque
Definition: ecat_globals.hpp:219
@ kProfileVelocity
Definition: ecat_globals.hpp:218
@ kInterpolatedPosition
Definition: ecat_globals.hpp:221
@ kHoming
Definition: ecat_globals.hpp:220
@ kCSVelocity
Definition: ecat_globals.hpp:223
@ kProfilePosition
Definition: ecat_globals.hpp:217
ec_domain_t * g_master_domain
EtherCAT master state.
Definition: ecat_node.cpp:9
MotorStates
CIA 402 state machine motor states.
Definition: ecat_globals.hpp:270
@ kWarning
Definition: ecat_globals.hpp:278
@ kFault
Definition: ecat_globals.hpp:274
@ kSwitchedOn
Definition: ecat_globals.hpp:272
@ kTargetReached
Definition: ecat_globals.hpp:280
@ kSwitchOnDisabled
Definition: ecat_globals.hpp:277
@ kOperationEnabled
Definition: ecat_globals.hpp:273
@ kVoltageEnabled
Definition: ecat_globals.hpp:275
@ kQuickStop
Definition: ecat_globals.hpp:276
@ kReadyToSwitchOn
Definition: ecat_globals.hpp:271
@ kRemote
Definition: ecat_globals.hpp:279
@ kInternalLimitActivate
Definition: ecat_globals.hpp:281
static volatile sig_atomic_t sig
Definition: ecat_globals.hpp:129
static std::string GetErrorMessage(const int &err_code)
Definition: ecat_globals.hpp:558
ec_master_state_t g_master_state
EtherCAT master.
Definition: ecat_node.cpp:8
const uint32_t g_kNumberOfServoDrivers
Definition: ecat_globals.hpp:83
ErrorRegisterBits
CiA402 Error register bits for error index.
Definition: ecat_globals.hpp:286
@ kTemperatureError
Definition: ecat_globals.hpp:290
@ kVoltageError
Definition: ecat_globals.hpp:289
@ kMotionError
Definition: ecat_globals.hpp:294
@ kDeviceProfileSpecificError
Definition: ecat_globals.hpp:292
@ kCurrentError
Definition: ecat_globals.hpp:288
@ kReserved
Definition: ecat_globals.hpp:293
@ kGenericError
Definition: ecat_globals.hpp:287
@ kCommunicationError
Definition: ecat_globals.hpp:291
const uint32_t g_kNsPerSec
Nanoseconds per second.
Definition: ecat_globals.hpp:120
ErrorType
Definition: ecat_globals.hpp:484
@ POSITION_SENSOR_RESOLUTION_ERROR
Definition: ecat_globals.hpp:517
@ GENERIC_INIT_ERROR_7
Definition: ecat_globals.hpp:494
@ SIGN_OF_LIFE_ERROR
Definition: ecat_globals.hpp:510
@ AUTO_TUNING_STAND_STILL_ERROR
Definition: ecat_globals.hpp:551
@ ETHERCAT_INITIALIZATION_ERROR
Definition: ecat_globals.hpp:528
@ THERMAL_OVERLOAD_ERROR
Definition: ecat_globals.hpp:501
@ AUTO_TUNING_TORQUE_INVALID_ERROR
Definition: ecat_globals.hpp:552
@ HARDWARE_ERROR
Definition: ecat_globals.hpp:506
@ POSITION_SENSOR_INDEX_ERROR
Definition: ecat_globals.hpp:518
@ PERSISTENT_PARAMETER_CORRUPT_ERROR
Definition: ecat_globals.hpp:514
@ STO_ERROR
Definition: ecat_globals.hpp:538
@ GENERIC_INIT_ERROR_6
Definition: ecat_globals.hpp:493
@ AUTO_TUNING_CURRENT_LIMIT_ERROR
Definition: ecat_globals.hpp:544
@ ETHERCAT_SDO_COMMUNICATION_ERROR
Definition: ecat_globals.hpp:533
@ ETHERCAT_COMMUNCATION_ERROR
Definition: ecat_globals.hpp:527
@ HARDWARE_ERROR_2
Definition: ecat_globals.hpp:508
@ POSITION_SENSOR_ERROR
Definition: ecat_globals.hpp:515
@ GENERIC_INIT_ERROR_4
Definition: ecat_globals.hpp:491
@ UNDER_VOLTAGE_ERROR
Definition: ecat_globals.hpp:500
@ ETHERCAT_RX_QUEUE_OVERFLOW_ERROR
Definition: ecat_globals.hpp:529
@ GENERIC_INIT_ERROR_5
Definition: ecat_globals.hpp:492
@ THERMAL_MOTOR_OVERLOAD_ERRROR
Definition: ecat_globals.hpp:502
@ ETHERCAT_COMMUNICATION_ERROR_INTERNAL
Definition: ecat_globals.hpp:530
@ OVER_VOLTAGE_ERROR
Definition: ecat_globals.hpp:499
@ HARDWARE_INCOMPATIBLITY_ERROR
Definition: ecat_globals.hpp:505
@ HARDWARE_ERROR_3
Definition: ecat_globals.hpp:509
@ MISSING_COMMUTATION_SENSOR_ERROR
Definition: ecat_globals.hpp:525
@ POWER_STAGE_PROTECTION_ERROR
Definition: ecat_globals.hpp:498
@ GENERIC_INIT_ERROR_8
Definition: ecat_globals.hpp:495
@ SOFTWARE_PARAMETER_ERROR
Definition: ecat_globals.hpp:513
@ HALL_ANGLE_DETECTION_ERROR
Definition: ecat_globals.hpp:521
@ FIRMWARE_INCOMPATIBLITY_ERROR
Definition: ecat_globals.hpp:496
@ AUTO_TUNING_INDENTIFICATION_ERROR
Definition: ecat_globals.hpp:543
@ ETHERCAT_PDO_COMMUNICATION_ERROR
Definition: ecat_globals.hpp:532
@ MAIN_SENSOR_DIRECTION_ERROR
Definition: ecat_globals.hpp:526
@ EXTENSION_1_WATCHDOG_ERROR
Definition: ecat_globals.hpp:511
@ AUTO_TUNING_TIMEOUT_ERROR
Definition: ecat_globals.hpp:550
@ INTERNAL_SOFTWARE_ERROR
Definition: ecat_globals.hpp:512
@ OVER_CURRENT_ERROR
Definition: ecat_globals.hpp:497
@ SYSTEM_OVERLOADED_ERROR
Definition: ecat_globals.hpp:539
@ GENERIC_INIT_ERROR_3
Definition: ecat_globals.hpp:490
@ GENERIC_ERROR
Definition: ecat_globals.hpp:486
@ AUTO_TUNING_IDENTIFICATION_CURRENT_ERROR
Definition: ecat_globals.hpp:545
@ AUTO_TUNING_MAX_SYSTEM_SPEED_ERROR
Definition: ecat_globals.hpp:553
@ NEGATIVE_LIMIT_SWITCH_ERROR
Definition: ecat_globals.hpp:535
@ CONTROLLER_GAIN_ERROR
Definition: ecat_globals.hpp:542
@ WATCHDOG_ERROR
Definition: ecat_globals.hpp:540
@ GENERIC_INIT_ERROR_1
Definition: ecat_globals.hpp:488
@ HARDWARE_DEFECT_ERROR
Definition: ecat_globals.hpp:504
@ AUTO_TUNING_SAMPLE_MISMATCH_ERROR
Definition: ecat_globals.hpp:547
@ HALL_SENSOR_ERROR
Definition: ecat_globals.hpp:519
@ ETHERCAT_COMMUNICATION_CYCLE_TIME_ERROR
Definition: ecat_globals.hpp:531
@ MISSING_MAIN_SENSOR_ERROR
Definition: ecat_globals.hpp:524
@ GENERIC_INIT_ERROR_2
Definition: ecat_globals.hpp:489
@ POSITION_SENSOR_BREACH_ERROR
Definition: ecat_globals.hpp:516
@ SSI_SENSOR_FRAME_ERROR
Definition: ecat_globals.hpp:523
@ NO_ERROR
Definition: ecat_globals.hpp:485
@ GENERIC_INIT_ERROR
Definition: ecat_globals.hpp:487
@ SSI_SENSOR_ERROR
Definition: ecat_globals.hpp:522
@ AUTO_TUNING_DATA_SAMPLING_ERROR
Definition: ecat_globals.hpp:546
@ SYSTEM_PEAK_OVERLOADED_ERROR
Definition: ecat_globals.hpp:541
@ AUTO_TUNING_SENSOR_SIGNAL_ERROR
Definition: ecat_globals.hpp:555
@ AUTO_TUNING_MOTOR_CONNECTION_ERROR
Definition: ecat_globals.hpp:554
@ FOLLOWING_ERROR
Definition: ecat_globals.hpp:534
@ AUTO_TUNING_PARAMETER_ERROR
Definition: ecat_globals.hpp:548
@ HARDWARE_ERROR_1
Definition: ecat_globals.hpp:507
@ HALL_SENSOR_NOT_FOUND_ERROR
Definition: ecat_globals.hpp:520
@ LOGIC_SUPPLY_TOO_LOW_ERROR
Definition: ecat_globals.hpp:503
@ SOFTWARE_POSITION_LIMIT_ERROR
Definition: ecat_globals.hpp:537
@ POSITIVE_LIMIT_SWITCH_ERROR
Definition: ecat_globals.hpp:536
@ AUTO_TUNING_AMPLITUDE_MISMATCH_ERROR
Definition: ecat_globals.hpp:549
#define PERIOD_NS
Definition: ecat_globals.hpp:121
struct timespec g_sync_timer
EtherCAT master domain state.
Definition: ecat_node.cpp:11
ControlStructureBits
Control structure configuration for control mechanism to select sensor structure specific to hardware...
Definition: ecat_globals.hpp:311
@ kMountingPositionSensor1
Definition: ecat_globals.hpp:320
@ kCurrentControlStructure
These are bit locations not values for values.
Definition: ecat_globals.hpp:313
@ kMountingPositionSensor2
Definition: ecat_globals.hpp:321
@ kVelocityControlStructure
Definition: ecat_globals.hpp:314
@ kGearLocation
Definition: ecat_globals.hpp:316
@ kProcessValueReference
Definition: ecat_globals.hpp:317
@ kAuxiliarySensor
Definition: ecat_globals.hpp:319
@ kMountingPositionSensor3
Definition: ecat_globals.hpp:322
@ kPositionControlStructure
Definition: ecat_globals.hpp:315
@ kMainSensor
Definition: ecat_globals.hpp:318
struct timespec timespec_add(struct timespec time1, struct timespec time2)
Add two timespec struct.
Definition: ecat_globals.hpp:157
Struct contains configuration parameters for cyclic sync. position mode.
Definition: ecat_globals.hpp:396
uint32_t profile_acc
Definition: ecat_globals.hpp:405
uint32_t quick_stop_dec
Definition: ecat_globals.hpp:409
uint32_t max_gear_input_speed
Definition: ecat_globals.hpp:403
uint32_t nominal_current
Definition: ecat_globals.hpp:397
uint32_t position_control_parameter_set
Definition: ecat_globals.hpp:400
uint32_t profile_dec
Definition: ecat_globals.hpp:406
uint32_t current_controller_gain
Definition: ecat_globals.hpp:399
uint32_t interpolation_time_period
Definition: ecat_globals.hpp:410
uint32_t profile_vel
Definition: ecat_globals.hpp:404
uint32_t max_fol_err
Definition: ecat_globals.hpp:407
uint32_t max_profile_vel
Definition: ecat_globals.hpp:408
uint32_t software_position_limit
Definition: ecat_globals.hpp:401
uint16_t torque_constant
Definition: ecat_globals.hpp:398
uint16_t motor_rated_torque
Definition: ecat_globals.hpp:402
Struct contains configuration parameters for cyclic sync. torque mode.
Definition: ecat_globals.hpp:443
uint32_t max_profile_vel
Definition: ecat_globals.hpp:452
uint32_t interpolation_time_period
Definition: ecat_globals.hpp:454
uint32_t profile_vel
Definition: ecat_globals.hpp:449
uint32_t profile_dec
Definition: ecat_globals.hpp:451
uint16_t torque_constant
Definition: ecat_globals.hpp:445
uint32_t nominal_current
Definition: ecat_globals.hpp:444
uint32_t quick_stop_dec
Definition: ecat_globals.hpp:453
uint32_t profile_acc
Definition: ecat_globals.hpp:450
uint32_t software_position_limit
Definition: ecat_globals.hpp:446
uint16_t motor_rated_torque
Definition: ecat_globals.hpp:447
uint32_t max_gear_input_speed
Definition: ecat_globals.hpp:448
Struct contains configuration parameters for cyclic sync. velocity mode.
Definition: ecat_globals.hpp:430
uint32_t quick_stop_dec
Definition: ecat_globals.hpp:432
uint32_t software_position_limit
Definition: ecat_globals.hpp:434
uint32_t interpolation_time_period
Definition: ecat_globals.hpp:435
VelControlParam velocity_controller_gain
Definition: ecat_globals.hpp:431
uint32_t profile_dec
Definition: ecat_globals.hpp:433
Xbox Controller values.
Definition: ecat_globals.hpp:177
uint8_t left_rb_button_
Definition: ecat_globals.hpp:190
uint8_t right_rb_button_
Definition: ecat_globals.hpp:191
uint8_t blue_button_
Definition: ecat_globals.hpp:182
uint8_t xbox_button_
Definition: ecat_globals.hpp:194
float left_y_axis_
Definition: ecat_globals.hpp:179
uint8_t left_u_button_
Definition: ecat_globals.hpp:188
float right_x_axis_
Definition: ecat_globals.hpp:180
uint8_t left_d_button_
Definition: ecat_globals.hpp:189
float right_y_axis_
Definition: ecat_globals.hpp:181
uint8_t right_start_button_
Definition: ecat_globals.hpp:193
uint8_t left_l_button_
Definition: ecat_globals.hpp:187
uint8_t left_start_button_
Definition: ecat_globals.hpp:192
uint8_t yellow_button_
Definition: ecat_globals.hpp:185
uint8_t red_button_
Definition: ecat_globals.hpp:184
uint8_t green_button_
Definition: ecat_globals.hpp:183
float left_x_axis_
Definition: ecat_globals.hpp:178
uint8_t left_r_button_
Definition: ecat_globals.hpp:186
Structure for data to be received from slaves.
Definition: ecat_globals.hpp:229
std::vector< uint16_t > control_word
Definition: ecat_globals.hpp:235
std::vector< int16_t > tor_offset
Definition: ecat_globals.hpp:238
std::vector< int8_t > op_mode_display
Definition: ecat_globals.hpp:246
DataReceived()
Definition: ecat_globals.hpp:251
std::vector< int16_t > actual_cur
Definition: ecat_globals.hpp:242
std::vector< int16_t > max_tor
Definition: ecat_globals.hpp:234
std::vector< int32_t > target_pos
Definition: ecat_globals.hpp:231
std::vector< int16_t > actual_tor
Definition: ecat_globals.hpp:243
std::vector< int32_t > actual_pos
Definition: ecat_globals.hpp:240
std::vector< uint16_t > error_code
Definition: ecat_globals.hpp:245
uint8_t left_limit_switch_val
Definition: ecat_globals.hpp:247
uint8_t right_limit_switch_val
Definition: ecat_globals.hpp:248
std::vector< OpMode > op_mode
Definition: ecat_globals.hpp:236
std::vector< int32_t > vel_offset
Definition: ecat_globals.hpp:237
uint16_t pressure_sensor
Definition: ecat_globals.hpp:250
std::vector< int32_t > actual_vel
Definition: ecat_globals.hpp:241
uint8_t emergency_switch_val
Definition: ecat_globals.hpp:249
std::vector< uint16_t > status_word
Definition: ecat_globals.hpp:244
std::vector< int16_t > target_tor
Definition: ecat_globals.hpp:233
std::vector< int32_t > target_vel
Definition: ecat_globals.hpp:232
uint16_t com_status
Definition: ecat_globals.hpp:230
Structure for data to be sent to slaves.
Definition: ecat_globals.hpp:256
std::vector< int16_t > tor_offset
Definition: ecat_globals.hpp:264
std::vector< uint16_t > control_word
Definition: ecat_globals.hpp:261
OpMode op_mode
Definition: ecat_globals.hpp:262
std::vector< int16_t > max_tor
Definition: ecat_globals.hpp:260
std::vector< int32_t > vel_offset
Definition: ecat_globals.hpp:263
std::vector< int16_t > target_tor
Definition: ecat_globals.hpp:259
std::vector< int32_t > target_pos
Definition: ecat_globals.hpp:257
std::vector< int32_t > target_vel
Definition: ecat_globals.hpp:258
DataSent()
Definition: ecat_globals.hpp:265
Homing mode configuration parameters.
Definition: ecat_globals.hpp:459
uint32_t speed_for_switch_search
Definition: ecat_globals.hpp:463
uint32_t max_profile_vel
Definition: ecat_globals.hpp:461
int32_t home_offset
Amount to move away from the sensed limit
Definition: ecat_globals.hpp:469
int8_t homing_method
Definition: ecat_globals.hpp:470
uint32_t quick_stop_dec
Definition: ecat_globals.hpp:462
uint32_t homing_acc
Definition: ecat_globals.hpp:465
uint16_t curr_threshold_homing
Used when homing by touching mechanical limit and sensing current.
Definition: ecat_globals.hpp:467
uint32_t max_fol_err
Definition: ecat_globals.hpp:460
uint32_t speed_for_zero_search
Definition: ecat_globals.hpp:464
offset for PDO entries to register PDOs.
Definition: ecat_globals.hpp:327
uint32_t profile_vel
Definition: ecat_globals.hpp:338
uint32_t target_pos
Definition: ecat_globals.hpp:328
uint32_t actual_tor
Definition: ecat_globals.hpp:344
uint32_t profile_dec
Definition: ecat_globals.hpp:336
uint32_t target_vel
Definition: ecat_globals.hpp:329
uint32_t profile_acc
Definition: ecat_globals.hpp:335
uint32_t emergency_switch
Definition: ecat_globals.hpp:352
uint32_t op_mode_display
Definition: ecat_globals.hpp:346
uint32_t error_code
Definition: ecat_globals.hpp:347
uint32_t op_mode
Definition: ecat_globals.hpp:334
uint32_t r_limit_switch
Definition: ecat_globals.hpp:350
uint32_t quick_stop_dec
Definition: ecat_globals.hpp:337
uint32_t control_word
Definition: ecat_globals.hpp:333
uint32_t actual_cur
Definition: ecat_globals.hpp:343
uint32_t pos_fol_err
Definition: ecat_globals.hpp:341
uint32_t actual_pos
Definition: ecat_globals.hpp:340
uint32_t l_limit_switch
Definition: ecat_globals.hpp:351
uint32_t status_word
Definition: ecat_globals.hpp:345
uint32_t pressure_sensor
Definition: ecat_globals.hpp:353
uint32_t extra_status_reg
Definition: ecat_globals.hpp:348
uint32_t actual_vel
Definition: ecat_globals.hpp:342
uint32_t target_tor
Definition: ecat_globals.hpp:330
uint32_t max_tor
Definition: ecat_globals.hpp:332
uint32_t torque_offset
Definition: ecat_globals.hpp:331
Parameters that should be specified in position mode.
Definition: ecat_globals.hpp:378
uint32_t profile_dec
Definition: ecat_globals.hpp:381
uint32_t max_fol_err
Definition: ecat_globals.hpp:382
uint32_t max_profile_vel
Definition: ecat_globals.hpp:383
uint32_t quick_stop_dec
Definition: ecat_globals.hpp:384
uint16_t motion_profile_type
Definition: ecat_globals.hpp:385
uint32_t profile_acc
Definition: ecat_globals.hpp:380
uint32_t d_gain
Definition: ecat_globals.hpp:388
uint32_t i_gain
Definition: ecat_globals.hpp:387
uint32_t p_gain
Definition: ecat_globals.hpp:386
uint32_t profile_vel
Definition: ecat_globals.hpp:379
Profile velocity mode configuration parameters.
Definition: ecat_globals.hpp:475
uint32_t profile_dec
Definition: ecat_globals.hpp:479
uint16_t motion_profile_type
Definition: ecat_globals.hpp:480
uint32_t max_profile_vel
Definition: ecat_globals.hpp:476
uint32_t profile_acc
Definition: ecat_globals.hpp:478
uint32_t quick_stop_dec
Definition: ecat_globals.hpp:477
SDO_data Structure holding all data needed to send an SDO object.
Definition: ecat_globals.hpp:205
size_t data_sz
Definition: ecat_globals.hpp:210
uint8_t sub_index
Definition: ecat_globals.hpp:208
uint32_t err_code
Definition: ecat_globals.hpp:212
uint32_t data
Definition: ecat_globals.hpp:209
uint16_t index
Definition: ecat_globals.hpp:207
uint16_t slave_position
Definition: ecat_globals.hpp:206
size_t result_sz
Definition: ecat_globals.hpp:211
EtherCAT SDO request structure for configuration phase.
Definition: ecat_globals.hpp:359
ec_sdo_request * max_fol_err
Definition: ecat_globals.hpp:366
ec_sdo_request * homing_method
Definition: ecat_globals.hpp:372
ec_sdo_request * profile_acc
Definition: ecat_globals.hpp:360
ec_sdo_request * max_profile_vel
Definition: ecat_globals.hpp:365
ec_sdo_request * home_offset
Definition: ecat_globals.hpp:371
ec_sdo_request * profile_dec
Definition: ecat_globals.hpp:361
ec_sdo_request * profile_vel
Definition: ecat_globals.hpp:362
ec_sdo_request * speed_for_switch_search
Definition: ecat_globals.hpp:367
ec_sdo_request * curr_threshold_homing
Definition: ecat_globals.hpp:370
ec_sdo_request * homing_acc
Definition: ecat_globals.hpp:369
ec_sdo_request * quick_stop_dec
Definition: ecat_globals.hpp:363
ec_sdo_request * speed_for_zero_search
Definition: ecat_globals.hpp:368
ec_sdo_request * motion_profile_type
Definition: ecat_globals.hpp:364
Struct containing 'velocity control parameter set' 0x30A2 Has 4 sub index. Default values are from EP...
Definition: ecat_globals.hpp:418