blob: 08aaab2932dc746fb18389a46211b1d2cfec7334 [file] [log] [blame]
Austin Schuh2314c812018-12-21 13:42:33 +11001package(default_visibility = ["//visibility:public"])
Sabina Davis5ae0c7c2017-10-21 20:51:55 -07002
Austin Schuh2314c812018-12-21 13:42:33 +11003load("//aos/build:queues.bzl", "queue_library")
Sabina Davis5ae0c7c2017-10-21 20:51:55 -07004
5genrule(
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 //y2017_bot3/control_loops/python:drivetrain) $(OUTS)",
14 tools = [
15 "//y2017_bot3/control_loops/python:drivetrain",
16 ],
17 visibility = ["//visibility:private"],
Sabina Davis5ae0c7c2017-10-21 20:51:55 -070018)
19
20genrule(
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 //y2017_bot3/control_loops/python:polydrivetrain) $(OUTS)",
31 tools = [
32 "//y2017_bot3/control_loops/python:polydrivetrain",
33 ],
34 visibility = ["//visibility:private"],
Sabina Davis5ae0c7c2017-10-21 20:51:55 -070035)
36
37cc_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 ],
Sabina Davis5ae0c7c2017-10-21 20:51:55 -070055)
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:shifter_hall_effect",
68 "//frc971/control_loops/drivetrain:drivetrain_config",
69 ],
Sabina Davis5ae0c7c2017-10-21 20:51:55 -070070)
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 ],
Sabina Davis5ae0c7c2017-10-21 20:51:55 -070083)