Add Climber Constants

Signed-off-by: Filip Kujawa <filip.j.kujawa@gmail.com>
Change-Id: If56eca5a6b7a97ad6c0519d232086d7b0428c9d9
diff --git a/y2024/control_loops/superstructure/climber/BUILD b/y2024/control_loops/superstructure/climber/BUILD
new file mode 100644
index 0000000..4a044d2
--- /dev/null
+++ b/y2024/control_loops/superstructure/climber/BUILD
@@ -0,0 +1,42 @@
+package(default_visibility = ["//y2024:__subpackages__"])
+
+genrule(
+    name = "genrule_climber",
+    outs = [
+        "climber_plant.h",
+        "climber_plant.cc",
+        "climber_plant.json",
+        "integral_climber_plant.h",
+        "integral_climber_plant.cc",
+        "integral_climber_plant.json",
+    ],
+    cmd = "$(location //y2024/control_loops/python:climber) $(OUTS)",
+    target_compatible_with = ["@platforms//os:linux"],
+    tools = [
+        "//y2024/control_loops/python:climber",
+    ],
+)
+
+cc_library(
+    name = "climber_plants",
+    srcs = [
+        "climber_plant.cc",
+        "integral_climber_plant.cc",
+    ],
+    hdrs = [
+        "climber_plant.h",
+        "integral_climber_plant.h",
+    ],
+    target_compatible_with = ["@platforms//os:linux"],
+    visibility = ["//visibility:public"],
+    deps = [
+        "//frc971/control_loops:hybrid_state_feedback_loop",
+        "//frc971/control_loops:state_feedback_loop",
+    ],
+)
+
+filegroup(
+    name = "climber_json",
+    srcs = ["integral_climber_plant.json"],
+    visibility = ["//visibility:public"],
+)
diff --git a/y2024/control_loops/superstructure/superstructure.cc b/y2024/control_loops/superstructure/superstructure.cc
index 9a703e3..566c402 100644
--- a/y2024/control_loops/superstructure/superstructure.cc
+++ b/y2024/control_loops/superstructure/superstructure.cc
@@ -33,7 +33,7 @@
       transfer_goal_(TransferRollerGoal::NONE),
       intake_pivot_(
           robot_constants_->common()->intake_pivot(),
-          robot_constants_->robot()->intake_constants()->intake_pivot_zero()) {
+          robot_constants_->robot()->intake_constants()->zeroing_constants()) {
   event_loop->SetRuntimeRealtimePriority(30);
 }
 
diff --git a/y2024/control_loops/superstructure/superstructure_lib_test.cc b/y2024/control_loops/superstructure/superstructure_lib_test.cc
index 26e75e4..710de4b 100644
--- a/y2024/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2024/control_loops/superstructure/superstructure_lib_test.cc
@@ -56,13 +56,13 @@
             new CappedTestPlant(intake_pivot::MakeIntakePivotPlant()),
             PositionSensorSimulator(simulated_robot_constants->robot()
                                         ->intake_constants()
-                                        ->intake_pivot_zero()
+                                        ->zeroing_constants()
                                         ->one_revolution_distance()),
             {.subsystem_params =
                  {simulated_robot_constants->common()->intake_pivot(),
                   simulated_robot_constants->robot()
                       ->intake_constants()
-                      ->intake_pivot_zero()},
+                      ->zeroing_constants()},
              .potentiometer_offset = simulated_robot_constants->robot()
                                          ->intake_constants()
                                          ->potentiometer_offset()},
@@ -70,7 +70,7 @@
                 simulated_robot_constants->common()->intake_pivot()->range()),
             simulated_robot_constants->robot()
                 ->intake_constants()
-                ->intake_pivot_zero()
+                ->zeroing_constants()
                 ->measured_absolute_position(),
             dt_) {
     intake_pivot_.InitializePosition(