|
HF-TMC51x0 Driver (TMC5130 & TMC5160) 0.1.0-dev
Hardware Agnostic C++ Driver for the TMC51x0 (TMC5130 & TMC5160)
|
TMC51x0 GPIO pin configuration structure. More...
#include <tmc51x0_comm_interface.hpp>
Public Member Functions | |
| TMC51x0PinConfig ()=default | |
| Default constructor - all pins unmapped (-1) | |
| TMC51x0PinConfig (int en, int dir=-1, int step=-1) noexcept | |
| Constructor with basic pins. | |
Public Attributes | |
| int | en_pin {-1} |
| EN pin (DRV_ENN, pin 28) - Required. | |
| int | dir_pin |
| DIR pin (REFR_DIR, pin 18) - Optional, same as ref_right_pin. | |
| int | step_pin |
| STEP pin (REFL_STEP, pin 17) - Optional, same as ref_left_pin. | |
| int | ref_left_pin |
| Left reference switch (REFL_STEP, pin 17) - Same as step_pin. | |
| int | ref_right_pin |
| Right reference switch (REFR_DIR, pin 18) - Same as dir_pin. | |
| int | diag0_pin {-1} |
| DIAG0 pin (DIAG0_SWN, pin 26) - Optional. | |
| int | diag1_pin {-1} |
| DIAG1 pin (DIAG1_SWP, pin 27) - Optional. | |
| int | enc_a_pin {-1} |
| Encoder A (ENCA_DCIN_CFG5, pin 24) - Same as dc_in_pin. | |
| int | enc_b_pin {-1} |
| Encoder B (ENCB_DCEN_CFG4, pin 23) - Same as dc_en_pin. | |
| int | enc_n_pin {-1} |
| Encoder N (ENCN_DCO_CFG6, pin 25) - Same as dc_out_pin. | |
| int | dc_in_pin {-1} |
| int | dc_en_pin {-1} |
| int | dc_out_pin |
| DC Step ready output (ENCN_DCO_CFG6, pin 25) - Same as enc_n_pin. | |
| int | clk_pin {-1} |
| Clock input (CLK, pin 12) - Optional. | |
| int | spi_mode_pin {-1} |
| int | sd_mode_pin {-1} |
| hardwired. HIGH=External step/dir, LOW=Internal ramp | |
TMC51x0 GPIO pin configuration structure.
This structure allows configuring all TMC51x0 control pins in a single place. Compound pins (pins that share the same physical GPIO) are automatically handled - you only need to specify the GPIO once, and both logical pins will be mapped to it.
Compound pin relationships (same physical pin):
|
default |
Default constructor - all pins unmapped (-1)
|
inlinenoexcept |
Constructor with basic pins.
| en | EN pin (required) |
| dir | DIR pin (optional, -1 if not used) |
| step | STEP pin (optional, -1 if not used) |
| int tmc51x0::TMC51x0PinConfig::clk_pin {-1} |
Clock input (CLK, pin 12) - Optional.
| int tmc51x0::TMC51x0PinConfig::dc_en_pin {-1} |
DC Step enable input (ENCB_DCEN_CFG4, pin 23) - Same as enc_b_pin
| int tmc51x0::TMC51x0PinConfig::dc_in_pin {-1} |
DC Step gating input (ENCA_DCIN_CFG5, pin 24) - Same as enc_a_pin
| int tmc51x0::TMC51x0PinConfig::dc_out_pin |
DC Step ready output (ENCN_DCO_CFG6, pin 25) - Same as enc_n_pin.
| int tmc51x0::TMC51x0PinConfig::diag0_pin {-1} |
DIAG0 pin (DIAG0_SWN, pin 26) - Optional.
| int tmc51x0::TMC51x0PinConfig::diag1_pin {-1} |
DIAG1 pin (DIAG1_SWP, pin 27) - Optional.
| int tmc51x0::TMC51x0PinConfig::dir_pin |
DIR pin (REFR_DIR, pin 18) - Optional, same as ref_right_pin.
| int tmc51x0::TMC51x0PinConfig::en_pin {-1} |
EN pin (DRV_ENN, pin 28) - Required.
| int tmc51x0::TMC51x0PinConfig::enc_a_pin {-1} |
Encoder A (ENCA_DCIN_CFG5, pin 24) - Same as dc_in_pin.
| int tmc51x0::TMC51x0PinConfig::enc_b_pin {-1} |
Encoder B (ENCB_DCEN_CFG4, pin 23) - Same as dc_en_pin.
| int tmc51x0::TMC51x0PinConfig::enc_n_pin {-1} |
Encoder N (ENCN_DCO_CFG6, pin 25) - Same as dc_out_pin.
| int tmc51x0::TMC51x0PinConfig::ref_left_pin |
Left reference switch (REFL_STEP, pin 17) - Same as step_pin.
| int tmc51x0::TMC51x0PinConfig::ref_right_pin |
Right reference switch (REFR_DIR, pin 18) - Same as dir_pin.
| int tmc51x0::TMC51x0PinConfig::sd_mode_pin {-1} |
hardwired. HIGH=External step/dir, LOW=Internal ramp
SD_MODE pin (pin 21) - Optional, typically
| int tmc51x0::TMC51x0PinConfig::spi_mode_pin {-1} |
SPI_MODE pin (pin 22) - Optional, typically hardwired. HIGH=SPI, LOW=UART
| int tmc51x0::TMC51x0PinConfig::step_pin |
STEP pin (REFL_STEP, pin 17) - Optional, same as ref_left_pin.