blob: e706f2578b27592a2ec28c21bd01bf15964e67e5 [file] [log] [blame]
Comran Morshed9a9948c2016-01-16 15:58:04 +00001genrule(
Brian Silverman7a7c24d2018-09-01 17:49:09 -07002 name = "genrule_drivetrain",
3 outs = [
4 "drivetrain_dog_motor_plant.h",
5 "drivetrain_dog_motor_plant.cc",
6 "kalman_drivetrain_motor_plant.h",
7 "kalman_drivetrain_motor_plant.cc",
8 ],
9 cmd = "$(location //y2016/control_loops/python:drivetrain) $(OUTS)",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070010 tools = [
11 "//y2016/control_loops/python:drivetrain",
12 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000013)
14
15genrule(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070016 name = "genrule_polydrivetrain",
17 outs = [
18 "polydrivetrain_dog_motor_plant.h",
19 "polydrivetrain_dog_motor_plant.cc",
20 "polydrivetrain_cim_plant.h",
21 "polydrivetrain_cim_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110022 "hybrid_velocity_drivetrain.h",
23 "hybrid_velocity_drivetrain.cc",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070024 ],
25 cmd = "$(location //y2016/control_loops/python:polydrivetrain) $(OUTS)",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070026 tools = [
27 "//y2016/control_loops/python:polydrivetrain",
28 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000029)
30
31cc_library(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070032 name = "polydrivetrain_plants",
33 srcs = [
34 "drivetrain_dog_motor_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110035 "hybrid_velocity_drivetrain.cc",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070036 "kalman_drivetrain_motor_plant.cc",
37 "polydrivetrain_dog_motor_plant.cc",
38 ],
39 hdrs = [
40 "drivetrain_dog_motor_plant.h",
Austin Schuh74425152018-12-21 11:37:14 +110041 "hybrid_velocity_drivetrain.h",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070042 "kalman_drivetrain_motor_plant.h",
43 "polydrivetrain_dog_motor_plant.h",
44 ],
Austin Schuh74425152018-12-21 11:37:14 +110045 visibility = ["//visibility:public"],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070046 deps = [
Austin Schuh74425152018-12-21 11:37:14 +110047 "//frc971/control_loops:hybrid_state_feedback_loop",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070048 "//frc971/control_loops:state_feedback_loop",
49 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000050)
51
52cc_library(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070053 name = "drivetrain_base",
54 srcs = [
55 "drivetrain_base.cc",
56 ],
57 hdrs = [
58 "drivetrain_base.h",
59 ],
Austin Schuh74425152018-12-21 11:37:14 +110060 visibility = ["//visibility:public"],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070061 deps = [
62 ":polydrivetrain_plants",
63 "//frc971:shifter_hall_effect",
64 "//frc971/control_loops/drivetrain:drivetrain_config",
65 "//y2016:constants",
66 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000067)
68
69cc_binary(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070070 name = "drivetrain",
71 srcs = [
72 "drivetrain_main.cc",
73 ],
Austin Schuh74425152018-12-21 11:37:14 +110074 visibility = ["//visibility:public"],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070075 deps = [
76 ":drivetrain_base",
John Park398c74a2018-10-20 21:17:39 -070077 "//aos:init",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070078 "//frc971/control_loops/drivetrain:drivetrain_lib",
79 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000080)