Basic pistons can be CFramed using some basic trig, and I know that well. The Stephenson Linkage however is more of a contraint-solution problem by appearance, but I am not really sure how it would be mathematically described to progressively solve CFrames with respect to time. Reference materials / partial solution more than appreciated.
Fig 1. Stephenson Linkage