I have a BTT Octopus Pro with the TMC5160 HV steppers and an FYSETC Mini12864 display and I’m having some issues getting them to work together with hardware spi.
[tmc5160 stepper_z]
cs_pin: MOTOR2_CS # PC6
spi_bus: spi1
sense_resistor: 0.075
interpolate: true
run_current: 0.8
hold_current: 0.8
stealthchop_threshold: 0
[display]
lcd_type: uc1701
cs_pin: EXP1_3
a0_pin: EXP1_4
rst_pin: EXP1_5
encoder_pins: ^EXP2_5, ^EXP2_3
click_pin: ^!EXP1_2
contrast: 63
spi_bus: spi1
I don’t even need the display section configured but just have the display plugged into EXP1 and EXP2 (actually just EXP2 is all that’s needed to have the issue). When I attempt to move the steppers, I get Unable to write tmc spi 'stepper_z' register GLOBALSCALER
Now, leaving everything wired up the exact same and just reconfigure as software spi:
[tmc5160 stepper_z]
cs_pin: MOTOR2_CS # PC6
spi_software_miso_pin: EXP2_1
spi_software_mosi_pin: EXP2_6
spi_software_sclk_pin: EXP2_2
sense_resistor: 0.075
interpolate: true
run_current: 0.8
hold_current: 0.8
stealthchop_threshold: 0
[display]
lcd_type: uc1701
cs_pin: EXP1_3
a0_pin: EXP1_4
rst_pin: EXP1_5
encoder_pins: ^EXP2_5, ^EXP2_3
click_pin: ^!EXP1_2
contrast: 63
spi_software_miso_pin: EXP2_1
spi_software_mosi_pin: EXP2_6
spi_software_sclk_pin: EXP2_2
It works. The display turns on, I see text on the display and I can move the steppers.
So for some reason, the hardware spi doesn’t like it when the display is plugged in. Is this a hardware problem or something in klipper? Using software spi everything just works.
From a performance/system point of view, whats the difference between hardware and software spi?