Cartographer V3/V4: Reverse engineering

I’ve asked, Richard gave me the V4 pins.
Great kudos to Richard.

It is to be tested, written from what I can guess from pins and configs above:

Katapult USB/CAN Example
    Micro-controller Architecture (STMicroelectronics STM32)  --->
    Processor model (STM32G431)  --->
    Build Katapult deployment application (Do not build)  --->
    Clock Reference (24 MHz crystal)  --->
    Communication interface (USB (on PA11/PA12))  --->
    Application start offset (8KiB offset)  --->
    USB ids  --->
()  GPIO pins to set on bootloader entry
[*] Support bootloader entry on rapid double click of reset button
[ ] Enable bootloader entry on button (or gpio) state
[*] Enable Status LED
(PA15)  Status LED GPIO Pin
    Micro-controller Architecture (STMicroelectronics STM32)  --->
    Processor model (STM32G431)  --->
    Build Katapult deployment application (Do not build)  --->
    Clock Reference (24 MHz crystal)  --->
    Communication interface (CAN bus (on PA11/PA12))  --->
    Application start offset (8KiB offset)  --->
(1000000) CAN bus speed
(PA3) GPIO pins to set on bootloader entry
[*] Support bootloader entry on rapid double click of reset button
[ ] Enable bootloader entry on button (or gpio) state
[*] Enable Status LED
(PA15)  Status LED GPIO Pin
Klipper USB/CAN Example
[*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32)  --->
    Processor model (STM32G431)  --->
    Bootloader offset (8KiB bootloader)  --->
    Clock Reference (24 MHz crystal)  --->
    Communication interface (USB (on PA11/PA12))  --->
    USB ids  --->
[*] Optimize stepper code for 'step on both edges'
()  GPIO pins to set at micro-controller startup (NEW)
[*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32)  --->
    Processor model (STM32G431)  --->
    Bootloader offset (8KiB bootloader)  --->
    Clock Reference (24 MHz crystal)  --->
    Communication interface (CAN bus (on PA11/PA12))  --->
(1000000) CAN bus speed
[*] Optimize stepper code for 'step on both edges'
(PA3) GPIO pins to set at micro-controller startup
Config Example
[mcu carto]
#serial: /dev/serial/by-id/usb-Klipper_stm32g431_29000380114330394D363620-if00
#canbus_uuid: 92cf532ef122

[adxl345 carto]
cs_pin: carto:PA0
spi_bus:spi1_PA6_PA7_PA5
# spi_software_miso_pin: PA6
# spi_software_mosi_pin: PA7
# spi_software_sclk_pin: PA5

[thermistor 50k]
temperature1: 25
resistance1: 50000
temperature2: 50
resistance2: 17940
temperature3: 100
resistance3: 3090

[temperature_probe carto]
pullup_resistor: 10000
sensor_type: 50k
sensor_pin: carto:PA4
min_temp: 0
max_temp: 125

[led carto_led]
white_pin: carto:PA15
cycle_time: 0.01
initial_WHITE: 0.03

[output_pin _LDC1612_en]
pin: carto:PB4
value: 0 # enable

[static_pwm_clock ldc1612_clk_in]
pin: carto:PB6 # Missing in mainline
frequency: 21250000 # Should work, but looks suboptimal

[probe_eddy_current carto]
sensor_type: ldc1612
frequency: 21250000
x_offset: 0
y_offset: -10
z_offset: 3
i2c_address: 42
i2c_mcu: carto
i2c_bus: i2c2_PA9_PA8
intb_pin: carto:PB5

PR: stm32: define hard pwm PB pins for stm32g4 by nefelim4ag · Pull Request #7175 · Klipper3d/klipper · GitHub

2 Likes