blob: a4fcae3c0ef6f37f76ac881f5f0e37180d3a9558 [file] [log] [blame]
Austin Schuh2314c812018-12-21 13:42:33 +11001package(default_visibility = ["//visibility:public"])
Diana Vandenberg223703d2017-01-28 17:39:53 -08002
Diana Vandenberg223703d2017-01-28 17:39:53 -08003genrule(
Austin Schuh2314c812018-12-21 13:42:33 +11004 name = "genrule_drivetrain",
5 outs = [
6 "drivetrain_dog_motor_plant.h",
7 "drivetrain_dog_motor_plant.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -08008 "drivetrain_dog_motor_plant.json",
Austin Schuh2314c812018-12-21 13:42:33 +11009 "kalman_drivetrain_motor_plant.h",
10 "kalman_drivetrain_motor_plant.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -080011 "kalman_drivetrain_motor_plant.json",
Austin Schuh2314c812018-12-21 13:42:33 +110012 ],
13 cmd = "$(location //y2017/control_loops/python:drivetrain) $(OUTS)",
Philipp Schraderdada1072020-11-24 11:34:46 -080014 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2314c812018-12-21 13:42:33 +110015 tools = [
16 "//y2017/control_loops/python:drivetrain",
17 ],
18 visibility = ["//visibility:private"],
Diana Vandenberg223703d2017-01-28 17:39:53 -080019)
20
21genrule(
Austin Schuh2314c812018-12-21 13:42:33 +110022 name = "genrule_polydrivetrain",
23 outs = [
24 "polydrivetrain_dog_motor_plant.h",
25 "polydrivetrain_dog_motor_plant.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -080026 "polydrivetrain_dog_motor_plant.json",
Austin Schuh2314c812018-12-21 13:42:33 +110027 "polydrivetrain_cim_plant.h",
28 "polydrivetrain_cim_plant.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -080029 "polydrivetrain_cim_plant.json",
Austin Schuh74425152018-12-21 11:37:14 +110030 "hybrid_velocity_drivetrain.h",
31 "hybrid_velocity_drivetrain.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -080032 "hybrid_velocity_drivetrain.json",
Austin Schuh2314c812018-12-21 13:42:33 +110033 ],
34 cmd = "$(location //y2017/control_loops/python:polydrivetrain) $(OUTS)",
Philipp Schraderdada1072020-11-24 11:34:46 -080035 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2314c812018-12-21 13:42:33 +110036 tools = [
37 "//y2017/control_loops/python:polydrivetrain",
38 ],
39 visibility = ["//visibility:private"],
Diana Vandenberg223703d2017-01-28 17:39:53 -080040)
41
42cc_library(
Austin Schuh2314c812018-12-21 13:42:33 +110043 name = "polydrivetrain_plants",
44 srcs = [
45 "drivetrain_dog_motor_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110046 "hybrid_velocity_drivetrain.cc",
Austin Schuh2314c812018-12-21 13:42:33 +110047 "kalman_drivetrain_motor_plant.cc",
48 "polydrivetrain_dog_motor_plant.cc",
49 ],
50 hdrs = [
51 "drivetrain_dog_motor_plant.h",
Austin Schuh74425152018-12-21 11:37:14 +110052 "hybrid_velocity_drivetrain.h",
Austin Schuh2314c812018-12-21 13:42:33 +110053 "kalman_drivetrain_motor_plant.h",
54 "polydrivetrain_dog_motor_plant.h",
55 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080056 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2314c812018-12-21 13:42:33 +110057 deps = [
Austin Schuh74425152018-12-21 11:37:14 +110058 "//frc971/control_loops:hybrid_state_feedback_loop",
Austin Schuh2314c812018-12-21 13:42:33 +110059 "//frc971/control_loops:state_feedback_loop",
60 ],
Diana Vandenberg223703d2017-01-28 17:39:53 -080061)
62
63cc_library(
Austin Schuh2314c812018-12-21 13:42:33 +110064 name = "drivetrain_base",
65 srcs = [
66 "drivetrain_base.cc",
67 ],
68 hdrs = [
69 "drivetrain_base.h",
70 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080071 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2314c812018-12-21 13:42:33 +110072 deps = [
73 ":polydrivetrain_plants",
74 "//frc971:shifter_hall_effect",
75 "//frc971/control_loops/drivetrain:drivetrain_config",
76 "//y2017:constants",
77 ],
Diana Vandenberg223703d2017-01-28 17:39:53 -080078)
79
80cc_binary(
Austin Schuh2314c812018-12-21 13:42:33 +110081 name = "drivetrain",
82 srcs = [
83 "drivetrain_main.cc",
84 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080085 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2314c812018-12-21 13:42:33 +110086 deps = [
87 ":drivetrain_base",
88 "//aos:init",
Alex Perrycb7da4b2019-08-28 19:35:56 -070089 "//aos/events:shm_event_loop",
Austin Schuh2314c812018-12-21 13:42:33 +110090 "//frc971/control_loops/drivetrain:drivetrain_lib",
91 ],
Diana Vandenberg223703d2017-01-28 17:39:53 -080092)