HF-TMC9660 Driver 0.1.0-dev
Hardware Agnostic C++ Driver for the TMC9660
Loading...
Searching...
No Matches
tmc9660::bootaddr Namespace Reference

Bootloader configuration register addresses. More...

Variables

constexpr uint32_t BASE = 0x00020000
 Base offset of the configuration registers inside bank 5.
 
constexpr uint32_t LDO_CONFIG = BASE + 0x00
 LDO configuration register address.
 
constexpr uint32_t UART_ADDR = BASE + 0x02
 UART device/host address register.
 
constexpr uint32_t RS485_DELAY = BASE + 0x04
 RS485 TXEN delay configuration register.
 
constexpr uint32_t COMM_CONFIG = BASE + 0x06
 Communication interface selection register.
 
constexpr uint32_t BOOT_CONFIG = BASE + 0x08
 Boot configuration register.
 
constexpr uint32_t SPI_FLASH = BASE + 0x0A
 SPI flash configuration register.
 
constexpr uint32_t I2C_CONFIG = BASE + 0x0C
 I2C EEPROM configuration register.
 
constexpr uint32_t GPIO_OUT = BASE + 0x0E
 GPIO output level register.
 
constexpr uint32_t GPIO_DIR = BASE + 0x10
 GPIO direction register.
 
constexpr uint32_t GPIO_PU = BASE + 0x12
 GPIO pull-up enable register.
 
constexpr uint32_t GPIO_PD = BASE + 0x14
 GPIO pull-down enable register.
 
constexpr uint32_t GPIO_EXT = BASE + 0x16
 GPIO extended configuration register.
 
constexpr uint32_t CLOCK_CONFIG = BASE + 0x18
 Clock configuration register.
 
constexpr uint32_t HALL_CONFIG = BASE + 0x20
 Hall encoder configuration register.
 
constexpr uint32_t ABN1_CONFIG = BASE + 0x20
 ABN encoder 1 configuration register.
 
constexpr uint32_t ABN2_CONFIG = BASE + 0x22
 ABN encoder 2 configuration register.
 
constexpr uint32_t REF_CONFIG = BASE + 0x22
 Reference switches configuration register.
 
constexpr uint32_t STEPDIR_CONFIG = BASE + 0x22
 Step/Direction interface configuration register.
 
constexpr uint32_t SPI_ENC_CONFIG = BASE + 0x26
 SPI encoder configuration register.
 
constexpr uint32_t MECH_BRAKE_CONFIG = BASE + 0x24
 Mechanical brake configuration register.
 
constexpr uint32_t BRAKECHOPPER_CONFIG = BASE + 0x24
 Brake chopper configuration register.
 
constexpr uint32_t MEM_STORAGE_CONFIG = BASE + 0x28
 External memory storage selection register.
 

Detailed Description

Bootloader configuration register addresses.

This namespace contains the memory addresses for all bootloader configuration registers within bank 5 (CONFIG memory bank). These addresses are used to configure the TMC9660's bootloader behavior and hardware settings.

Variable Documentation

◆ ABN1_CONFIG

constexpr uint32_t tmc9660::bootaddr::ABN1_CONFIG = BASE + 0x20
constexpr

ABN encoder 1 configuration register.

Configures ABN encoder 1 pins and enable settings for incremental encoder feedback. This register is shared with Hall encoder configuration at offset 0x20.

◆ ABN2_CONFIG

constexpr uint32_t tmc9660::bootaddr::ABN2_CONFIG = BASE + 0x22
constexpr

ABN encoder 2 configuration register.

Configures ABN encoder 2 pins and enable settings for second incremental encoder. This register is shared with reference switches and step/direction at offset 0x22.

◆ BASE

constexpr uint32_t tmc9660::bootaddr::BASE = 0x00020000
constexpr

Base offset of the configuration registers inside bank 5.

All bootloader configuration registers are located in memory bank 5, starting at this base address.

◆ BOOT_CONFIG

constexpr uint32_t tmc9660::bootaddr::BOOT_CONFIG = BASE + 0x08
constexpr

Boot configuration register.

Controls the bootloader behavior including boot mode selection, motor control startup, and fault handling options.

Warning
CRITICAL: Write this register LAST with START_MOTOR_CTRL=1 to exit bootloader!

◆ BRAKECHOPPER_CONFIG

constexpr uint32_t tmc9660::bootaddr::BRAKECHOPPER_CONFIG = BASE + 0x24
constexpr

Brake chopper configuration register.

Configures brake chopper output pin and enable settings for dynamic braking. This register is shared with mechanical brake at offset 0x24.

◆ CLOCK_CONFIG

constexpr uint32_t tmc9660::bootaddr::CLOCK_CONFIG = BASE + 0x18
constexpr

Clock configuration register.

Configures the system clock source, PLL settings, and frequency dividers for optimal performance.

◆ COMM_CONFIG

constexpr uint32_t tmc9660::bootaddr::COMM_CONFIG = BASE + 0x06
constexpr

Communication interface selection register.

Configures which communication interfaces are enabled (UART/SPI/RS485) and their associated pin assignments and parameters.

◆ GPIO_DIR

constexpr uint32_t tmc9660::bootaddr::GPIO_DIR = BASE + 0x10
constexpr

GPIO direction register.

Configures GPIO pins 0-15 as inputs or outputs during bootloader operation.

◆ GPIO_EXT

constexpr uint32_t tmc9660::bootaddr::GPIO_EXT = BASE + 0x16
constexpr

GPIO extended configuration register.

Configures GPIO pins 16-18 and analog GPIOs 2-5, including output levels, directions, and pull settings.

◆ GPIO_OUT

constexpr uint32_t tmc9660::bootaddr::GPIO_OUT = BASE + 0x0E
constexpr

GPIO output level register.

Sets the initial output levels for GPIO pins 0-15 during bootloader operation.

◆ GPIO_PD

constexpr uint32_t tmc9660::bootaddr::GPIO_PD = BASE + 0x14
constexpr

GPIO pull-down enable register.

Enables internal pull-down resistors for GPIO pins 0-15 during bootloader operation.

◆ GPIO_PU

constexpr uint32_t tmc9660::bootaddr::GPIO_PU = BASE + 0x12
constexpr

GPIO pull-up enable register.

Enables internal pull-up resistors for GPIO pins 0-15 during bootloader operation.

◆ HALL_CONFIG

constexpr uint32_t tmc9660::bootaddr::HALL_CONFIG = BASE + 0x20
constexpr

Hall encoder configuration register.

Configures Hall sensor pins and enable settings for BLDC motor feedback. This register is shared with ABN1 configuration at offset 0x20.

◆ I2C_CONFIG

constexpr uint32_t tmc9660::bootaddr::I2C_CONFIG = BASE + 0x0C
constexpr

I2C EEPROM configuration register.

Configures external I2C EEPROM interface including pin assignments, address bits, and communication frequency.

◆ LDO_CONFIG

constexpr uint32_t tmc9660::bootaddr::LDO_CONFIG = BASE + 0x00
constexpr

LDO configuration register address.

Configures the on-chip LDO regulators for VEXT1 and VEXT2 outputs, including voltage levels, slope control, and fault detection.

◆ MECH_BRAKE_CONFIG

constexpr uint32_t tmc9660::bootaddr::MECH_BRAKE_CONFIG = BASE + 0x24
constexpr

Mechanical brake configuration register.

Configures mechanical brake output pin and enable settings. This register is shared with brake chopper at offset 0x24.

◆ MEM_STORAGE_CONFIG

constexpr uint32_t tmc9660::bootaddr::MEM_STORAGE_CONFIG = BASE + 0x28
constexpr

External memory storage selection register.

Configures which external memory types are used for storing TMCL scripts and parameter data.

◆ REF_CONFIG

constexpr uint32_t tmc9660::bootaddr::REF_CONFIG = BASE + 0x22
constexpr

Reference switches configuration register.

Configures reference switch pins for limit detection and homing. This register is shared with ABN2 and step/direction at offset 0x22.

◆ RS485_DELAY

constexpr uint32_t tmc9660::bootaddr::RS485_DELAY = BASE + 0x04
constexpr

RS485 TXEN delay configuration register.

Configures the timing delays for RS485 transmit enable signal to ensure proper half-duplex communication.

◆ SPI_ENC_CONFIG

constexpr uint32_t tmc9660::bootaddr::SPI_ENC_CONFIG = BASE + 0x26
constexpr

SPI encoder configuration register.

Configures SPI encoder interface including block selection, communication mode, frequency, and chip select settings.

◆ SPI_FLASH

constexpr uint32_t tmc9660::bootaddr::SPI_FLASH = BASE + 0x0A
constexpr

SPI flash configuration register.

Configures external SPI flash memory interface including chip select pin, frequency divider, and enable settings.

◆ STEPDIR_CONFIG

constexpr uint32_t tmc9660::bootaddr::STEPDIR_CONFIG = BASE + 0x22
constexpr

Step/Direction interface configuration register.

Configures step and direction pins for stepper motor control. This register is shared with ABN2 and reference switches at offset 0x22.

◆ UART_ADDR

constexpr uint32_t tmc9660::bootaddr::UART_ADDR = BASE + 0x02
constexpr

UART device/host address register.

Configures the UART communication addresses for device and host identification in multi-device systems.