blob: 409fc938dd0b6d93da0ddf6093637f9729ceb93e [file] [log] [blame]
Austin Schuh2314c812018-12-21 13:42:33 +11001package(default_visibility = ["//visibility:public"])
Diana Vandenberg223703d2017-01-28 17:39:53 -08002
Austin Schuh2314c812018-12-21 13:42:33 +11003load("//aos/build:queues.bzl", "queue_library")
Diana Vandenberg223703d2017-01-28 17:39:53 -08004
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/control_loops/python:drivetrain) $(OUTS)",
14 tools = [
15 "//y2017/control_loops/python:drivetrain",
16 ],
17 visibility = ["//visibility:private"],
Diana Vandenberg223703d2017-01-28 17:39:53 -080018)
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/control_loops/python:polydrivetrain) $(OUTS)",
31 tools = [
32 "//y2017/control_loops/python:polydrivetrain",
33 ],
34 visibility = ["//visibility:private"],
Diana Vandenberg223703d2017-01-28 17:39:53 -080035)
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 ],
Diana Vandenberg223703d2017-01-28 17:39:53 -080055)
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 "//y2017:constants",
70 ],
Diana Vandenberg223703d2017-01-28 17:39:53 -080071)
72
73cc_binary(
Austin Schuh2314c812018-12-21 13:42:33 +110074 name = "drivetrain",
75 srcs = [
76 "drivetrain_main.cc",
77 ],
78 deps = [
79 ":drivetrain_base",
80 "//aos:init",
Austin Schuh55a13dc2019-01-27 22:39:03 -080081 "//aos/events:shm-event-loop",
Austin Schuh2314c812018-12-21 13:42:33 +110082 "//frc971/control_loops/drivetrain:drivetrain_lib",
83 ],
Diana Vandenberg223703d2017-01-28 17:39:53 -080084)