blob: 62484c0f94a21d0036427b85c06ba76a265edf33 [file] [log] [blame]
Austin Schuh2314c812018-12-21 13:42:33 +11001load("//aos/build:queues.bzl", "queue_library")
Sabina Davisa553dc42018-09-05 19:38:59 -07002
3genrule(
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",
8 "kalman_drivetrain_motor_plant.h",
9 "kalman_drivetrain_motor_plant.cc",
10 ],
11 cmd = "$(location //y2018_bot3/control_loops/python:drivetrain) $(OUTS)",
12 tools = [
13 "//y2018_bot3/control_loops/python:drivetrain",
14 ],
Sabina Davisa553dc42018-09-05 19:38:59 -070015)
16
17genrule(
Austin Schuh2314c812018-12-21 13:42:33 +110018 name = "genrule_polydrivetrain",
19 outs = [
20 "polydrivetrain_dog_motor_plant.h",
21 "polydrivetrain_dog_motor_plant.cc",
22 "polydrivetrain_cim_plant.h",
23 "polydrivetrain_cim_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110024 "hybrid_velocity_drivetrain.h",
25 "hybrid_velocity_drivetrain.cc",
Austin Schuh2314c812018-12-21 13:42:33 +110026 ],
27 cmd = "$(location //y2018_bot3/control_loops/python:polydrivetrain) $(OUTS)",
28 tools = [
29 "//y2018_bot3/control_loops/python:polydrivetrain",
30 ],
Sabina Davisa553dc42018-09-05 19:38:59 -070031)
32
33cc_library(
Austin Schuh2314c812018-12-21 13:42:33 +110034 name = "polydrivetrain_plants",
35 srcs = [
36 "drivetrain_dog_motor_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110037 "hybrid_velocity_drivetrain.cc",
Austin Schuh2314c812018-12-21 13:42:33 +110038 "kalman_drivetrain_motor_plant.cc",
39 "polydrivetrain_dog_motor_plant.cc",
40 ],
41 hdrs = [
42 "drivetrain_dog_motor_plant.h",
Austin Schuh74425152018-12-21 11:37:14 +110043 "hybrid_velocity_drivetrain.h",
Austin Schuh2314c812018-12-21 13:42:33 +110044 "kalman_drivetrain_motor_plant.h",
45 "polydrivetrain_dog_motor_plant.h",
46 ],
47 deps = [
Austin Schuh74425152018-12-21 11:37:14 +110048 "//frc971/control_loops:hybrid_state_feedback_loop",
Austin Schuh2314c812018-12-21 13:42:33 +110049 "//frc971/control_loops:state_feedback_loop",
50 ],
Sabina Davisa553dc42018-09-05 19:38:59 -070051)
52
53cc_library(
Austin Schuh2314c812018-12-21 13:42:33 +110054 name = "drivetrain_base",
55 srcs = [
56 "drivetrain_base.cc",
57 ],
58 hdrs = [
59 "drivetrain_base.h",
60 ],
61 deps = [
62 ":polydrivetrain_plants",
63 "//frc971:shifter_hall_effect",
64 "//frc971/control_loops/drivetrain:drivetrain_config",
65 ],
Sabina Davisa553dc42018-09-05 19:38:59 -070066)
67
68cc_binary(
Austin Schuh2314c812018-12-21 13:42:33 +110069 name = "drivetrain",
70 srcs = [
71 "drivetrain_main.cc",
72 ],
Austin Schuh74425152018-12-21 11:37:14 +110073 visibility = ["//visibility:public"],
Austin Schuh2314c812018-12-21 13:42:33 +110074 deps = [
75 ":drivetrain_base",
76 "//aos:init",
Austin Schuh55a13dc2019-01-27 22:39:03 -080077 "//aos/events:shm-event-loop",
Austin Schuh2314c812018-12-21 13:42:33 +110078 "//frc971/control_loops/drivetrain:drivetrain_lib",
79 ],
Sabina Davisa553dc42018-09-05 19:38:59 -070080)