blob: 3be1e9a3aff4e420346726f105885524d2a6a683 [file] [log] [blame]
Austin Schuh2314c812018-12-21 13:42:33 +11001package(default_visibility = ["//visibility:public"])
Brian Silvermanc71537c2016-01-01 13:43:14 -08002
Austin Schuh2314c812018-12-21 13:42:33 +11003load("//aos/build:queues.bzl", "queue_library")
Brian Silvermanc71537c2016-01-01 13:43:14 -08004
Brian Silvermanc71537c2016-01-01 13:43:14 -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 //y2012/control_loops/python:drivetrain) $(OUTS)",
14 tools = [
15 "//y2012/control_loops/python:drivetrain",
16 ],
17 visibility = ["//visibility:private"],
Brian Silvermanc71537c2016-01-01 13:43:14 -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 //y2012/control_loops/python:polydrivetrain) $(OUTS)",
31 tools = [
32 "//y2012/control_loops/python:polydrivetrain",
33 ],
34 visibility = ["//visibility:private"],
Brian Silvermanc71537c2016-01-01 13:43:14 -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 ],
Brian Silvermanc71537c2016-01-01 13:43:14 -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 "//y2016:constants",
70 ],
Brian Silvermanc71537c2016-01-01 13:43:14 -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 ],
Brian Silvermanc71537c2016-01-01 13:43:14 -080084)