131#include "driver/gpio.h"
148constexpr gpio_num_t
SPI_CS = GPIO_NUM_18;
151constexpr gpio_num_t
DRV_EN = GPIO_NUM_11;
152constexpr gpio_num_t
CLK = GPIO_NUM_10;
159constexpr gpio_num_t
DIAG0 = GPIO_NUM_23;
160constexpr gpio_num_t
DIAG1 = GPIO_NUM_15;
163constexpr gpio_num_t
DIR =
static_cast<gpio_num_t
>(-1);
164constexpr gpio_num_t
STEP =
static_cast<gpio_num_t
>(-1);
182 config.spi_miso =
static_cast<int>(
SPI_MISO);
183 config.spi_sclk =
static_cast<int>(
SPI_SCK);
184 config.spi_cs =
static_cast<int>(
SPI_CS);
187 config.tmc51x0_pins.en_pin =
static_cast<int>(
DRV_EN);
188 config.tmc51x0_pins.clk_pin =
static_cast<int>(
CLK);
189 config.tmc51x0_pins.diag0_pin =
static_cast<int>(
DIAG0);
190 config.tmc51x0_pins.diag1_pin =
static_cast<int>(
DIAG1);
191 config.tmc51x0_pins.dir_pin =
static_cast<int>(
DIR);
192 config.tmc51x0_pins.step_pin =
static_cast<int>(
STEP);
195 config.tmc51x0_pins.spi_mode_pin =
static_cast<int>(
SPI_MODE_PIN);
196 config.tmc51x0_pins.sd_mode_pin =
static_cast<int>(
SD_MODE_PIN);
388 static constexpr uint8_t
TOFF = 5;
389 static constexpr uint8_t
HEND = 3;
391 static constexpr uint8_t
TBL = 2;
494 static constexpr uint8_t
TOFF = 5;
495 static constexpr uint8_t
HEND = 3;
497 static constexpr uint8_t
TBL = 2;
598 static constexpr uint8_t
TOFF = 5;
599 static constexpr uint8_t
HEND = 3;
601 static constexpr uint8_t
TBL = 2;
995template<TestRigType test_rig>
1023template<BoardType board_type>
1065 cfg = builder.
Build();
1140 cfg = builder.
Build();
1215 cfg = builder.
Build();
1291 cfg = builder.
Build();
1311template<PlatformType platform_type>
1355 cfg = builder.
Build();
1367template<PlatformType platform_type>
1406template<PlatformType platform_type>
1439template<PlatformType platform_type>
1457template<PlatformType platform_type>
1475template<TestRigType test_rig>
1492template<TestRigType test_rig>
1509template<TestRigType test_rig>
1526template<MotorType motor_type>
1623 return uint32_t(30000);
1641template<TestRigType test_rig>
1660template<TestRigType test_rig>
1673template<TestRigType test_rig>
1675 return GetReferenceSwitchConfig<GetTestRigPlatformType<test_rig>()>();
1686template<TestRigType test_rig>
1688 return GetEncoderConfig<GetTestRigPlatformType<test_rig>()>();
1697template<TestRigType test_rig>
1699 return GetEncoderPulsesPerRev<GetTestRigPlatformType<test_rig>()>();
1708template<TestRigType test_rig>
1710 return GetEncoderInvertDirection<GetTestRigPlatformType<test_rig>()>();
1725template<TestRigType test_rig>
1747template<TestRigType test_rig>
1748struct TestRigConfig;
1774 if (use_direct_drive) {
1780 ApplyBoardConfig<board_type>(cfg);
1781 ApplyPlatformConfig<platform_type>(cfg);
1785 cfg.
encoder_config = tmc51x0_test_config::GetEncoderConfig<platform_type>();
1797 if (use_direct_drive) {
1810 return tmc51x0_test_config::GetEncoderConfig<platform_type>();
1819 return tmc51x0_test_config::GetReferenceSwitchConfig<platform_type>();
1847 (void)use_direct_drive;
1850 ApplyBoardConfig<board_type>(cfg);
1851 ApplyPlatformConfig<platform_type>(cfg);
1855 cfg.
encoder_config = tmc51x0_test_config::GetEncoderConfig<platform_type>();
1867 (void)use_direct_drive;
1877 return tmc51x0_test_config::GetEncoderConfig<platform_type>();
1886 return tmc51x0_test_config::GetReferenceSwitchConfig<platform_type>();
1902namespace ConfigValidators {
1904 static_assert(
requires {
1929 },
"MotorConfig_17HS4401S is missing required members");
1932 static_assert(
requires {
1957 },
"MotorConfig_17HS4401S_Direct is missing required members");
1960 static_assert(
requires {
1985 },
"MotorConfig_AppliedMotion_5034_369 is missing required members");
1988 static_assert(
requires {
1995 },
"BoardConfig_TMC51x0_EVAL is missing required members");
1998 static_assert(
requires {
2005 },
"BoardConfig_TMC51x0_BOB is missing required members");
2008 static_assert(
requires {
2029 },
"PlatformConfig_CoreDriverTestRig is missing required members");
2032 static_assert(
requires {
2053 },
"PlatformConfig_FatigueTestRig is missing required members");
2056 static_assert(
requires {
2064 },
"TestConfig_17HS4401S is missing required members");
2067 static_assert(
requires {
2075 },
"TestConfig_AppliedMotion_5034 is missing required members");
Fluent configuration builder for DriverConfig.
Definition tmc51x0_config_builder.hpp:87
ConfigBuilder & WithStallGuardThreshold(int8_t threshold)
Set StallGuard2 threshold (SGT)
Definition tmc51x0_config_builder.hpp:516
ConfigBuilder & WithLeadScrew(float pitch_mm)
Configure lead screw system.
Definition tmc51x0_config_builder.hpp:812
ConfigBuilder & WithShortFilter(uint8_t filter)
Set short detection filter bandwidth.
Definition tmc51x0_config_builder.hpp:310
ConfigBuilder & WithHysteresisEnd(uint8_t hend)
Set hysteresis end value (SpreadCycle mode)
Definition tmc51x0_config_builder.hpp:378
ConfigBuilder & WithStealthChopPwmOfs(uint8_t ofs)
Set StealthChop PWM offset.
Definition tmc51x0_config_builder.hpp:471
ConfigBuilder & WithS2gVoltageMv(uint16_t voltage_mv)
Set short to GND detector voltage threshold.
Definition tmc51x0_config_builder.hpp:299
ConfigBuilder & WithWindingInductanceMh(float inductance_mh)
Set winding inductance value.
Definition tmc51x0_config_builder.hpp:203
ConfigBuilder & WithHoldCurrentMa(uint16_t hold_current_ma)
Set hold current value.
Definition tmc51x0_config_builder.hpp:145
ConfigBuilder & WithStealthChop(bool enable)
Enable/disable StealthChop.
Definition tmc51x0_config_builder.hpp:435
DriverConfig Build() const
Build the final configuration.
Definition tmc51x0_config_builder.hpp:863
ConfigBuilder & WithMicrostepResolution(MicrostepResolution mres)
Set microstep resolution.
Definition tmc51x0_config_builder.hpp:411
ConfigBuilder & WithMotorMa(uint16_t steps_per_rev, uint16_t rated_current_ma)
Configure motor specifications.
Definition tmc51x0_config_builder.hpp:122
ConfigBuilder & WithS2vsVoltageMv(uint16_t voltage_mv)
Set short to VS detector voltage threshold.
Definition tmc51x0_config_builder.hpp:288
ConfigBuilder & WithMotorPowerDownDelayMs(float delay_ms)
Set motor power down delay time.
Definition tmc51x0_config_builder.hpp:218
ConfigBuilder & WithInternalClock()
Use internal clock (12MHz)
Definition tmc51x0_config_builder.hpp:759
ConfigBuilder & WithStealthChopAutoscale(bool enable)
Enable/disable StealthChop PWM autoscale.
Definition tmc51x0_config_builder.hpp:482
ConfigBuilder & WithExternalClockHz(uint32_t frequency_hz)
Use external clock.
Definition tmc51x0_config_builder.hpp:770
ConfigBuilder & WithDirectDrive()
Configure direct drive system.
Definition tmc51x0_config_builder.hpp:782
ConfigBuilder & WithRecalibration(bool enable)
Enable/disable recalibration.
Definition tmc51x0_config_builder.hpp:600
ConfigBuilder & WithStallGuardMinVelocity(float velocity, Unit unit=Unit::RPM)
Set StallGuard2 minimum velocity threshold.
Definition tmc51x0_config_builder.hpp:549
ConfigBuilder & WithChopperToff(uint8_t toff)
Set chopper off-time (TOFF)
Definition tmc51x0_config_builder.hpp:345
ConfigBuilder & WithGearbox(float gear_ratio)
Configure gearbox system.
Definition tmc51x0_config_builder.hpp:797
ConfigBuilder & WithInterpolation(bool enable)
Enable/disable interpolation.
Definition tmc51x0_config_builder.hpp:422
ConfigBuilder & WithOverTempProtection(OverTempProtection protection)
Set over-temperature protection level.
Definition tmc51x0_config_builder.hpp:277
ConfigBuilder & WithMosfetMillerChargeNc(float charge_nc)
Set MOSFET Miller charge.
Definition tmc51x0_config_builder.hpp:244
ConfigBuilder & WithStealthChopStepFilter(bool enable)
Enable/disable StealthChop step filter.
Definition tmc51x0_config_builder.hpp:622
ConfigBuilder & WithHysteresisStart(uint8_t hstrt)
Set hysteresis start value (SpreadCycle mode)
Definition tmc51x0_config_builder.hpp:367
ConfigBuilder & WithDirection(MotorDirection direction)
Set motor direction.
Definition tmc51x0_config_builder.hpp:845
ConfigBuilder & WithStealthChopAutograd(bool enable)
Enable/disable StealthChop PWM autograd.
Definition tmc51x0_config_builder.hpp:493
ConfigBuilder & WithRunCurrentMa(uint16_t run_current_ma)
Set run current value.
Definition tmc51x0_config_builder.hpp:134
ConfigBuilder & WithSenseResistorMohm(uint32_t resistance_mohm)
Set sense resistor value.
Definition tmc51x0_config_builder.hpp:177
ConfigBuilder & WithShortStandstillTimeout(bool enable)
Enable/disable short standstill timeout.
Definition tmc51x0_config_builder.hpp:611
ConfigBuilder & WithWindingResistanceMohm(uint32_t resistance_mohm)
Set winding resistance value.
Definition tmc51x0_config_builder.hpp:190
ConfigBuilder & WithBeltDrive(uint16_t pulley_teeth, float belt_pitch_mm)
Configure belt drive system.
Definition tmc51x0_config_builder.hpp:828
ConfigBuilder & WithStallGuardFilter(bool enable)
Enable/disable StallGuard2 filter.
Definition tmc51x0_config_builder.hpp:530
ConfigBuilder & WithChopperMode(ChopperMode mode)
Set chopper mode.
Definition tmc51x0_config_builder.hpp:334
ConfigBuilder & WithStealthChopThreshold(const VelocityValue &velocity)
Set StealthChop threshold velocity.
Definition tmc51x0_config_builder.hpp:448
ConfigBuilder & WithStartSpeed(const VelocityValue &velocity)
Set start velocity.
Definition tmc51x0_config_builder.hpp:678
ConfigBuilder & WithSupplyVoltageMv(uint32_t voltage_mv)
Set supply voltage value.
Definition tmc51x0_config_builder.hpp:160
ConfigBuilder & WithZeroWaitTimeMs(float wait_ms)
Set zero velocity wait time.
Definition tmc51x0_config_builder.hpp:747
ConfigBuilder & WithChopperBlankTime(ChopperBlankTime blank_time)
Set chopper blank time.
Definition tmc51x0_config_builder.hpp:356
ConfigBuilder & WithBbmTimeNs(uint32_t time_ns)
Set Break Before Make time.
Definition tmc51x0_config_builder.hpp:255
ConfigBuilder & WithSenseFilter(SenseFilterTime filter_time)
Set sense amplifier filter time.
Definition tmc51x0_config_builder.hpp:266
ESP32-specific communication interfaces for TMC51x0 using SPI and UART (TMC5130 & TMC51x0)
Definition esp32_tmc51x0_test_config.hpp:136
constexpr gpio_num_t CLK
Clock input pin (CLK, pin 12)
Definition esp32_tmc51x0_test_config.hpp:152
void ConfigureDriverFromTestRig(tmc51x0::DriverConfig &cfg, bool use_direct_drive=false) noexcept
Configure driver from test rig selection.
Definition esp32_tmc51x0_test_config.hpp:1661
constexpr uint16_t GetTestRigMotorOutputFullSteps(bool use_direct_drive=false) noexcept
Get motor output full steps per revolution for a test rig.
Definition esp32_tmc51x0_test_config.hpp:1726
void ConfigureDriverFromMotor_17HS4401S_Gearbox(tmc51x0::DriverConfig &cfg) noexcept
Helper function to populate DriverConfig from 17HS4401S gearbox motor configuration.
Definition esp32_tmc51x0_test_config.hpp:1078
constexpr BoardType GetTestRigBoardType() noexcept
Get board type for a given test rig.
Definition esp32_tmc51x0_test_config.hpp:1493
tmc51x0::EncoderConfig GetEncoderConfig() noexcept
Helper function to configure encoder from platform config.
Definition esp32_tmc51x0_test_config.hpp:1407
constexpr uint32_t SPI_CLOCK_SPEED_HZ
SPI clock speed.
Definition esp32_tmc51x0_test_config.hpp:167
tmc51x0::EncoderConfig GetTestRigEncoderConfig() noexcept
Get encoder configuration for a test rig.
Definition esp32_tmc51x0_test_config.hpp:1687
void ConfigureDriverFromMotor_AppliedMotion_5034(tmc51x0::DriverConfig &cfg) noexcept
Helper function to populate DriverConfig from Applied Motion 5034 motor configuration.
Definition esp32_tmc51x0_test_config.hpp:1228
tmc51x0::ReferenceSwitchConfig GetTestRigReferenceSwitchConfig() noexcept
Get reference switch configuration for a test rig.
Definition esp32_tmc51x0_test_config.hpp:1674
constexpr gpio_num_t SPI_MOSI
SPI MOSI (master out, slave in)
Definition esp32_tmc51x0_test_config.hpp:146
constexpr gpio_num_t DIR
Direction pin (optional)
Definition esp32_tmc51x0_test_config.hpp:163
constexpr gpio_num_t SPI_MODE_PIN
SPI_MODE pin (pin 22) - GPIO0 if available as control pin.
Definition esp32_tmc51x0_test_config.hpp:155
constexpr PlatformType GetTestRigPlatformType() noexcept
Get platform type for a given test rig.
Definition esp32_tmc51x0_test_config.hpp:1510
void ConfigureDriverFromMotor_17HS4401S_Direct(tmc51x0::DriverConfig &cfg) noexcept
Helper function to populate DriverConfig from 17HS4401S direct drive motor configuration.
Definition esp32_tmc51x0_test_config.hpp:1153
constexpr gpio_num_t SPI_CS
SPI chip select pin.
Definition esp32_tmc51x0_test_config.hpp:148
BoardType
Board type enumeration.
Definition esp32_tmc51x0_test_config.hpp:279
@ BOARD_TMC51x0_BOB
TMC51x0 Break-Out Board (0.11Ω sense, 24V, typical MOSFETs)
@ BOARD_TMC51x0_EVAL
TMC51x0 Evaluation Kit (0.05Ω sense, 24V, BSC072N08NS5 MOSFETs)
constexpr spi_host_device_t SPI_HOST
SPI host device.
Definition esp32_tmc51x0_test_config.hpp:168
constexpr uint16_t GetEncoderPulsesPerRev() noexcept
Helper function to get encoder pulses per revolution from platform config.
Definition esp32_tmc51x0_test_config.hpp:1440
constexpr gpio_num_t STEP
Step pin (optional)
Definition esp32_tmc51x0_test_config.hpp:164
bool GetEncoderInvertDirection() noexcept
Helper function to get encoder invert direction flag from platform config.
Definition esp32_tmc51x0_test_config.hpp:1458
typename TestRigConfig< test_rig >::Test GetTestConfigForTestRig
Get test configuration accessor for a given test rig.
Definition esp32_tmc51x0_test_config.hpp:1642
constexpr gpio_num_t DIAG1
Diagnostic output 1 (DIAG1_SWP, pin 27)
Definition esp32_tmc51x0_test_config.hpp:160
void ApplyPlatformConfig(tmc51x0::DriverConfig &cfg) noexcept
Helper function to apply platform configuration to DriverConfig.
Definition esp32_tmc51x0_test_config.hpp:1312
tmc51x0::ReferenceSwitchConfig GetReferenceSwitchConfig() noexcept
Helper function to configure reference switches from platform config.
Definition esp32_tmc51x0_test_config.hpp:1368
MotorType
Motor type enumeration for compile-time motor selection.
Definition esp32_tmc51x0_test_config.hpp:266
@ MOTOR_17HS4401S_DIRECT
17HS4401S direct drive (no gearbox)
@ MOTOR_17HS4401S_GEARBOX
17HS4401S with 5.18:1 planetary gearbox
@ MOTOR_APPLIED_MOTION_5034
Applied Motion 5034-369 NEMA 34 (high torque)
constexpr MotorType GetTestRigMotorType() noexcept
Get motor type for a given test rig.
Definition esp32_tmc51x0_test_config.hpp:1476
constexpr gpio_num_t SPI_SCK
SPI clock pin.
Definition esp32_tmc51x0_test_config.hpp:145
constexpr uint16_t GetTestRigEncoderPulsesPerRev() noexcept
Get encoder pulses per revolution for a test rig.
Definition esp32_tmc51x0_test_config.hpp:1698
constexpr gpio_num_t DIAG0
Diagnostic output 0 (DIAG0_SWN, pin 26)
Definition esp32_tmc51x0_test_config.hpp:159
void ApplyBoardConfig(tmc51x0::DriverConfig &cfg) noexcept
Helper function to apply board configuration to DriverConfig.
Definition esp32_tmc51x0_test_config.hpp:1024
constexpr gpio_num_t SPI_MISO
SPI MISO (master in, slave out)
Definition esp32_tmc51x0_test_config.hpp:147
TestRigType
Test rig type enumeration.
Definition esp32_tmc51x0_test_config.hpp:325
@ TEST_RIG_CORE_DRIVER
Core driver test rig (17HS4401S motor, TMC51x0 EVAL board, reference switches, encoder)
@ TEST_RIG_FATIGUE
Fatigue test rig (Applied Motion 5034-369 motor, TMC51x0 EVAL board, reference switches,...
constexpr gpio_num_t SD_MODE_PIN
SD_MODE pin (pin 21) - GPIO1 if available as control pin.
Definition esp32_tmc51x0_test_config.hpp:156
bool GetTestRigEncoderInvertDirection() noexcept
Get encoder invert direction flag for a test rig.
Definition esp32_tmc51x0_test_config.hpp:1709
Esp32SpiPinConfig GetDefaultPinConfig() noexcept
Complete pin configuration for all tests.
Definition esp32_tmc51x0_test_config.hpp:177
constexpr gpio_num_t DRV_EN
Driver enable pin (DRV_ENN)
Definition esp32_tmc51x0_test_config.hpp:151
PlatformType
Platform type enumeration.
Definition esp32_tmc51x0_test_config.hpp:294
@ PLATFORM_CORE_DRIVER_TEST_RIG
Core driver test rig (gearbox motor, reference switches, encoder)
@ PLATFORM_FATIGUE_TEST_RIG
Fatigue test rig (Applied Motion motor, reference switches, encoder)
MicrostepResolution
Microstep resolution enumeration.
Definition tmc51x0_types.hpp:707
@ MRES_256
256 microsteps per full step (highest resolution)
@ Temp150C
150°C threshold (lowest protection, highest temperature)
ChopperBlankTime
Comparator blank time enumeration.
Definition tmc51x0_types.hpp:692
EncoderNSensitivity
Encoder N channel sensitivity enumeration.
Definition tmc51x0_types.hpp:2383
EncoderClearMode
Encoder clear mode enumeration.
Definition tmc51x0_types.hpp:2417
MechanicalSystemType
Mechanical system type enumeration.
Definition tmc51x0_types.hpp:259
@ Gearbox
Gearbox reduction.
@ LeadScrew
Lead screw drive.
@ BeltDrive
Belt drive with pulleys.
@ DirectDrive
Direct drive (motor shaft directly connected)
ReferenceStopMode
Stop mode enumeration.
Definition tmc51x0_types.hpp:2288
ReferenceLatchMode
Position latching mode enumeration.
Definition tmc51x0_types.hpp:2255
@ RevPerSec
Revolutions per Second (recommended default for velocity)
@ RPM
Revolutions per Minute (Velocity only, typically)
MotorDirection
Motor direction enumeration.
Definition tmc51x0_types.hpp:95
@ INVERSE
Inverse motor direction.
@ NORMAL
Normal motor direction.
EncoderPrescalerMode
Encoder prescaler mode enumeration.
Definition tmc51x0_types.hpp:2448
ReferenceSwitchActiveLevel
Reference switch active level enumeration.
Definition tmc51x0_types.hpp:2225
@ T100ns
~100ns (reset default)
@ SPREAD_CYCLE
SpreadCycle mode (recommended) - superior microstepping quality.
Complete ESP32 SPI bus and TMC51x0 pin configuration structure.
Definition esp32_tmc51x0_bus.hpp:56
int spi_mosi
SPI MOSI pin (Master Out, Slave In)
Definition esp32_tmc51x0_bus.hpp:58
Driver initialization configuration structure.
Definition tmc51x0_types.hpp:2870
ReferenceSwitchConfig reference_switch_config
Reference switch configuration (defaults: stop disabled, latching disabled)
Definition tmc51x0_types.hpp:2894
EncoderConfig encoder_config
Encoder configuration (includes pulses per rev, invert direction, deviation)
Definition tmc51x0_types.hpp:2895
Encoder configuration structure.
Definition tmc51x0_types.hpp:2479
uint16_t pulses_per_rev
Encoder pulses per revolution.
Definition tmc51x0_types.hpp:2543
bool invert_direction
Invert encoder direction.
Definition tmc51x0_types.hpp:2555
ReferenceSwitchActiveLevel n_channel_active
Definition tmc51x0_types.hpp:2482
Reference switch configuration structure.
Definition tmc51x0_types.hpp:2327
ReferenceSwitchActiveLevel left_switch_active
Definition tmc51x0_types.hpp:2331
Board hardware configuration for TMC51x0 Break-Out Board (BOB)
Definition esp32_tmc51x0_test_config.hpp:821
static constexpr uint32_t BBM_TIME_NS
Break-before-make time in nanoseconds (~200ns for typical MOSFETs)
Definition esp32_tmc51x0_test_config.hpp:828
static constexpr float MOSFET_MILLER_CHARGE_NC
MOSFET Miller charge in nC (~30nC for typical BOB MOSFETs)
Definition esp32_tmc51x0_test_config.hpp:827
static constexpr uint16_t S2VS_VOLTAGE_MV
Short to VS voltage threshold in mV (0 = auto = 625mV)
Definition esp32_tmc51x0_test_config.hpp:832
static constexpr uint32_t SENSE_RESISTOR_MOHM
Sense resistor value in milliohms (0.11Ω - typical for BOB)
Definition esp32_tmc51x0_test_config.hpp:823
static constexpr uint32_t CLOCK_FREQUENCY_HZ
TMC51x0 clock frequency in Hz (0 = use internal 12 MHz oscillator, CLK pin tied to GND)
Definition esp32_tmc51x0_test_config.hpp:824
static constexpr uint16_t S2G_VOLTAGE_MV
Short to GND voltage threshold in mV (0 = auto = 625mV)
Definition esp32_tmc51x0_test_config.hpp:833
Board hardware configuration for TMC51x0 Evaluation Kit.
Definition esp32_tmc51x0_test_config.hpp:786
static constexpr float MOSFET_MILLER_CHARGE_NC
MOSFET Miller charge in nC (<10nC for BSC072N08NS5)
Definition esp32_tmc51x0_test_config.hpp:792
static constexpr uint32_t CLOCK_FREQUENCY_HZ
TMC51x0 clock frequency in Hz (0 = use internal 12 MHz oscillator, CLK pin tied to GND)
Definition esp32_tmc51x0_test_config.hpp:789
static constexpr uint16_t S2VS_VOLTAGE_MV
Short to VS voltage threshold in mV (0 = auto = 625mV)
Definition esp32_tmc51x0_test_config.hpp:797
static constexpr uint16_t S2G_VOLTAGE_MV
Short to GND voltage threshold in mV (0 = auto = 625mV)
Definition esp32_tmc51x0_test_config.hpp:798
static constexpr uint32_t BBM_TIME_NS
Break-before-make time in nanoseconds (~100ns for fast MOSFETs)
Definition esp32_tmc51x0_test_config.hpp:793
static constexpr uint32_t SENSE_RESISTOR_MOHM
Sense resistor value in milliohms (0.05Ω)
Definition esp32_tmc51x0_test_config.hpp:788
Motor Configuration for 17HS4401S NEMA 17 Stepper Motor (DIRECT DRIVE, NO GEARBOX)
Definition esp32_tmc51x0_test_config.hpp:464
static constexpr tmc51x0::MicrostepResolution MRES
Definition esp32_tmc51x0_test_config.hpp:486
static constexpr float STEALTH_VELOCITY_THRESHOLD_RPM
Definition esp32_tmc51x0_test_config.hpp:543
static constexpr float RAMP_AMAX_REV_S2
Definition esp32_tmc51x0_test_config.hpp:519
static constexpr uint8_t TOFF
Definition esp32_tmc51x0_test_config.hpp:494
static constexpr uint8_t STEALTH_OFS
Definition esp32_tmc51x0_test_config.hpp:506
static constexpr uint32_t SUPPLY_VOLTAGE_MV
Definition esp32_tmc51x0_test_config.hpp:472
static constexpr float RAMP_TZEROWAIT_MS
Definition esp32_tmc51x0_test_config.hpp:531
static constexpr uint16_t MOTOR_FULL_STEPS
Definition esp32_tmc51x0_test_config.hpp:470
static constexpr float RAMP_TPOWERDOWN_MS
Definition esp32_tmc51x0_test_config.hpp:530
static constexpr bool INTERPOLATION
Definition esp32_tmc51x0_test_config.hpp:487
static constexpr float RAMP_D1_REV_S2
Definition esp32_tmc51x0_test_config.hpp:523
static constexpr uint16_t TARGET_RUN_CURRENT_MA
Definition esp32_tmc51x0_test_config.hpp:480
static constexpr float RAMP_VMAX_RPM
Definition esp32_tmc51x0_test_config.hpp:517
static constexpr uint8_t HEND
Definition esp32_tmc51x0_test_config.hpp:495
static constexpr uint8_t HSTRT
Definition esp32_tmc51x0_test_config.hpp:496
static constexpr uint16_t OUTPUT_FULL_STEPS
Definition esp32_tmc51x0_test_config.hpp:471
static constexpr bool STEALTH_AUTOSCALE
Definition esp32_tmc51x0_test_config.hpp:503
static constexpr uint16_t TARGET_HOLD_CURRENT_MA
Definition esp32_tmc51x0_test_config.hpp:481
static constexpr float RAMP_V1_RPM
Definition esp32_tmc51x0_test_config.hpp:529
static constexpr uint8_t STEALTH_FREQ
Definition esp32_tmc51x0_test_config.hpp:505
static constexpr float INDUCTANCE_MH
Definition esp32_tmc51x0_test_config.hpp:468
static constexpr float RAMP_DMAX_REV_S2
Definition esp32_tmc51x0_test_config.hpp:520
static constexpr uint32_t RESISTANCE_MOHM
Definition esp32_tmc51x0_test_config.hpp:467
static constexpr float RAMP_VSTART_RPM
Definition esp32_tmc51x0_test_config.hpp:512
static constexpr float GEAR_RATIO
Definition esp32_tmc51x0_test_config.hpp:469
static constexpr float IHOLDDELAY_MS
Definition esp32_tmc51x0_test_config.hpp:537
static constexpr uint8_t TBL
Definition esp32_tmc51x0_test_config.hpp:497
static constexpr uint16_t RATED_CURRENT_MA
Definition esp32_tmc51x0_test_config.hpp:466
static constexpr float RAMP_VSTOP_RPM
Definition esp32_tmc51x0_test_config.hpp:514
static constexpr bool STEALTH_AUTOGRAD
Definition esp32_tmc51x0_test_config.hpp:504
static constexpr float RAMP_A1_REV_S2
Definition esp32_tmc51x0_test_config.hpp:522
Motor Configuration for 17HS4401S-PG518 NEMA 17 Stepper Motor (WITH GEARBOX)
Definition esp32_tmc51x0_test_config.hpp:354
static constexpr float INDUCTANCE_MH
Definition esp32_tmc51x0_test_config.hpp:358
static constexpr uint8_t HSTRT
Definition esp32_tmc51x0_test_config.hpp:390
static constexpr float RAMP_DMAX_REV_S2
Definition esp32_tmc51x0_test_config.hpp:418
static constexpr float RAMP_VSTART_RPM
Definition esp32_tmc51x0_test_config.hpp:407
static constexpr float RAMP_TZEROWAIT_MS
Definition esp32_tmc51x0_test_config.hpp:433
static constexpr float GEAR_RATIO
Definition esp32_tmc51x0_test_config.hpp:359
static constexpr float RAMP_AMAX_REV_S2
Definition esp32_tmc51x0_test_config.hpp:416
static constexpr uint8_t STEALTH_FREQ
Definition esp32_tmc51x0_test_config.hpp:399
static constexpr uint16_t TARGET_RUN_CURRENT_MA
Definition esp32_tmc51x0_test_config.hpp:373
static constexpr float RAMP_VSTOP_RPM
Definition esp32_tmc51x0_test_config.hpp:410
static constexpr float RAMP_VMAX_RPM
Definition esp32_tmc51x0_test_config.hpp:413
static constexpr bool INTERPOLATION
Definition esp32_tmc51x0_test_config.hpp:381
static constexpr uint16_t TARGET_HOLD_CURRENT_MA
Definition esp32_tmc51x0_test_config.hpp:374
static constexpr tmc51x0::MicrostepResolution MRES
Definition esp32_tmc51x0_test_config.hpp:380
static constexpr uint32_t SUPPLY_VOLTAGE_MV
Definition esp32_tmc51x0_test_config.hpp:364
static constexpr float RAMP_V1_RPM
Definition esp32_tmc51x0_test_config.hpp:429
static constexpr bool STEALTH_AUTOSCALE
Definition esp32_tmc51x0_test_config.hpp:397
static constexpr uint16_t OUTPUT_FULL_STEPS
Definition esp32_tmc51x0_test_config.hpp:363
static constexpr uint16_t RATED_CURRENT_MA
Definition esp32_tmc51x0_test_config.hpp:356
static constexpr uint8_t STEALTH_OFS
Definition esp32_tmc51x0_test_config.hpp:400
static constexpr uint8_t TOFF
Definition esp32_tmc51x0_test_config.hpp:388
static constexpr uint32_t RESISTANCE_MOHM
Definition esp32_tmc51x0_test_config.hpp:357
static constexpr float RAMP_D1_REV_S2
Definition esp32_tmc51x0_test_config.hpp:423
static constexpr float IHOLDDELAY_MS
Definition esp32_tmc51x0_test_config.hpp:439
static constexpr uint8_t HEND
Definition esp32_tmc51x0_test_config.hpp:389
static constexpr uint8_t TBL
Definition esp32_tmc51x0_test_config.hpp:391
static constexpr float STEALTH_VELOCITY_THRESHOLD_RPM
Definition esp32_tmc51x0_test_config.hpp:445
static constexpr float RAMP_A1_REV_S2
Definition esp32_tmc51x0_test_config.hpp:421
static constexpr float RAMP_TPOWERDOWN_MS
Definition esp32_tmc51x0_test_config.hpp:431
static constexpr uint16_t MOTOR_FULL_STEPS
Definition esp32_tmc51x0_test_config.hpp:360
static constexpr bool STEALTH_AUTOGRAD
Definition esp32_tmc51x0_test_config.hpp:398
Motor Configuration for Applied Motion 5034-369 NEMA 34 Stepper Motor.
Definition esp32_tmc51x0_test_config.hpp:567
static constexpr uint8_t STEALTH_OFS
Definition esp32_tmc51x0_test_config.hpp:611
static constexpr uint16_t MOTOR_FULL_STEPS
Definition esp32_tmc51x0_test_config.hpp:571
static constexpr bool STEALTH_AUTOSCALE
Definition esp32_tmc51x0_test_config.hpp:608
static constexpr float RAMP_AMAX_REV_S2
Definition esp32_tmc51x0_test_config.hpp:626
static constexpr float RAMP_DMAX_REV_S2
Definition esp32_tmc51x0_test_config.hpp:627
static constexpr float RAMP_D1_REV_S2
Definition esp32_tmc51x0_test_config.hpp:630
static constexpr uint8_t TBL
Definition esp32_tmc51x0_test_config.hpp:601
static constexpr float STEALTH_VELOCITY_THRESHOLD_RPM
Definition esp32_tmc51x0_test_config.hpp:651
static constexpr float RAMP_VSTART_RPM
Definition esp32_tmc51x0_test_config.hpp:618
static constexpr float IHOLDDELAY_MS
Definition esp32_tmc51x0_test_config.hpp:645
static constexpr uint16_t TARGET_HOLD_CURRENT_MA
Definition esp32_tmc51x0_test_config.hpp:585
static constexpr float GEAR_RATIO
Definition esp32_tmc51x0_test_config.hpp:570
static constexpr uint8_t TOFF
Definition esp32_tmc51x0_test_config.hpp:598
static constexpr uint8_t HSTRT
Definition esp32_tmc51x0_test_config.hpp:600
static constexpr bool INTERPOLATION
Definition esp32_tmc51x0_test_config.hpp:591
static constexpr bool STEALTH_AUTOGRAD
Definition esp32_tmc51x0_test_config.hpp:609
static constexpr tmc51x0::MicrostepResolution MRES
Definition esp32_tmc51x0_test_config.hpp:590
static constexpr float RAMP_TZEROWAIT_MS
Definition esp32_tmc51x0_test_config.hpp:638
static constexpr uint32_t SUPPLY_VOLTAGE_MV
Definition esp32_tmc51x0_test_config.hpp:577
static constexpr float RAMP_A1_REV_S2
Definition esp32_tmc51x0_test_config.hpp:629
static constexpr float RAMP_V1_RPM
Definition esp32_tmc51x0_test_config.hpp:636
static constexpr uint16_t OUTPUT_FULL_STEPS
Definition esp32_tmc51x0_test_config.hpp:574
static constexpr uint16_t TARGET_RUN_CURRENT_MA
Definition esp32_tmc51x0_test_config.hpp:584
static constexpr float RAMP_TPOWERDOWN_MS
Definition esp32_tmc51x0_test_config.hpp:637
static constexpr uint32_t RESISTANCE_MOHM
Definition esp32_tmc51x0_test_config.hpp:575
static constexpr float RAMP_VMAX_RPM
Definition esp32_tmc51x0_test_config.hpp:623
static constexpr float RAMP_VSTOP_RPM
Definition esp32_tmc51x0_test_config.hpp:620
static constexpr uint8_t STEALTH_FREQ
Definition esp32_tmc51x0_test_config.hpp:610
static constexpr uint16_t RATED_CURRENT_MA
Definition esp32_tmc51x0_test_config.hpp:569
static constexpr float INDUCTANCE_MH
Definition esp32_tmc51x0_test_config.hpp:576
static constexpr uint8_t HEND
Definition esp32_tmc51x0_test_config.hpp:599
Definition esp32_tmc51x0_test_config.hpp:1588
static constexpr uint32_t HOMING_TIMEOUT_MS
Definition esp32_tmc51x0_test_config.hpp:1615
static constexpr float BOUNDS_SEARCH_ACCEL_REV_S2
Definition esp32_tmc51x0_test_config.hpp:1604
static constexpr float BOUNDS_SEARCH_SPEED_RPM
Definition esp32_tmc51x0_test_config.hpp:1593
Definition esp32_tmc51x0_test_config.hpp:1529
static constexpr int8_t SGT_HOMING
Definition esp32_tmc51x0_test_config.hpp:1530
static constexpr uint8_t SEMAX
Definition esp32_tmc51x0_test_config.hpp:1563
static constexpr uint8_t SEMIN
Definition esp32_tmc51x0_test_config.hpp:1552
static constexpr float MIN_VELOCITY_RPM
Definition esp32_tmc51x0_test_config.hpp:1575
static constexpr bool FILTER_ENABLED
Definition esp32_tmc51x0_test_config.hpp:1541
Test configuration accessor struct.
Definition esp32_tmc51x0_test_config.hpp:1527
Definition esp32_tmc51x0_test_config.hpp:665
static constexpr float BOUNDS_SEARCH_ACCEL_REV_S2
Definition esp32_tmc51x0_test_config.hpp:674
static constexpr uint32_t HOMING_TIMEOUT_MS
Definition esp32_tmc51x0_test_config.hpp:677
static constexpr float BOUNDS_SEARCH_SPEED_RPM
Definition esp32_tmc51x0_test_config.hpp:670
Definition esp32_tmc51x0_test_config.hpp:681
static constexpr uint8_t SEMIN
Definition esp32_tmc51x0_test_config.hpp:701
static constexpr float MIN_VELOCITY_RPM
Definition esp32_tmc51x0_test_config.hpp:706
static constexpr float STALL_DETECTION_CURRENT_FACTOR
Definition esp32_tmc51x0_test_config.hpp:711
static constexpr float SGT_TUNED_AT_VELOCITY_RPM
Definition esp32_tmc51x0_test_config.hpp:690
static constexpr uint8_t SEMAX
Definition esp32_tmc51x0_test_config.hpp:702
static constexpr float TUNING_MAX_VELOCITY_RPM
Definition esp32_tmc51x0_test_config.hpp:692
static constexpr bool FILTER_ENABLED
Definition esp32_tmc51x0_test_config.hpp:696
static constexpr int8_t SGT_HOMING
Definition esp32_tmc51x0_test_config.hpp:686
static constexpr float TUNING_MIN_VELOCITY_RPM
Definition esp32_tmc51x0_test_config.hpp:691
Test Rig Configuration Defaults.
Definition esp32_tmc51x0_test_config.hpp:663
Definition esp32_tmc51x0_test_config.hpp:723
static constexpr float BOUNDS_SEARCH_ACCEL_REV_S2
Definition esp32_tmc51x0_test_config.hpp:730
static constexpr uint32_t HOMING_TIMEOUT_MS
Definition esp32_tmc51x0_test_config.hpp:733
static constexpr float BOUNDS_SEARCH_SPEED_RPM
Definition esp32_tmc51x0_test_config.hpp:727
Definition esp32_tmc51x0_test_config.hpp:737
static constexpr float STALL_DETECTION_CURRENT_FACTOR
Definition esp32_tmc51x0_test_config.hpp:758
static constexpr uint8_t SEMIN
Definition esp32_tmc51x0_test_config.hpp:750
static constexpr bool FILTER_ENABLED
Definition esp32_tmc51x0_test_config.hpp:749
static constexpr float TUNING_MIN_VELOCITY_RPM
Definition esp32_tmc51x0_test_config.hpp:744
static constexpr float TUNING_MAX_VELOCITY_RPM
Definition esp32_tmc51x0_test_config.hpp:745
static constexpr float MIN_VELOCITY_RPM
Definition esp32_tmc51x0_test_config.hpp:754
static constexpr uint8_t SEMAX
Definition esp32_tmc51x0_test_config.hpp:751
static constexpr int8_t SGT_HOMING
Definition esp32_tmc51x0_test_config.hpp:740
static constexpr float SGT_TUNED_AT_VELOCITY_RPM
Definition esp32_tmc51x0_test_config.hpp:743
Test Configuration for Applied Motion 5034-369 Motor.
Definition esp32_tmc51x0_test_config.hpp:721
static constexpr tmc51x0::EncoderConfig GetEncoderConfig() noexcept
Get encoder configuration.
Definition esp32_tmc51x0_test_config.hpp:1809
static constexpr uint16_t GetMotorOutputFullSteps(bool use_direct_drive=false) noexcept
Get motor output full steps per revolution.
Definition esp32_tmc51x0_test_config.hpp:1796
static constexpr tmc51x0::ReferenceSwitchConfig GetReferenceSwitchConfig() noexcept
Get reference switch configuration.
Definition esp32_tmc51x0_test_config.hpp:1818
static void ConfigureDriver(tmc51x0::DriverConfig &cfg, bool use_direct_drive=false) noexcept
Configure driver from this test rig's configuration.
Definition esp32_tmc51x0_test_config.hpp:1773
static constexpr tmc51x0::ReferenceSwitchConfig GetReferenceSwitchConfig() noexcept
Get reference switch configuration.
Definition esp32_tmc51x0_test_config.hpp:1885
static void ConfigureDriver(tmc51x0::DriverConfig &cfg, bool use_direct_drive=false) noexcept
Configure driver from this test rig's configuration.
Definition esp32_tmc51x0_test_config.hpp:1846
static constexpr uint16_t GetMotorOutputFullSteps(bool use_direct_drive=false) noexcept
Get motor output full steps per revolution.
Definition esp32_tmc51x0_test_config.hpp:1866
static constexpr tmc51x0::EncoderConfig GetEncoderConfig() noexcept
Get encoder configuration.
Definition esp32_tmc51x0_test_config.hpp:1876
Base template for test rig configuration (undefined - forces explicit specialization)
Definition esp32_tmc51x0_test_config.hpp:996
Communication interfaces for TMC51x0 stepper motor driver using SPI and UART.
Fluent configuration builder for TMC51x0 driver.