Klipper: Feature Request - Software SPI

Created on 30 Aug 2018  路  13Comments  路  Source: KevinOConnor/klipper

Is it possible to get the ability to use software spi rather then hardware on a ramps/mega setup with TMC drivers. This would help many Marlin converts not have to rewire their setup.

Most helpful comment

FYI, software spi should now be implemented.

-Kevin

All 13 comments

It's certainly possible to implement this. It's not something I plan to work on. All the popular boards use the standard SPI ports and I can't think of any reason a user would want to use non-standard ports.

-Kevin

One more note; as my previous on the TMC2660 post: You may start seeing a lot more of these as the current and next generation of Duet boards becomes more widespread.

~david@m3d

It could be useful for makerbot mightyboard. It uses soft spi to talk to thermocouple via MAX6675
I'm even thinking about implementing it myself but not exactly sure how to organize the code.
I have a mks sbase(smoothieboard clone), mightyboard(avr) and ramps for testing/development

I'm even thinking about implementing it myself but not exactly sure how to organize the code.

It would require mcu code changes. You can look at src/lcd_st7920.c for an example bit banging implementation. I suspect you'd want to hook into src/spicmds.c:spidev_transfer() so that the existing spi commands can be used.

-Kevin

I'm closing this for now - I'll reopen if someone is actively working on it.

-Kevin

It usefull on RAMPS too for people with LCD. I use SW SPI with ramps for TMC2130.

That鈥檚 too bad. Virtual SPI would allow to avoid making some crazy soldering son Ramps 1.4 with the LCD extension.

Man I hope you can add software spi support in the near future. I just ordered a FYSETC F6 control board and 6 tmc2130 drivers with hopes of using it with Klipper.

As near as I can tell, the FYSETC F6 uses the standard SPI pins, so it's not a problem.

-Kevin

Thank you for the prompt response @kevinOConnor. I鈥檓 currently waiting for the F6 it鈥檚 on the slow boat from China.

The spi pins on Arduino Due aren't in the same physical pin than in Arduino Mega. Only can be accessed by the 6 pin in the middle of the board. I use a MAX6675 connected to the SPI pins of Mega (D52 SCK, D50 MISO) on Ramps 1.4 with Arduino Due. The SD reader doesn't work too for the same problem.
When send status I get Max6675 : Device ID error.

FYI, software spi should now be implemented.

-Kevin

I can't get software SPI to work on the BIQU SKR v1.3 I keep getting ID Device error for the MAX6675. I do notice the pin i set for the software clk is not pulsing it seems to be just output of a HIGH and not toggling.

I didn't realize at the time the sensor pins for temperature are analog pins and can't be used for anything other than that, probably should note that analog pins cant be used for SPI, ha ha.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

leungtech picture leungtech  路  4Comments

smokez89 picture smokez89  路  4Comments

BlackStump picture BlackStump  路  3Comments

Hywelmartin picture Hywelmartin  路  6Comments

CHILLYSMOKES picture CHILLYSMOKES  路  5Comments