blob: 7f303b3627fb0ad73491fd5ca87416b602e552ca [file] [log] [blame]
Austin Schuh2314c812018-12-21 13:42:33 +11001package(default_visibility = ["//visibility:public"])
Comran Morshed41ed7c22015-11-04 21:03:37 +00002
Campbell Crowley9c3ecfd2015-12-31 17:04:30 -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_bot3/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_bot3/control_loops/python:drivetrain",
17 ],
18 visibility = ["//visibility:private"],
Adam Snaider83eae562016-09-10 16:47:33 -070019)
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 //y2014_bot3/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_bot3/control_loops/python:polydrivetrain",
38 ],
39 visibility = ["//visibility:private"],
Campbell Crowley9c3ecfd2015-12-31 17:04:30 -080040)
41
Comran Morshed41ed7c22015-11-04 21:03:37 +000042cc_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 ],
Comran Morshed41ed7c22015-11-04 21:03:37 +000061)
62
Adam Snaider83eae562016-09-10 16:47:33 -070063cc_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 ],
Comran Morshed41ed7c22015-11-04 21:03:37 +000077)
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 ],
Comran Morshed41ed7c22015-11-04 21:03:37 +000091)