Skip to content

SPI Bus Sharing - Redo PR 255#12

Open
thinkyhead wants to merge 12 commits into
MarlinFirmware:masterfrom
thinkyhead:pr_spi_bus_sharing_redo_255
Open

SPI Bus Sharing - Redo PR 255#12
thinkyhead wants to merge 12 commits into
MarlinFirmware:masterfrom
thinkyhead:pr_spi_bus_sharing_redo_255

Conversation

@thinkyhead

@thinkyhead thinkyhead commented Oct 28, 2025

Copy link
Copy Markdown
Member

In case this is still valuable, it is rebased on the fork we are maintaining for quicker turnaround. I've ported the additions for 2130 / 2260 for the new TMC2240. Evaluate and have fun bus sharing!

Based on PR teemuatlut#255 by @quiret.


  • fixed SPI bus sharing between TFT, SD, Touch, etc in combination with TMC by properly initializing and then terminating the SPI usage

in the way that this library was previously written it was not easy to share the SPI bus between components because the SPI protocol was not properly terminated/cleaned-up across SPI sessions, causing conflicts for different SPI bus components. This library has been tested with Marlin 2.1.x bugfix on this repo: github.com/quiret/Marlin/

There is a Marlin pull request that would really appreciate this improvement: MarlinFirmware/Marlin#24911

Please consider releasing another version of this library with the included fix onto platformio so that the Marlin FW can be really improved! clobbering the global SPI object is not a good idea, especially on single-SPI boards...

Martin Turski, company owner of EirDev

quiret and others added 12 commits October 28, 2025 17:42
…th TMC by properly initializing and then terminating the SPI usage

in the way that this library was previously written it was not easy to share the SPI bus between components because the SPI protocol was not properly terminated/cleaned-up across SPI sessions, causing conflicts for different SPI bus components. This library has been tested with Marlin 2.1.x bugfix on this repo: github.com/quiret/Marlin/

There is a Marlin pull request that would really appreciate this improvement: MarlinFirmware/Marlin#24911

Please consider releasing another version of this library with the included fix so that the Marlin FW can be drastically improved! clobbering the global SPI object is not a good idea, especially on single-SPI boards...

Martin Turski, company owner of EirDev (turningtides@outlook.de)

not yet TMC2240
…initialization (maybe PINS are fixed or they have been already set by the user?)

added back
…communication (used in Marlin FW for proper SPI bus communication in case of async transfers)
…neric HW SPI is completely disabled in that case + SW SPI preferred)
@thinkyhead thinkyhead added the enhancement New feature or request label Oct 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants