556constexpr uint32_t
BASE = 0x00020000;
constexpr uint32_t MEM_STORAGE_CONFIG
External memory storage selection register.
Definition bootloader_config.hpp:734
constexpr uint32_t BASE
Base offset of the configuration registers inside bank 5.
Definition bootloader_config.hpp:556
constexpr uint32_t UART_ADDR
UART device/host address register.
Definition bootloader_config.hpp:572
constexpr uint32_t MECH_BRAKE_CONFIG
Mechanical brake configuration register.
Definition bootloader_config.hpp:718
constexpr uint32_t GPIO_DIR
GPIO direction register.
Definition bootloader_config.hpp:630
constexpr uint32_t BRAKECHOPPER_CONFIG
Brake chopper configuration register.
Definition bootloader_config.hpp:726
constexpr uint32_t STEPDIR_CONFIG
Step/Direction interface configuration register.
Definition bootloader_config.hpp:702
constexpr uint32_t SPI_FLASH
SPI flash configuration register.
Definition bootloader_config.hpp:606
constexpr uint32_t HALL_CONFIG
Hall encoder configuration register.
Definition bootloader_config.hpp:670
constexpr uint32_t CLOCK_CONFIG
Clock configuration register.
Definition bootloader_config.hpp:662
constexpr uint32_t BOOT_CONFIG
Boot configuration register.
Definition bootloader_config.hpp:598
constexpr uint32_t REF_CONFIG
Reference switches configuration register.
Definition bootloader_config.hpp:694
constexpr uint32_t GPIO_PU
GPIO pull-up enable register.
Definition bootloader_config.hpp:638
constexpr uint32_t ABN2_CONFIG
ABN encoder 2 configuration register.
Definition bootloader_config.hpp:686
constexpr uint32_t GPIO_EXT
GPIO extended configuration register.
Definition bootloader_config.hpp:654
constexpr uint32_t I2C_CONFIG
I2C EEPROM configuration register.
Definition bootloader_config.hpp:614
constexpr uint32_t COMM_CONFIG
Communication interface selection register.
Definition bootloader_config.hpp:588
constexpr uint32_t SPI_ENC_CONFIG
SPI encoder configuration register.
Definition bootloader_config.hpp:710
constexpr uint32_t RS485_DELAY
RS485 TXEN delay configuration register.
Definition bootloader_config.hpp:580
constexpr uint32_t GPIO_PD
GPIO pull-down enable register.
Definition bootloader_config.hpp:646
constexpr uint32_t LDO_CONFIG
LDO configuration register address.
Definition bootloader_config.hpp:564
constexpr uint32_t ABN1_CONFIG
ABN encoder 1 configuration register.
Definition bootloader_config.hpp:678
constexpr uint32_t GPIO_OUT
GPIO output level register.
Definition bootloader_config.hpp:622
HallVPin
Hall encoder V-phase pin selection for BLDC motor feedback.
Definition bootloader_config.hpp:272
@ GPIO15
Use GPIO15 for Hall V-phase.
@ GPIO3
Use GPIO3 for Hall V-phase (default)
HallUPin
Hall encoder U-phase pin selection for BLDC motor feedback.
Definition bootloader_config.hpp:260
@ GPIO9
Use GPIO9 for Hall U-phase.
@ GPIO2
Use GPIO2 for Hall U-phase (default)
SysClkSource
System clock source selection after initial oscillator.
Definition bootloader_config.hpp:238
@ IntOsc
Use internal oscillator directly (lower power, fixed frequency)
@ PLL
Use PLL for frequency multiplication (higher performance, configurable)
SPIFlashFreq
SPI flash frequency divider configuration.
Definition bootloader_config.hpp:154
@ Div1
No division (fastest, may be unreliable)
@ Div4
Divide by 4 (slowest, most reliable)
@ Div2
Divide by 2 (medium speed)
I2CSclPin
I2C clock pin selection for external EEPROM communication.
Definition bootloader_config.hpp:178
@ GPIO4
Use GPIO4 for I2C SCL (default)
@ GPIO12
Use GPIO12 for I2C SCL.
@ GPIO13
Use GPIO13 for I2C SCL.
I2CFreq
I2C communication frequency configuration.
Definition bootloader_config.hpp:190
@ Freq800k
800 kHz (high speed mode, fastest)
@ Freq100k
100 kHz (standard mode, most compatible)
@ Freq400k
400 kHz (fast mode plus)
@ Freq200k
200 kHz (fast mode)
ClockSource
System clock source selection.
Definition bootloader_config.hpp:203
@ Internal
Use internal oscillator (default, no external components needed)
@ External
Use external clock source (requires external crystal/oscillator)
SPIEncBlock
SPI encoder interface block selection.
Definition bootloader_config.hpp:416
@ SPI0
Use SPI interface 0 for encoder communication.
RefLPin
Reference switch left pin selection for limit switch detection.
Definition bootloader_config.hpp:354
@ Disabled
No left reference switch (disabled)
LDOSlope
LDO output slope control for power-up characteristics.
Definition bootloader_config.hpp:50
@ Slope0_37ms
0.37ms rise time (fastest, highest inrush current)
@ Slope1_5ms
1.5ms rise time
@ Slope3ms
3ms rise time (slowest, lowest inrush current)
@ Slope0_75ms
0.75ms rise time
HallWPin
Hall encoder W-phase pin selection for BLDC motor feedback.
Definition bootloader_config.hpp:283
@ GPIO4
Use GPIO4 for Hall W-phase (default)
@ GPIO10
Use GPIO10 for Hall W-phase.
SPIEncMode
SPI encoder communication mode configuration.
Definition bootloader_config.hpp:427
@ Mode2
SPI Mode 2 (CPOL=1, CPHA=0)
@ Mode0
SPI Mode 0 (CPOL=0, CPHA=0)
@ Mode1
SPI Mode 1 (CPOL=0, CPHA=1)
@ Mode3
SPI Mode 3 (CPOL=1, CPHA=1)
StepPin
Step pin selection for step/direction interface.
Definition bootloader_config.hpp:393
@ GPIO7
Use GPIO7 for step signal (default)
ABN1APin
ABN encoder 1 A-phase pin selection for incremental encoder feedback.
Definition bootloader_config.hpp:295
@ GPIO5
Use GPIO5 for ABN1 A-phase (default)
@ GPIO17
Use GPIO17 for ABN1 A-phase.
SPIEncCSPin
SPI encoder chip select pin selection.
Definition bootloader_config.hpp:465
@ GPIO8
Use GPIO8 for SPI0 encoder CS.
@ GPIO15_SPI1
Use GPIO15 for SPI1 encoder CS.
LDOVoltage
Enumerations describing bootloader configuration options.
Definition bootloader_config.hpp:37
@ V5_0
5.0V output voltage
@ Disabled
LDO output disabled.
@ V2_5
2.5V output voltage
@ V3_3
3.3V output voltage
BootMode
Boot mode selection for motor control system startup.
Definition bootloader_config.hpp:63
@ Register
Register mode - direct register access for motor control.
@ Parameter
Parameter mode - TMCL command-based motor control (recommended)
UartRxPin
UART receive pin selection for bootloader communication.
Definition bootloader_config.hpp:73
@ GPIO1
Use GPIO1 for UART RX (alternative)
@ GPIO7
Use GPIO7 for UART RX (default)
RefHPin
Reference switch home pin selection for home position detection.
Definition bootloader_config.hpp:379
@ Disabled
No home reference switch (disabled)
SPI0SckPin
SPI0 clock pin selection for bootloader communication.
Definition bootloader_config.hpp:143
@ GPIO11
Use GPIO11 for SPI0 SCK (alternative)
@ GPIO6
Use GPIO6 for SPI0 SCK (default)
SPIEncFreq
SPI encoder clock frequency divider configuration.
Definition bootloader_config.hpp:440
@ Div4
Divide by 4 (fastest)
@ Div19
Divide by 19 (slowest, most reliable)
SPIEncCSPol
SPI encoder chip select polarity configuration.
Definition bootloader_config.hpp:481
@ ActiveLow
Chip select active low (CS low = selected, most common)
@ ActiveHigh
Chip select active high (CS high = selected)
UartTxPin
UART transmit pin selection for bootloader communication.
Definition bootloader_config.hpp:83
@ GPIO6
Use GPIO6 for UART TX (default)
@ GPIO0
Use GPIO0 for UART TX (alternative)
SysClkDiv
System clock divider configuration.
Definition bootloader_config.hpp:249
@ Div1
No division (40 MHz system clock)
@ Div15MHz
Divide by 3 (15 MHz system clock, lower power)
ExtSourceType
External clock source type configuration.
Definition bootloader_config.hpp:214
@ Oscillator
External crystal oscillator (requires external crystal)
@ Clock
External clock signal (digital clock input)
ABN2APin
ABN encoder 2 A-phase pin selection for second incremental encoder.
Definition bootloader_config.hpp:331
@ GPIO6
Use GPIO6 for ABN2 A-phase (default)
XtalDrive
Crystal drive strength configuration for external oscillators.
Definition bootloader_config.hpp:225
@ Freq8MHz
8 MHz crystal drive strength
@ Freq32MHz
32 MHz crystal drive strength (highest frequency)
@ Freq24MHz
24 MHz crystal drive strength
@ Freq16MHz
16 MHz crystal drive strength (recommended)
BaudRate
UART baud rate configuration for bootloader communication.
Definition bootloader_config.hpp:94
@ BR1000000
1000000 baud (1 Mbps, fastest)
@ BR115200
115200 baud (recommended for most applications)
@ Auto8x
Auto-detect with 8x oversampling.
@ Auto16x
Auto-detect with 16x oversampling (most robust)
@ BR9600
9600 baud (slowest, most reliable)
MechBrakeOutput
Mechanical brake output pin selection.
Definition bootloader_config.hpp:492
@ Y2_LS
Use Y2_LS (low-side output) for mechanical brake control.
@ GPIO8
Use GPIO8 for mechanical brake control.
RefRPin
Reference switch right pin selection for limit switch detection.
Definition bootloader_config.hpp:367
@ Disabled
No right reference switch (disabled)
ABN1BPin
ABN encoder 1 B-phase pin selection for incremental encoder feedback.
Definition bootloader_config.hpp:307
@ GPIO1
Use GPIO1 for ABN1 B-phase (default)
@ GPIO18
Use GPIO18 for ABN1 B-phase.
I2CSdaPin
I2C data pin selection for external EEPROM communication.
Definition bootloader_config.hpp:166
@ GPIO5
Use GPIO5 for I2C SDA (default)
@ GPIO14
Use GPIO14 for I2C SDA.
RS485TxEnPin
RS485 transmit enable pin selection for half-duplex communication.
Definition bootloader_config.hpp:111
@ None
No RS485 TX enable pin (RS485 disabled)
@ GPIO8
Use GPIO8 for RS485 TX enable.
@ GPIO2
Use GPIO2 for RS485 TX enable.
DirPin
Direction pin selection for step/direction interface.
Definition bootloader_config.hpp:405
@ GPIO6
Use GPIO6 for direction signal (default)
SPIInterface
SPI interface selection for bootloader and flash communication.
Definition bootloader_config.hpp:132
@ SPI1
Physical SPI1 interface.
@ SPI0
Physical SPI0 interface.
MemStorage
External memory storage type selection.
Definition bootloader_config.hpp:534
@ SPIFlash
Use SPI flash memory for storage.
@ I2CEEPROM
Use I2C EEPROM for storage.
@ Disabled
No external memory (disabled)
ABN2BPin
ABN encoder 2 B-phase pin selection for second incremental encoder.
Definition bootloader_config.hpp:342
@ GPIO7
Use GPIO7 for ABN2 B-phase (default)
ABN1NPin
ABN encoder 1 index pin selection for incremental encoder feedback.
Definition bootloader_config.hpp:319
@ Disabled
No index pin (index signal not used)
@ GPIO16
Use GPIO16 for ABN1 index signal.
BrakeChopperOutput
Brake chopper output pin selection for dynamic braking.
Definition bootloader_config.hpp:505
@ Y2_HS
Use Y2_HS (high-side output) for brake chopper output.
@ GPIO0
Use GPIO0 for brake chopper output.
Definition bootloader_config.hpp:9
ABN encoder 1 configuration for incremental encoder feedback.
Definition bootloader_config.hpp:893
bootcfg::ABN1BPin b_pin
Definition bootloader_config.hpp:896
bootcfg::ABN1NPin n_pin
Definition bootloader_config.hpp:897
bool enable
Definition bootloader_config.hpp:894
bootcfg::ABN1APin a_pin
Definition bootloader_config.hpp:895
ABN encoder 2 configuration for second incremental encoder.
Definition bootloader_config.hpp:907
bool enable
Definition bootloader_config.hpp:908
bootcfg::ABN2APin a_pin
Definition bootloader_config.hpp:909
bootcfg::ABN2BPin b_pin
Definition bootloader_config.hpp:910
Bootloader behavior configuration structure.
Definition bootloader_config.hpp:758
bool start_motor_control
Start motor control after configuration (CRITICAL!)
Definition bootloader_config.hpp:765
bootcfg::BootMode boot_mode
Target boot mode (Register or Parameter)
Definition bootloader_config.hpp:759
bool bl_config_fault
Enable bootloader configuration fault detection.
Definition bootloader_config.hpp:764
bool bl_ready_fault
Enable bootloader ready fault detection.
Definition bootloader_config.hpp:761
bool disable_selftest
Disable power-on self-test.
Definition bootloader_config.hpp:763
bool bl_exit_fault
Enable bootloader exit fault detection.
Definition bootloader_config.hpp:762
Complete bootloader configuration structure.
Definition bootloader_config.hpp:998
ClockConfig clock
Definition bootloader_config.hpp:1006
MemStorageConfig memStorage
Definition bootloader_config.hpp:1016
HallConfig hall
Definition bootloader_config.hpp:1008
ABN1Config abn1
Definition bootloader_config.hpp:1009
BrakeChopperConfig brakeChopper
Definition bootloader_config.hpp:1015
ABN2Config abn2
Definition bootloader_config.hpp:1010
SPIFlashConfig spiFlash
Definition bootloader_config.hpp:1004
SPIBootConfig spiComm
Definition bootloader_config.hpp:1003
RefConfig ref
Definition bootloader_config.hpp:1011
UARTConfig uart
Definition bootloader_config.hpp:1001
BootConfig boot
Definition bootloader_config.hpp:1000
LDOConfig ldo
Definition bootloader_config.hpp:999
GPIOConfig gpio
Definition bootloader_config.hpp:1007
SPIEncConfig spiEnc
Definition bootloader_config.hpp:1013
I2CConfig i2c
Definition bootloader_config.hpp:1005
RS485Config rs485
Definition bootloader_config.hpp:1002
MechBrakeConfig mechBrake
Definition bootloader_config.hpp:1014
StepDirConfig stepDir
Definition bootloader_config.hpp:1012
Brake chopper configuration for dynamic braking.
Definition bootloader_config.hpp:974
bool enable
Definition bootloader_config.hpp:975
bootcfg::BrakeChopperOutput output_pin
Definition bootloader_config.hpp:976
System clock configuration structure.
Definition bootloader_config.hpp:843
bootcfg::SysClkDiv sysclk_div
System clock divider.
Definition bootloader_config.hpp:853
uint8_t rdiv
PLL reference divider.
Definition bootloader_config.hpp:852
bootcfg::ExtSourceType ext_source_type
External source type (crystal/clock)
Definition bootloader_config.hpp:846
bool xtal_boost
Enable crystal boost mode.
Definition bootloader_config.hpp:849
bootcfg::XtalDrive xtal_drive
Crystal drive strength.
Definition bootloader_config.hpp:848
bootcfg::SysClkSource pll_selection
System clock source (oscillator/PLL)
Definition bootloader_config.hpp:850
bootcfg::ClockSource use_external
Use external or internal clock source.
Definition bootloader_config.hpp:844
GPIO configuration structure for bootloader operation.
Definition bootloader_config.hpp:862
uint8_t directionMask_16_18
GPIO direction (output enable) for GPIOs 16-18 (3-bit mask)
Definition bootloader_config.hpp:866
uint16_t pullDownMask_0_15
GPIO pull-down enable for GPIOs 0-15 (16-bit mask)
Definition bootloader_config.hpp:869
uint16_t outputMask_0_15
GPIO output levels for GPIOs 0-15 (16-bit mask)
Definition bootloader_config.hpp:863
uint8_t pullUpMask_16_18
GPIO pull-up enable for GPIOs 16-18 (3-bit mask)
Definition bootloader_config.hpp:868
uint16_t directionMask_0_15
GPIO direction (output enable) for GPIOs 0-15 (16-bit mask)
Definition bootloader_config.hpp:865
uint16_t pullUpMask_0_15
GPIO pull-up enable for GPIOs 0-15 (16-bit mask)
Definition bootloader_config.hpp:867
uint8_t analogMask_2_5
GPIO analog enable for GPIOs 2-5 (4-bit mask)
Definition bootloader_config.hpp:871
uint8_t pullDownMask_16_18
GPIO pull-down enable for GPIOs 16-18 (3-bit mask)
Definition bootloader_config.hpp:870
uint8_t outputMask_16_18
GPIO output levels for GPIOs 16-18 (3-bit mask)
Definition bootloader_config.hpp:864
Hall encoder configuration for BLDC motor feedback.
Definition bootloader_config.hpp:880
bootcfg::HallWPin w_pin
Definition bootloader_config.hpp:884
bool enable
Definition bootloader_config.hpp:881
bootcfg::HallVPin v_pin
Definition bootloader_config.hpp:883
bootcfg::HallUPin u_pin
Definition bootloader_config.hpp:882
External I2C EEPROM configuration structure.
Definition bootloader_config.hpp:829
bootcfg::I2CFreq freq_code
I2C communication frequency.
Definition bootloader_config.hpp:834
bootcfg::I2CSdaPin sda_pin
I2C data pin selection.
Definition bootloader_config.hpp:831
bootcfg::I2CSclPin scl_pin
I2C clock pin selection.
Definition bootloader_config.hpp:832
bool enable_eeprom
Enable external I2C EEPROM interface.
Definition bootloader_config.hpp:830
uint8_t address_bits
I2C address bit configuration.
Definition bootloader_config.hpp:833
Configuration structure for on-chip LDO regulators.
Definition bootloader_config.hpp:744
bool ldo_short_fault
Enable LDO short-circuit fault detection.
Definition bootloader_config.hpp:749
bootcfg::LDOVoltage vext2
VEXT2 output voltage setting.
Definition bootloader_config.hpp:746
bootcfg::LDOSlope slope_vext1
VEXT1 power-up slope control.
Definition bootloader_config.hpp:747
bootcfg::LDOVoltage vext1
VEXT1 output voltage setting.
Definition bootloader_config.hpp:745
bootcfg::LDOSlope slope_vext2
VEXT2 power-up slope control.
Definition bootloader_config.hpp:748
Mechanical brake configuration for holding motor position.
Definition bootloader_config.hpp:962
bootcfg::MechBrakeOutput output_pin
Definition bootloader_config.hpp:964
bool enable
Definition bootloader_config.hpp:963
External memory storage configuration for TMCL scripts and parameters.
Definition bootloader_config.hpp:986
bootcfg::MemStorage parameters
Definition bootloader_config.hpp:988
bootcfg::MemStorage tmcl_script
Definition bootloader_config.hpp:987
RS485 transceiver configuration structure.
Definition bootloader_config.hpp:789
uint8_t txen_post_delay
Post-transmission delay (microseconds)
Definition bootloader_config.hpp:794
uint8_t txen_pre_delay
Pre-transmission delay (microseconds)
Definition bootloader_config.hpp:793
bootcfg::RS485TxEnPin txen_pin
RS485 transmit enable pin selection.
Definition bootloader_config.hpp:791
bool enable_rs485
Enable RS485 half-duplex mode.
Definition bootloader_config.hpp:790
Reference switches configuration for limit detection and homing.
Definition bootloader_config.hpp:920
bootcfg::RefHPin ref_h_pin
Definition bootloader_config.hpp:923
bootcfg::RefRPin ref_r_pin
Definition bootloader_config.hpp:922
bootcfg::RefLPin ref_l_pin
Definition bootloader_config.hpp:921
SPI interface configuration for bootloader commands.
Definition bootloader_config.hpp:803
bootcfg::SPI0SckPin spi0_sck_pin
SPI0 clock pin selection.
Definition bootloader_config.hpp:806
bool disable_spi
Disable SPI interface.
Definition bootloader_config.hpp:804
bootcfg::SPIInterface boot_spi_iface
SPI interface selection.
Definition bootloader_config.hpp:805
SPI encoder configuration for SPI-based position sensors.
Definition bootloader_config.hpp:946
bootcfg::SPIEncMode spi_mode
Definition bootloader_config.hpp:949
bool enable
Definition bootloader_config.hpp:947
bootcfg::SPIEncBlock spi_block
Definition bootloader_config.hpp:948
bootcfg::SPIEncCSPin cs_pin
Definition bootloader_config.hpp:951
bootcfg::SPIEncFreq spi_freq
Definition bootloader_config.hpp:950
bootcfg::SPIEncCSPol cs_polarity
Definition bootloader_config.hpp:952
External SPI flash memory configuration structure.
Definition bootloader_config.hpp:815
uint8_t cs_pin
Chip select pin for flash.
Definition bootloader_config.hpp:819
bootcfg::SPI0SckPin spi0_sck_pin
SPI0 clock pin for flash.
Definition bootloader_config.hpp:818
bootcfg::SPIFlashFreq freq_div
SPI clock frequency divider.
Definition bootloader_config.hpp:820
bootcfg::SPIInterface flash_spi_iface
SPI interface for flash.
Definition bootloader_config.hpp:817
bool enable_flash
Enable external SPI flash interface.
Definition bootloader_config.hpp:816
Step/Direction interface configuration for stepper motor control.
Definition bootloader_config.hpp:933
bool enable
Definition bootloader_config.hpp:934
bootcfg::DirPin dir_pin
Definition bootloader_config.hpp:936
bootcfg::StepPin step_pin
Definition bootloader_config.hpp:935
UART communication configuration structure.
Definition bootloader_config.hpp:774
uint8_t device_address
Device address for UART communication.
Definition bootloader_config.hpp:775
bootcfg::BaudRate baud_rate
UART baud rate setting.
Definition bootloader_config.hpp:780
uint8_t host_address
Host address for UART communication.
Definition bootloader_config.hpp:776
bool disable_uart
Disable UART interface.
Definition bootloader_config.hpp:777
bootcfg::UartTxPin tx_pin
UART transmit pin selection.
Definition bootloader_config.hpp:779
bootcfg::UartRxPin rx_pin
UART receive pin selection.
Definition bootloader_config.hpp:778