Where. is one-wire driver code used for RP2040<-->TMC2209 code?

Folks, I’m looking for the small snippet of UART code used on the RP2040 MCU to drive the One-Wire connection to a Trinamic TMC2209 IC (as in the Big Tree Tech SKR Pico v1.0 board).

FYI, I already have Klipper installed on my Raspberry Pi Zero 2 W host <–>BTT SKR Pico MCU. No issue there. But I’d like to use the BTT SKR Pico in a totally different context as a substitute for Trinamic developer kits and as a target for the Trinamic TMCL IDE development system. Goal: a testbed for characterizing unknown stepper motors, designing and measuring the performance of pepper motor systems in support of 3D printers running Klipper. Economic motivation: a suitable Trinamic dev board test bed costs about $200, but is functionally equivalent to the RP2040/TMX2209s in the BTT SKR Pico for $20. Porting the Trinamic setup to the new environment requires:

  1. Porting CircuitPython to the BTT SKR Pico board with its RP2040. Easy, mostly done.
  2. Porting the Trinamic PyTrinamic package to this environment: Tedious, larger effort because PyTrinamic covers dozens of chip types, etc. – In progress. Lots of pruning and patching. And requires code to communicate over a one-wire serial connection between the RP2040 UART (in PIO?) and the TMC2209. Thus the above request.
  3. Running Trinamic’s TMCL IDE on a Windows or Linux host to generate TMCL commands and monitor motor performance.

Besides pointing me to the appropriate RP2040 serial one-wire driver code, let me know if you’re interested in this project to create an inexpensive, general-purpose stepper motor system measurement and optimization tool.

TIA,

Mike

The host code is in klippy/extras/tmc_uart.py and the micro-controller code is in src/tmcuart.c.

Cheers,
-Kevin

Thanks for the quick reply, Kevin, and of course for all of your work on Klipper.

Mike