Refactor year-agnostic catapult code to frc971
This breaks up the y2022 catapult code into multiple files and moves
them into the frc971 folder. Year-specific parameters are now
provided via the constructors, and the goal message is moved into
frc971 as well.
Signed-off-by: Niko Sohmers <nikolai@sohmers.com>
Change-Id: I4ea720ae62a7c6c229d6c24a1f08edd7bc5b9728
diff --git a/frc971/control_loops/catapult/BUILD b/frc971/control_loops/catapult/BUILD
new file mode 100644
index 0000000..1235044
--- /dev/null
+++ b/frc971/control_loops/catapult/BUILD
@@ -0,0 +1,86 @@
+load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
+
+package(default_visibility = ["//visibility:public"])
+
+static_flatbuffer(
+ name = "catapult_goal_fbs",
+ srcs = [
+ "catapult_goal.fbs",
+ ],
+ deps = [
+ "//frc971/control_loops:profiled_subsystem_fbs",
+ ],
+)
+
+cc_library(
+ name = "catapult_controller",
+ srcs =
+ [
+ "catapult_controller.cc",
+ ],
+ hdrs =
+ [
+ "catapult_controller.h",
+ ],
+ visibility = ["//visibility:public"],
+ deps =
+ [
+ ":mpc_problem_generator",
+ ],
+)
+
+cc_library(
+ name = "mpc_problem",
+ srcs =
+ [
+ "mpc_problem.cc",
+ ],
+ hdrs =
+ [
+ "mpc_problem.h",
+ ],
+ visibility = ["//visibility:public"],
+ deps =
+ [
+ "//aos:realtime",
+ "//aos/time",
+ "//third_party/osqp-cpp",
+ "@org_tuxfamily_eigen//:eigen",
+ ],
+)
+
+cc_library(
+ name = "mpc_problem_generator",
+ srcs =
+ [
+ "mpc_problem_generator.cc",
+ ],
+ hdrs =
+ [
+ "mpc_problem_generator.h",
+ ],
+ visibility = ["//visibility:public"],
+ deps =
+ [
+ ":mpc_problem",
+ "//frc971/control_loops:state_feedback_loop",
+ ],
+)
+
+cc_library(
+ name = "catapult",
+ srcs = [
+ "catapult.cc",
+ ],
+ hdrs =
+ [
+ "catapult.h",
+ ],
+ visibility = ["//visibility:public"],
+ deps = [
+ ":catapult_controller",
+ "//frc971/control_loops:static_zeroing_single_dof_profiled_subsystem",
+ "//frc971/control_loops/catapult:catapult_goal_fbs",
+ "//frc971/zeroing:pot_and_absolute_encoder",
+ ],
+)