HF-TMC51x0 Driver (TMC5130 & TMC5160) 0.1.0-dev
Hardware Agnostic C++ Driver for the TMC51x0 (TMC5130 & TMC5160)
Loading...
Searching...
No Matches
tmc51x0_test_config Namespace Reference

Namespaces

namespace  anonymous_namespace{esp32_tmc51x0_test_config.hpp}
 
namespace  ConfigValidators
 Validator helper - checks if a type has required members.
 

Classes

struct  BoardConfig_TMC51x0_BOB
 Board hardware configuration for TMC51x0 Break-Out Board (BOB) More...
 
struct  BoardConfig_TMC51x0_EVAL
 Board hardware configuration for TMC51x0 Evaluation Kit. More...
 
struct  MotorConfig_17HS4401S
 Motor Configuration for 17HS4401S-PG518 NEMA 17 Stepper Motor (WITH GEARBOX) More...
 
struct  MotorConfig_17HS4401S_Direct
 Motor Configuration for 17HS4401S NEMA 17 Stepper Motor (DIRECT DRIVE, NO GEARBOX) More...
 
struct  MotorConfig_AppliedMotion_5034_369
 Motor Configuration for Applied Motion 5034-369 NEMA 34 Stepper Motor. More...
 
struct  PlatformConfig_CoreDriverTestRig
 Platform configuration for Core Driver Test Rig. More...
 
struct  PlatformConfig_FatigueTestRig
 Platform configuration for Fatigue Test Rig. More...
 
struct  TestConfig_17HS4401S
 Test Rig Configuration Defaults. More...
 
struct  TestConfig_AppliedMotion_5034
 Test Configuration for Applied Motion 5034-369 Motor. More...
 
struct  TestConfigAccessor
 Test configuration accessor struct. More...
 
struct  TestRigConfig
 Base template for test rig configuration (undefined - forces explicit specialization) More...
 
struct  TestRigConfig< TestRigType::TEST_RIG_CORE_DRIVER >
 Test rig configuration for TEST_RIG_CORE_DRIVER. More...
 
struct  TestRigConfig< TestRigType::TEST_RIG_FATIGUE >
 Test rig configuration for TEST_RIG_FATIGUE. More...
 

Typedefs

template<TestRigType test_rig>
using GetTestConfigForTestRig = typename TestRigConfig<test_rig>::Test
 Get test configuration accessor for a given test rig.
 

Enumerations

enum class  MotorType { MOTOR_17HS4401S_GEARBOX , MOTOR_17HS4401S_DIRECT , MOTOR_APPLIED_MOTION_5034 }
 Motor type enumeration for compile-time motor selection. More...
 
enum class  BoardType { BOARD_TMC51x0_EVAL , BOARD_TMC51x0_BOB }
 Board type enumeration. More...
 
enum class  PlatformType { PLATFORM_CORE_DRIVER_TEST_RIG , PLATFORM_FATIGUE_TEST_RIG }
 Platform type enumeration. More...
 
enum class  TestRigType { TEST_RIG_CORE_DRIVER , TEST_RIG_FATIGUE }
 Test rig type enumeration. More...
 

Functions

Esp32SpiPinConfig GetDefaultPinConfig () noexcept
 Complete pin configuration for all tests.
 
template<BoardType board_type>
void ApplyBoardConfig (tmc51x0::DriverConfig &cfg) noexcept
 Helper function to apply board configuration to DriverConfig.
 
void ConfigureDriverFromMotor_17HS4401S_Gearbox (tmc51x0::DriverConfig &cfg) noexcept
 Helper function to populate DriverConfig from 17HS4401S gearbox motor configuration.
 
void ConfigureDriverFromMotor_17HS4401S_Direct (tmc51x0::DriverConfig &cfg) noexcept
 Helper function to populate DriverConfig from 17HS4401S direct drive motor configuration.
 
void ConfigureDriverFromMotor_AppliedMotion_5034 (tmc51x0::DriverConfig &cfg) noexcept
 Helper function to populate DriverConfig from Applied Motion 5034 motor configuration.
 
template<PlatformType platform_type>
void ApplyPlatformConfig (tmc51x0::DriverConfig &cfg) noexcept
 Helper function to apply platform configuration to DriverConfig.
 
template<PlatformType platform_type>
tmc51x0::ReferenceSwitchConfig GetReferenceSwitchConfig () noexcept
 Helper function to configure reference switches from platform config.
 
template<PlatformType platform_type>
tmc51x0::EncoderConfig GetEncoderConfig () noexcept
 Helper function to configure encoder from platform config.
 
template<PlatformType platform_type>
constexpr uint16_t GetEncoderPulsesPerRev () noexcept
 Helper function to get encoder pulses per revolution from platform config.
 
template<PlatformType platform_type>
bool GetEncoderInvertDirection () noexcept
 Helper function to get encoder invert direction flag from platform config.
 
template<TestRigType test_rig>
constexpr MotorType GetTestRigMotorType () noexcept
 Get motor type for a given test rig.
 
template<TestRigType test_rig>
constexpr BoardType GetTestRigBoardType () noexcept
 Get board type for a given test rig.
 
template<TestRigType test_rig>
constexpr PlatformType GetTestRigPlatformType () noexcept
 Get platform type for a given test rig.
 
template<TestRigType test_rig>
void ConfigureDriverFromTestRig (tmc51x0::DriverConfig &cfg, bool use_direct_drive=false) noexcept
 Configure driver from test rig selection.
 
template<TestRigType test_rig>
tmc51x0::ReferenceSwitchConfig GetTestRigReferenceSwitchConfig () noexcept
 Get reference switch configuration for a test rig.
 
template<TestRigType test_rig>
tmc51x0::EncoderConfig GetTestRigEncoderConfig () noexcept
 Get encoder configuration for a test rig.
 
template<TestRigType test_rig>
constexpr uint16_t GetTestRigEncoderPulsesPerRev () noexcept
 Get encoder pulses per revolution for a test rig.
 
template<TestRigType test_rig>
bool GetTestRigEncoderInvertDirection () noexcept
 Get encoder invert direction flag for a test rig.
 
template<TestRigType test_rig>
constexpr uint16_t GetTestRigMotorOutputFullSteps (bool use_direct_drive=false) noexcept
 Get motor output full steps per revolution for a test rig.
 

Variables

constexpr gpio_num_t SPI_SCK = GPIO_NUM_5
 SPI clock pin.
 
constexpr gpio_num_t SPI_MOSI = GPIO_NUM_6
 SPI MOSI (master out, slave in)
 
constexpr gpio_num_t SPI_MISO = GPIO_NUM_2
 SPI MISO (master in, slave out)
 
constexpr gpio_num_t SPI_CS = GPIO_NUM_18
 SPI chip select pin.
 
constexpr gpio_num_t DRV_EN = GPIO_NUM_11
 Driver enable pin (DRV_ENN)
 
constexpr gpio_num_t CLK = GPIO_NUM_10
 Clock input pin (CLK, pin 12)
 
constexpr gpio_num_t SPI_MODE_PIN = GPIO_NUM_0
 SPI_MODE pin (pin 22) - GPIO0 if available as control pin.
 
constexpr gpio_num_t SD_MODE_PIN = GPIO_NUM_1
 SD_MODE pin (pin 21) - GPIO1 if available as control pin.
 
constexpr gpio_num_t DIAG0 = GPIO_NUM_23
 Diagnostic output 0 (DIAG0_SWN, pin 26)
 
constexpr gpio_num_t DIAG1 = GPIO_NUM_15
 Diagnostic output 1 (DIAG1_SWP, pin 27)
 
constexpr gpio_num_t DIR = static_cast<gpio_num_t>(-1)
 Direction pin (optional)
 
constexpr gpio_num_t STEP = static_cast<gpio_num_t>(-1)
 Step pin (optional)
 
constexpr uint32_t SPI_CLOCK_SPEED_HZ = 500000
 SPI clock speed.
 
constexpr spi_host_device_t SPI_HOST = SPI2_HOST
 SPI host device.
 

Typedef Documentation

◆ GetTestConfigForTestRig

template<TestRigType test_rig>
using tmc51x0_test_config::GetTestConfigForTestRig = typename TestRigConfig<test_rig>::Test

Get test configuration accessor for a given test rig.

Automatically selects the appropriate test config based on the test rig's motor type. This provides compile-time access to test configuration parameters.

Usage: using TestConfig = GetTestConfigForTestRig<SELECTED_TEST_RIG>; float speed = TestConfig::Motion::BOUNDS_SEARCH_SPEED_RPM;

Note
This is now an alias to TestRigConfig::Test for consistency. The TestConfigAccessor is still available for backward compatibility.

Enumeration Type Documentation

◆ BoardType

enum class tmc51x0_test_config::BoardType
strong

Board type enumeration.

Selects which board configuration to use at compile time. Board configuration includes hardware parameters like sense resistor, supply voltage, MOSFET characteristics, etc.

Enumerator
BOARD_TMC51x0_EVAL 

TMC51x0 Evaluation Kit (0.05Ω sense, 24V, BSC072N08NS5 MOSFETs)

BOARD_TMC51x0_BOB 

TMC51x0 Break-Out Board (0.11Ω sense, 24V, typical MOSFETs)

◆ MotorType

enum class tmc51x0_test_config::MotorType
strong

Motor type enumeration for compile-time motor selection.

This enumeration defines the available motor configurations that can be selected at compile time. Each motor has its own configuration namespace with optimized settings for current, chopper, and StealthChop parameters.

MOTOR SELECTION GUIDE:

  1. MOTOR_17HS4401S_GEARBOX (default):
    • Model: 17HS4401S-PG518 with 5.18:1 planetary gearbox
    • Rated Current: 1.68A RMS per phase
    • Step Angle: 1.8° (200 steps/rev motor, ~1036 steps/rev output)
    • Holding Torque: 40Ncm (motor), ~207Ncm (output with gearbox)
    • Current Settings: IRUN=20 (~1.88A RMS), IHOLD=10 (~0.94A RMS)
    • Use for: Applications requiring high torque and precision positioning
    • Power Supply: 2-3A recommended
  2. MOTOR_17HS4401S_DIRECT:
    • Model: 17HS4401S direct drive (no gearbox)
    • Rated Current: 1.68A RMS per phase
    • Step Angle: 1.8° (200 steps/rev)
    • Holding Torque: 40Ncm
    • Current Settings: IRUN=20 (~1.88A RMS), IHOLD=10 (~0.94A RMS)
    • Use for: Applications requiring higher speed and lower torque
    • Power Supply: 2-3A recommended
  3. MOTOR_APPLIED_MOTION_5034:
    • Model: Applied Motion Products 5034-369 NEMA 34
    • Rated Current: 4.17A RMS per phase (bipolar series)
    • Step Angle: 1.8° (200 steps/rev)
    • Holding Torque: 636 oz-in (4.5 Nm)
    • Resistance: 0.84 Ohms/phase (bipolar series)
    • Inductance: 10.4 mH/phase (bipolar series)
    • Current Settings: IRUN=28 (~4.17A RMS), IHOLD=14 (~2.15A RMS)
    • Use for: High-torque applications requiring 4A+ current
    • WARNING: Requires power supply capable of 5A+ continuous current

USAGE: In your example file, declare a static constexpr variable at global scope:

static constexpr tmc51x0_test_config::MotorType SELECTED_MOTOR = 
    tmc51x0_test_config::MotorType::MOTOR_17HS4401S_GEARBOX;

Then use conditional compilation or if constexpr to select the motor namespace:

if constexpr (SELECTED_MOTOR == MotorType::MOTOR_17HS4401S_GEARBOX) {
    namespace Motor = tmc51x0_test_config::MotorConfig_17HS4401S;
} else if constexpr (SELECTED_MOTOR == MotorType::MOTOR_17HS4401S_DIRECT) {
    namespace Motor = tmc51x0_test_config::MotorConfig_17HS4401S_Direct;
} else if constexpr (SELECTED_MOTOR == MotorType::MOTOR_APPLIED_MOTION_5034) {
    namespace Motor = tmc51x0_test_config::MotorConfig_AppliedMotion_5034_369;
}

Motor type enumeration

Selects which motor configuration to use at compile time.

Enumerator
MOTOR_17HS4401S_GEARBOX 

17HS4401S with 5.18:1 planetary gearbox

MOTOR_17HS4401S_DIRECT 

17HS4401S direct drive (no gearbox)

MOTOR_APPLIED_MOTION_5034 

Applied Motion 5034-369 NEMA 34 (high torque)

◆ PlatformType

Platform type enumeration.

Selects which platform configuration to use at compile time. Platform configuration includes reference switches, encoder, mechanical system type, etc.

Note
For test rigs, use TestRigType instead - it automatically selects the platform. This enum is kept for backward compatibility and future non-test-rig platforms.
Enumerator
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)

◆ TestRigType

Test rig type enumeration.

Selects which complete test rig configuration to use at compile time. Each test rig automatically selects the appropriate motor, board, and platform. This simplifies configuration by grouping related hardware together.

TEST RIG CONFIGURATIONS:

  1. TEST_RIG_CORE_DRIVER:
    • Motor: 17HS4401S with gearbox (MOTOR_17HS4401S_GEARBOX) or direct drive (MOTOR_17HS4401S_DIRECT)
    • Board: TMC51x0 Evaluation Kit (BOARD_TMC51x0_EVAL)
    • Platform: Core Driver Test Rig (PLATFORM_CORE_DRIVER_TEST_RIG)
    • Features: Reference switches, encoder (AS5047U), gearbox or direct drive
    • Used for: Comprehensive tests, core driver functionality
  2. TEST_RIG_FATIGUE:
    • Motor: Applied Motion 5034-369 (MOTOR_APPLIED_MOTION_5034)
    • Board: TMC51x0 Evaluation Kit (BOARD_TMC51x0_EVAL)
    • Platform: Fatigue Test Rig (PLATFORM_FATIGUE_TEST_RIG)
    • Features: Reference switches, encoder (AS5047U), direct drive (NEMA 34)
    • Used for: Bounds finding, sinusoidal motion, fatigue testing
Enumerator
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, encoder)

Function Documentation

◆ ApplyBoardConfig()

template<BoardType board_type>
void tmc51x0_test_config::ApplyBoardConfig ( tmc51x0::DriverConfig & cfg)
inlinenoexcept

Helper function to apply board configuration to DriverConfig.

Applies board-specific configuration (sense resistor, MOSFETs, etc.) to an already-configured DriverConfig. This should be called after motor configuration.

Uses ConfigBuilder internally for improved readability and maintainability.

Parameters
[in,out]cfgDriverConfig structure (must be configured with motor settings first)
[in]board_typeBoard type to use (compile-time constant)
Note
This function configures:
  • Sense resistor (for current calculation)
  • Power stage MOSFET characteristics
  • Short protection defaults
  • Clock frequency
Supply voltage is motor-specific and should be set from MotorConfig, not BoardConfig.
Here is the call graph for this function:

◆ ApplyPlatformConfig()

template<PlatformType platform_type>
void tmc51x0_test_config::ApplyPlatformConfig ( tmc51x0::DriverConfig & cfg)
inlinenoexcept

Helper function to apply platform configuration to DriverConfig.

Applies platform-specific configuration (mechanical system) to an already-configured DriverConfig. This should be called after motor configuration.

Uses ConfigBuilder internally for improved readability and maintainability.

Parameters
[in,out]cfgDriverConfig structure (must be configured with motor settings first)
[in]platform_typePlatform type to use (compile-time constant)
Note
This function configures:
  • Mechanical system (system type, lead screw pitch, belt parameters)
Gear ratio is set from motor config (motor-specific). Reference switches and encoder are configured separately via driver methods after initialization.
Here is the call graph for this function:

◆ ConfigureDriverFromMotor_17HS4401S_Direct()

void tmc51x0_test_config::ConfigureDriverFromMotor_17HS4401S_Direct ( tmc51x0::DriverConfig & cfg)
inlinenoexcept

Helper function to populate DriverConfig from 17HS4401S direct drive motor configuration.

Configures motor-specific parameters only. Board and platform configuration should be applied separately via ApplyBoardConfig() and ApplyPlatformConfig().

Uses ConfigBuilder internally for improved readability and maintainability.

Parameters
[out]cfgDriverConfig structure to populate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConfigureDriverFromMotor_17HS4401S_Gearbox()

void tmc51x0_test_config::ConfigureDriverFromMotor_17HS4401S_Gearbox ( tmc51x0::DriverConfig & cfg)
inlinenoexcept

Helper function to populate DriverConfig from 17HS4401S gearbox motor configuration.

Configures motor-specific parameters only. Board and platform configuration should be applied separately via ApplyBoardConfig() and ApplyPlatformConfig().

Uses ConfigBuilder internally for improved readability and maintainability.

Parameters
[out]cfgDriverConfig structure to populate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConfigureDriverFromMotor_AppliedMotion_5034()

void tmc51x0_test_config::ConfigureDriverFromMotor_AppliedMotion_5034 ( tmc51x0::DriverConfig & cfg)
inlinenoexcept

Helper function to populate DriverConfig from Applied Motion 5034 motor configuration.

Configures motor-specific parameters only. Board and platform configuration should be applied separately via ApplyBoardConfig() and ApplyPlatformConfig().

Uses ConfigBuilder internally for improved readability and maintainability.

Parameters
[out]cfgDriverConfig structure to populate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConfigureDriverFromTestRig()

template<TestRigType test_rig>
void tmc51x0_test_config::ConfigureDriverFromTestRig ( tmc51x0::DriverConfig & cfg,
bool use_direct_drive = false )
inlinenoexcept

Configure driver from test rig selection.

This is a convenience function that automatically configures motor, board, platform, reference switches, and encoder based on the test rig selection. For Core Driver rig, defaults to gearbox motor.

Parameters
[out]cfgDriverConfig structure to populate
[in]test_rigTest rig type (compile-time constant)
[in]use_direct_driveFor Core Driver rig only: true = direct drive motor, false = gearbox motor (default)

◆ GetDefaultPinConfig()

Esp32SpiPinConfig tmc51x0_test_config::GetDefaultPinConfig ( )
inlinenoexcept

Complete pin configuration for all tests.

This structure includes both SPI pins and TMC51x0 control pins, allowing all GPIO assignments to be managed in one place. Use this with the Esp32SPI constructor that takes Esp32SpiPinConfig.

Here is the caller graph for this function:

◆ GetEncoderConfig()

template<PlatformType platform_type>
tmc51x0::EncoderConfig tmc51x0_test_config::GetEncoderConfig ( )
inlinenoexcept

Helper function to configure encoder from platform config.

Creates an EncoderConfig structure from platform configuration. This can be used after driver initialization to configure encoder.

Parameters
[in]platform_typePlatform type to use (compile-time constant)
Returns
EncoderConfig structure configured from selected platform

◆ GetEncoderInvertDirection()

template<PlatformType platform_type>
bool tmc51x0_test_config::GetEncoderInvertDirection ( )
inlinenoexcept

Helper function to get encoder invert direction flag from platform config.

Parameters
[in]platform_typePlatform type to use (compile-time constant)
Returns
true if encoder direction should be inverted

◆ GetEncoderPulsesPerRev()

template<PlatformType platform_type>
constexpr uint16_t tmc51x0_test_config::GetEncoderPulsesPerRev ( )
constexprnoexcept

Helper function to get encoder pulses per revolution from platform config.

Parameters
[in]platform_typePlatform type to use (compile-time constant)
Returns
Encoder pulses per revolution

◆ GetReferenceSwitchConfig()

template<PlatformType platform_type>
tmc51x0::ReferenceSwitchConfig tmc51x0_test_config::GetReferenceSwitchConfig ( )
inlinenoexcept

Helper function to configure reference switches from platform config.

Creates a ReferenceSwitchConfig structure from platform configuration. This can be used after driver initialization to configure reference switches.

Parameters
[in]platform_typePlatform type to use (compile-time constant)
Returns
ReferenceSwitchConfig structure configured from selected platform

◆ GetTestRigBoardType()

template<TestRigType test_rig>
constexpr BoardType tmc51x0_test_config::GetTestRigBoardType ( )
constexprnoexcept

Get board type for a given test rig.

Parameters
[in]test_rigTest rig type
Returns
Board type for the test rig

◆ GetTestRigEncoderConfig()

template<TestRigType test_rig>
tmc51x0::EncoderConfig tmc51x0_test_config::GetTestRigEncoderConfig ( )
inlinenoexcept

Get encoder configuration for a test rig.

Convenience function that automatically selects the platform and returns encoder config.

Parameters
[in]test_rigTest rig type (compile-time constant)
Returns
EncoderConfig structure configured from selected test rig

◆ GetTestRigEncoderInvertDirection()

template<TestRigType test_rig>
bool tmc51x0_test_config::GetTestRigEncoderInvertDirection ( )
inlinenoexcept

Get encoder invert direction flag for a test rig.

Parameters
[in]test_rigTest rig type (compile-time constant)
Returns
true if encoder direction should be inverted

◆ GetTestRigEncoderPulsesPerRev()

template<TestRigType test_rig>
constexpr uint16_t tmc51x0_test_config::GetTestRigEncoderPulsesPerRev ( )
constexprnoexcept

Get encoder pulses per revolution for a test rig.

Parameters
[in]test_rigTest rig type (compile-time constant)
Returns
Encoder pulses per revolution

◆ GetTestRigMotorOutputFullSteps()

template<TestRigType test_rig>
constexpr uint16_t tmc51x0_test_config::GetTestRigMotorOutputFullSteps ( bool use_direct_drive = false)
constexprnoexcept

Get motor output full steps per revolution for a test rig.

Returns the number of full steps per revolution at the output shaft (accounting for gearbox if present).

Parameters
[in]test_rigTest rig type (compile-time constant)
[in]use_direct_driveFor Core Driver rig only: true = direct drive motor, false = gearbox motor (default)
Returns
Output full steps per revolution
Note
This function now delegates to TestRigConfig::GetMotorOutputFullSteps() for consistency.

◆ GetTestRigMotorType()

template<TestRigType test_rig>
constexpr MotorType tmc51x0_test_config::GetTestRigMotorType ( )
constexprnoexcept

Get motor type for a given test rig.

Parameters
[in]test_rigTest rig type
Returns
Motor type for the test rig

◆ GetTestRigPlatformType()

template<TestRigType test_rig>
constexpr PlatformType tmc51x0_test_config::GetTestRigPlatformType ( )
constexprnoexcept

Get platform type for a given test rig.

Parameters
[in]test_rigTest rig type
Returns
Platform type for the test rig

◆ GetTestRigReferenceSwitchConfig()

template<TestRigType test_rig>
tmc51x0::ReferenceSwitchConfig tmc51x0_test_config::GetTestRigReferenceSwitchConfig ( )
inlinenoexcept

Get reference switch configuration for a test rig.

Convenience function that automatically selects the platform and returns reference switch config.

Parameters
[in]test_rigTest rig type (compile-time constant)
Returns
ReferenceSwitchConfig structure configured from selected test rig

Variable Documentation

◆ CLK

constexpr gpio_num_t tmc51x0_test_config::CLK = GPIO_NUM_10
constexpr

Clock input pin (CLK, pin 12)

◆ DIAG0

constexpr gpio_num_t tmc51x0_test_config::DIAG0 = GPIO_NUM_23
constexpr

Diagnostic output 0 (DIAG0_SWN, pin 26)

◆ DIAG1

constexpr gpio_num_t tmc51x0_test_config::DIAG1 = GPIO_NUM_15
constexpr

Diagnostic output 1 (DIAG1_SWP, pin 27)

◆ DIR

constexpr gpio_num_t tmc51x0_test_config::DIR = static_cast<gpio_num_t>(-1)
constexpr

Direction pin (optional)

◆ DRV_EN

constexpr gpio_num_t tmc51x0_test_config::DRV_EN = GPIO_NUM_11
constexpr

Driver enable pin (DRV_ENN)

◆ SD_MODE_PIN

constexpr gpio_num_t tmc51x0_test_config::SD_MODE_PIN = GPIO_NUM_1
constexpr

SD_MODE pin (pin 21) - GPIO1 if available as control pin.

◆ SPI_CLOCK_SPEED_HZ

constexpr uint32_t tmc51x0_test_config::SPI_CLOCK_SPEED_HZ = 500000
constexpr

SPI clock speed.

◆ SPI_CS

constexpr gpio_num_t tmc51x0_test_config::SPI_CS = GPIO_NUM_18
constexpr

SPI chip select pin.

◆ SPI_HOST

constexpr spi_host_device_t tmc51x0_test_config::SPI_HOST = SPI2_HOST
constexpr

SPI host device.

◆ SPI_MISO

constexpr gpio_num_t tmc51x0_test_config::SPI_MISO = GPIO_NUM_2
constexpr

SPI MISO (master in, slave out)

◆ SPI_MODE_PIN

constexpr gpio_num_t tmc51x0_test_config::SPI_MODE_PIN = GPIO_NUM_0
constexpr

SPI_MODE pin (pin 22) - GPIO0 if available as control pin.

◆ SPI_MOSI

constexpr gpio_num_t tmc51x0_test_config::SPI_MOSI = GPIO_NUM_6
constexpr

SPI MOSI (master out, slave in)

◆ SPI_SCK

constexpr gpio_num_t tmc51x0_test_config::SPI_SCK = GPIO_NUM_5
constexpr

SPI clock pin.

◆ STEP

constexpr gpio_num_t tmc51x0_test_config::STEP = static_cast<gpio_num_t>(-1)
constexpr

Step pin (optional)