Finally fixed the sudden jumps. Added query_port to server, which is used by the communicator to makes sure that values that should match really do. Also made query_port update the server's dictionary so that the function_loop in the controller doesn't operate on old values (such as in the ramping).