Reset windup

http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-reset-windup/

This prevents the controller from giving an output value that is out of range and stops the integral term from "winding up."
Sure. Do you have any preferred format for the error string?