Probably a few years too late, but I found this post yesterday and had the same problem, so I wrote a Klipper/Fluidd version: