Fixed an issue where the ramp method of adr_controller would send and verify messages, but due to the lack of locks, it would get interrupted by standby. Thus, setpoint would be reset from the peak. If the problem persists an additional check may be to have ramping states check whether the goal is what they expect, and ramp again if it is not. (I noticed it going down, but I can't tell if that is the same problem or another that only occurs when the output is very low.

Also added a toggle in the GUI that disconnects the controller from the GUI. This should allow a script and GUI to be run at the same time. What actually happens to the loop_thread should be verified. Hopefully it exits safely since it is a daemon thread.