diff --git a/frc971/atom_code/scripts/start_list.txt b/frc971/atom_code/scripts/start_list.txt
index 0edca32..accb087 100644
--- a/frc971/atom_code/scripts/start_list.txt
+++ b/frc971/atom_code/scripts/start_list.txt
@@ -9,3 +9,4 @@
 CameraReader
 CameraServer
 CameraHTTPStreamer
+angle_adjust
diff --git a/frc971/constants.cpp b/frc971/constants.cpp
index e4c804a..79907c3 100644
--- a/frc971/constants.cpp
+++ b/frc971/constants.cpp
@@ -41,25 +41,25 @@
 
 const int kAngleAdjustHallEffect = 2;
 
-const double kCompAngleAdjustHallEffectStartAngle[2] = {0.5, 1.5};
-const double kPracticeAngleAdjustHallEffectStartAngle[2] = {0.5, 1.5};
+const double kCompAngleAdjustHallEffectStartAngle[2] = {0.305432, 1.5};
+const double kPracticeAngleAdjustHallEffectStartAngle[2] = {0.305432, 1.5};
 
-const double kCompAngleAdjustHallEffectStopAngle[2] = {-0.1, 1.0};
-const double kPracticeAngleAdjustHallEffectStopAngle[2] = {-0.1, 1.0};
+const double kCompAngleAdjustHallEffectStopAngle[2] = {0.1, 1.0};
+const double kPracticeAngleAdjustHallEffectStopAngle[2] = {0.1, 1.0};
 
-const double kPracticeAngleAdjustUpperPhysicalLimit = 3.0;
-const double kCompAngleAdjustUpperPhysicalLimit = 3.0;
+const double kPracticeAngleAdjustUpperPhysicalLimit = 0.894481;
+const double kCompAngleAdjustUpperPhysicalLimit = 0.894481;
 
-const double kPracticeAngleAdjustLowerPhysicalLimit = 0.0;
-const double kCompAngleAdjustLowerPhysicalLimit = 0.0;
+const double kPracticeAngleAdjustLowerPhysicalLimit = 0.283616;
+const double kCompAngleAdjustLowerPhysicalLimit = 0.283616;
 
-const double kPracticeAngleAdjustUpperLimit = 3.0;
-const double kCompAngleAdjustUpperLimit = 3.0;
+const double kPracticeAngleAdjustUpperLimit = 0.85;
+const double kCompAngleAdjustUpperLimit = 0.85;
 
-const double kPracticeAngleAdjustLowerLimit = 0.0;
-const double kCompAngleAdjustLowerLimit = 0.0;
+const double kPracticeAngleAdjustLowerLimit = 0.32;
+const double kCompAngleAdjustLowerLimit = 0.32;
 
-const double kAngleAdjustZeroingSpeed = -1.0;
+const double kAngleAdjustZeroingSpeed = -0.04;
 
 const int kCompCameraCenter = -2;
 const int kPracticeCameraCenter = -5;
diff --git a/frc971/control_loops/zeroed_joint.h b/frc971/control_loops/zeroed_joint.h
index 89a3c7b..4c54f27 100644
--- a/frc971/control_loops/zeroed_joint.h
+++ b/frc971/control_loops/zeroed_joint.h
@@ -243,6 +243,7 @@
 
   switch (state_) {
     case UNINITIALIZED:
+      LOG(DEBUG, "UNINITIALIZED\n");
       if (position) {
         // Reset the zeroing goal.
         zeroing_position_ = absolute_position;
@@ -261,6 +262,7 @@
       }
       break;
     case MOVING_OFF:
+      LOG(DEBUG, "MOVING_OFF\n");
       {
         // Move off the hall effect sensor.
         if (!::aos::robot_state->enabled) {
@@ -277,6 +279,7 @@
         }
       }
     case ZEROING:
+      LOG(DEBUG, "ZEROING\n");
       {
         int active_sensor_index = ActiveSensorIndex(position);
         if (!::aos::robot_state->enabled) {
@@ -316,6 +319,7 @@
       }
 
     case READY:
+      LOG(DEBUG, "READY\n");
       {
         const double limited_goal = ClipGoal(goal_angle);
         loop_->R << limited_goal, goal_velocity;
@@ -323,6 +327,7 @@
       }
 
     case ESTOP:
+      LOG(DEBUG, "ESTOP\n");
       LOG(WARNING, "have already given up\n");
       return 0.0;
   }
