blob: 858f7e088daa2e8095fb77aaf1754c3eeea0748c [file] [log] [blame]
Austin Schuh2314c812018-12-21 13:42:33 +11001package(default_visibility = ["//visibility:public"])
Brian Silverman8c374e02015-09-06 23:02:21 -04002
Austin Schuh2314c812018-12-21 13:42:33 +11003load("//aos/build:queues.bzl", "queue_library")
Brian Silverman8c374e02015-09-06 23:02:21 -04004
Austin Schuh572ff402015-11-08 12:17:50 -08005genrule(
Austin Schuh2314c812018-12-21 13:42:33 +11006 name = "genrule_drivetrain",
7 outs = [
8 "drivetrain_dog_motor_plant.h",
9 "drivetrain_dog_motor_plant.cc",
10 "kalman_drivetrain_motor_plant.h",
11 "kalman_drivetrain_motor_plant.cc",
12 ],
13 cmd = "$(location //y2014/control_loops/python:drivetrain) $(OUTS)",
14 tools = [
15 "//y2014/control_loops/python:drivetrain",
16 ],
17 visibility = ["//visibility:private"],
Austin Schuh572ff402015-11-08 12:17:50 -080018)
19
Austin Schuh0e997732015-11-08 15:14:53 -080020genrule(
Austin Schuh2314c812018-12-21 13:42:33 +110021 name = "genrule_polydrivetrain",
22 outs = [
23 "polydrivetrain_dog_motor_plant.h",
24 "polydrivetrain_dog_motor_plant.cc",
25 "polydrivetrain_cim_plant.h",
26 "polydrivetrain_cim_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110027 "hybrid_velocity_drivetrain.h",
28 "hybrid_velocity_drivetrain.cc",
Austin Schuh2314c812018-12-21 13:42:33 +110029 ],
30 cmd = "$(location //y2014/control_loops/python:polydrivetrain) $(OUTS)",
31 tools = [
32 "//y2014/control_loops/python:polydrivetrain",
33 ],
34 visibility = ["//visibility:private"],
Austin Schuh0e997732015-11-08 15:14:53 -080035)
36
Brian Silverman8c374e02015-09-06 23:02:21 -040037cc_library(
Austin Schuh2314c812018-12-21 13:42:33 +110038 name = "polydrivetrain_plants",
39 srcs = [
40 "drivetrain_dog_motor_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110041 "hybrid_velocity_drivetrain.cc",
Austin Schuh2314c812018-12-21 13:42:33 +110042 "kalman_drivetrain_motor_plant.cc",
43 "polydrivetrain_dog_motor_plant.cc",
44 ],
45 hdrs = [
46 "drivetrain_dog_motor_plant.h",
Austin Schuh74425152018-12-21 11:37:14 +110047 "hybrid_velocity_drivetrain.h",
Austin Schuh2314c812018-12-21 13:42:33 +110048 "kalman_drivetrain_motor_plant.h",
49 "polydrivetrain_dog_motor_plant.h",
50 ],
51 deps = [
Austin Schuh74425152018-12-21 11:37:14 +110052 "//frc971/control_loops:hybrid_state_feedback_loop",
Austin Schuh2314c812018-12-21 13:42:33 +110053 "//frc971/control_loops:state_feedback_loop",
54 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040055)
56
57cc_library(
Austin Schuh2314c812018-12-21 13:42:33 +110058 name = "drivetrain_base",
59 srcs = [
60 "drivetrain_base.cc",
61 ],
62 hdrs = [
63 "drivetrain_base.h",
64 ],
65 deps = [
66 ":polydrivetrain_plants",
67 "//frc971/control_loops/drivetrain:drivetrain_config",
68 "//y2014:constants",
69 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040070)
71
72cc_binary(
Austin Schuh2314c812018-12-21 13:42:33 +110073 name = "drivetrain",
74 srcs = [
75 "drivetrain_main.cc",
76 ],
77 deps = [
78 ":drivetrain_base",
79 "//aos:init",
Austin Schuh55a13dc2019-01-27 22:39:03 -080080 "//aos/events:shm-event-loop",
Austin Schuh2314c812018-12-21 13:42:33 +110081 "//frc971/control_loops/drivetrain:drivetrain_lib",
82 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040083)