blob: b185b4bade8e49aa349b29afaf66a580648ac4b0 [file] [log] [blame]
Austin Schuh2314c812018-12-21 13:42:33 +11001package(default_visibility = ["//visibility:public"])
Brian Silverman8c374e02015-09-06 23:02:21 -04002
Austin Schuh572ff402015-11-08 12:17:50 -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 //y2014/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 "//y2014/control_loops/python:drivetrain",
17 ],
18 visibility = ["//visibility:private"],
Austin Schuh572ff402015-11-08 12:17:50 -080019)
20
Austin Schuh0e997732015-11-08 15:14:53 -080021genrule(
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 //y2014/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 "//y2014/control_loops/python:polydrivetrain",
38 ],
39 visibility = ["//visibility:private"],
Austin Schuh0e997732015-11-08 15:14:53 -080040)
41
Brian Silverman8c374e02015-09-06 23:02:21 -040042cc_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 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040061)
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/control_loops/drivetrain:drivetrain_config",
75 "//y2014:constants",
76 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040077)
78
79cc_binary(
Austin Schuh2314c812018-12-21 13:42:33 +110080 name = "drivetrain",
81 srcs = [
82 "drivetrain_main.cc",
83 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080084 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2314c812018-12-21 13:42:33 +110085 deps = [
86 ":drivetrain_base",
87 "//aos:init",
Alex Perrycb7da4b2019-08-28 19:35:56 -070088 "//aos/events:shm_event_loop",
Austin Schuh2314c812018-12-21 13:42:33 +110089 "//frc971/control_loops/drivetrain:drivetrain_lib",
90 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040091)