workshop update

A lot of thanks to SammyT291 for finding pretty much all of the cam controller bugs and for helping me test the fixes.