Fixed the reset for min max edge value. Not compiled as the build is broken.
diff --git a/frc971/control_loops/claw/claw.cc b/frc971/control_loops/claw/claw.cc
index 410d6c6..19e9a18 100755
--- a/frc971/control_loops/claw/claw.cc
+++ b/frc971/control_loops/claw/claw.cc
@@ -272,6 +272,12 @@
   if (reset()) {
     bottom_claw_.set_zeroing_state(ZeroedStateFeedbackLoop::UNKNOWN_POSITION);
     top_claw_.set_zeroing_state(ZeroedStateFeedbackLoop::UNKNOWN_POSITION);
+    // close up the min and max edge positions as they are no longer valid and
+    // will be expanded in future iterations
+    top_claw_.min_current_hall_effect_edge_ =
+        top_claw_.max_current_hall_effect_edge_ = position->top.position;
+    bottom_claw_.min_current_hall_effect_edge_ =
+        bottom_claw_.max_current_hall_effect_edge_ = position->bottom.position;
   }
 
   if (::aos::robot_state.get() == nullptr) {
diff --git a/frc971/control_loops/claw/claw.h b/frc971/control_loops/claw/claw.h
index 949b0f5..50076a7 100755
--- a/frc971/control_loops/claw/claw.h
+++ b/frc971/control_loops/claw/claw.h
@@ -84,8 +84,10 @@
     back_.Update(claw.back);
 
 	if (any_hall_effect_changed()) {
-		min_current_hall_edge_ = claw.position;
-		max_current_hall_edge_ = claw.position;
+		// if the hall effect has changed we are new edge
+		// so we zero out the interval this new edge has covered
+		min_current_hall_effect_edge_ = claw.position;
+		max_current_hall_effect_edge_ = claw.position;
 	} else if (claw.position > max_current_hall_effect_edge_) {
 		max_current_hall_effect_edge_ = claw.position;
 	} else if (claw.position < min_current_hall_effect_edge_) {
@@ -137,6 +139,9 @@
   JointZeroingState zeroing_state_;
   double posedge_value_;
   double negedge_value_;
+  double last_edge_value_;
+  double min_current_hall_effect_edge_;
+  double max_current_hall_effect_edge_;
   double encoder_;
   double last_encoder_;