I would like to share a C++ library that was born out of my senior design project last year. Our project called for a PID controller that could handle custom C++ classes as the control signals and could meet several other minor needs. While there's plenty of C and C++ PID controllers available on the internet, none quite fit our needs. So, I coded a generic PID controller that could be adapted to varying needs.
I have redesigned, recoded, and updated that PID controller for use for anyone who might find it useful. It can be used on any platform that supports C++ and template classes. Officially I will support Arduino, PIC32, and Atmel AVR and SAM. I will also support Windows and Unix/Linux applications as well.
The library is available here: https://github.com/Raven45/PID-Controller/releases
Documentation is available here: https://github.com/Raven45/PID-Controller/wiki