Build hybrid velocity loop for each drivetrain
This provides a way to get to the continuous time drivetrain model from
C++ without doing crazy codegen for all gears.
Change-Id: Iadd7388b74628a94a74ec19efb972fa01efe70c9
diff --git a/y2016/control_loops/drivetrain/BUILD b/y2016/control_loops/drivetrain/BUILD
index 39f2b56..629c957 100644
--- a/y2016/control_loops/drivetrain/BUILD
+++ b/y2016/control_loops/drivetrain/BUILD
@@ -1,5 +1,3 @@
-package(default_visibility = ["//visibility:public"])
-
load("//aos/build:queues.bzl", "queue_library")
genrule(
@@ -14,7 +12,6 @@
tools = [
"//y2016/control_loops/python:drivetrain",
],
- visibility = ["//visibility:private"],
)
genrule(
@@ -24,27 +21,32 @@
"polydrivetrain_dog_motor_plant.cc",
"polydrivetrain_cim_plant.h",
"polydrivetrain_cim_plant.cc",
+ "hybrid_velocity_drivetrain.h",
+ "hybrid_velocity_drivetrain.cc",
],
cmd = "$(location //y2016/control_loops/python:polydrivetrain) $(OUTS)",
tools = [
"//y2016/control_loops/python:polydrivetrain",
],
- visibility = ["//visibility:private"],
)
cc_library(
name = "polydrivetrain_plants",
srcs = [
"drivetrain_dog_motor_plant.cc",
+ "hybrid_velocity_drivetrain.cc",
"kalman_drivetrain_motor_plant.cc",
"polydrivetrain_dog_motor_plant.cc",
],
hdrs = [
"drivetrain_dog_motor_plant.h",
+ "hybrid_velocity_drivetrain.h",
"kalman_drivetrain_motor_plant.h",
"polydrivetrain_dog_motor_plant.h",
],
+ visibility = ["//visibility:public"],
deps = [
+ "//frc971/control_loops:hybrid_state_feedback_loop",
"//frc971/control_loops:state_feedback_loop",
],
)
@@ -57,6 +59,7 @@
hdrs = [
"drivetrain_base.h",
],
+ visibility = ["//visibility:public"],
deps = [
":polydrivetrain_plants",
"//frc971:shifter_hall_effect",
@@ -70,6 +73,7 @@
srcs = [
"drivetrain_main.cc",
],
+ visibility = ["//visibility:public"],
deps = [
":drivetrain_base",
"//aos:init",