You should check out the SendablePIDController, which is part of the SmartDashboard. I'm not sure if it works in C++ because of the double issue... but it works for me in python
And, before there was SmartDashboard, there was
WebDMA, which does the same thing as SmartDashboard except with a webserver on your robot.
