Did a quick OpenSCAD script to generate a simple pressure advance calibration tower for Klipper firmware.
I had to add a part of a cylinder at the back as Prusa Slicer 2.5.0 doesn't place the seam in the middle when you choose “back”. So make your you choose seam position “back” when slicing.
Then set pressure advance in your filament custom GCode to 0 if you already have another value. Then add the customs GCode commands for changing pressure advance after slicing.
For example when you set size in openSCAD to 8 and start at 0, stop at 0.25 and step as 0.05 you would add custom GCodes for setting PA at 8mm, 16mm, 24mm, 32mm and 40mm.
The you need to slice again of course.
The author hasn't provided the model origin yet.