Create/support "continuous" control loops
This supplies a wrap_point argument to the control loops code that
makes it so that you can have a system that spins infinitely (as the
swerve modules do) and still control them.
TODO: I observed some idiosyncracies in wrapping behavior during
testing; this likely requires additional tests to be written to validate
that we handle wrapping correctly.
Change-Id: Id4b9065de2b3334c0e8097b28a32916c47a54258
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/frc971/control_loops/python/BUILD b/frc971/control_loops/python/BUILD
index 7f458b5..0e0cdb6 100644
--- a/frc971/control_loops/python/BUILD
+++ b/frc971/control_loops/python/BUILD
@@ -262,6 +262,22 @@
)
py_binary(
+ name = "wrapped_subsystem_test",
+ srcs = [
+ "wrapped_subsystem_test.py",
+ ],
+ legacy_create_init = False,
+ target_compatible_with = ["@platforms//cpu:x86_64"],
+ deps = [
+ ":angular_system",
+ ":controls",
+ ":python_init",
+ "@pip//glog",
+ "@pip//python_gflags",
+ ],
+)
+
+py_binary(
name = "static_zeroing_single_dof_profiled_subsystem_test",
srcs = [
"static_zeroing_single_dof_profiled_subsystem_test.py",