Add documentation
diff --git a/src/core/lib/transport/pid_controller.h b/src/core/lib/transport/pid_controller.h
index aa3d0a7..ecb9dee 100644
--- a/src/core/lib/transport/pid_controller.h
+++ b/src/core/lib/transport/pid_controller.h
@@ -34,6 +34,13 @@
 #ifndef GRPC_CORE_LIB_TRANSPORT_PID_CONTROLLER_H
 #define GRPC_CORE_LIB_TRANSPORT_PID_CONTROLLER_H
 
+/* \file Simple PID controller.
+   Implements a proportial-integral-derivative controller.
+   Used when we want to iteratively control a variable to converge some other
+   observed value to a 'set-point'.
+   Gains can be set to adjust sensitivity to current error (p), the integral
+   of error (i), and the derivative of error (d). */
+
 typedef struct {
   double gain_p;
   double gain_i;
@@ -42,11 +49,15 @@
   double error_integral;
 } grpc_pid_controller;
 
+/** Initialize the controller */
 void grpc_pid_controller_init(grpc_pid_controller *pid_controller,
                               double gain_p, double gain_i, double gain_d);
 
+/** Reset the controller: useful when things have changed significantly */
 void grpc_pid_controller_reset(grpc_pid_controller *pid_controller);
 
+/** Update the controller: given a current error estimate, and the time since
+    the last update, returns a delta to the control value */
 double grpc_pid_controller_update(grpc_pid_controller *pid_controller,
                                   double error, double dt);