blob: 0988e033a91cdf2485aea29688f208634b9d31d4 [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)",
Philipp Schraderdada1072020-11-24 11:34:46 -080010 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070011 tools = [
12 "//y2016/control_loops/python:drivetrain",
13 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000014)
15
16genrule(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070017 name = "genrule_polydrivetrain",
18 outs = [
19 "polydrivetrain_dog_motor_plant.h",
20 "polydrivetrain_dog_motor_plant.cc",
21 "polydrivetrain_cim_plant.h",
22 "polydrivetrain_cim_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110023 "hybrid_velocity_drivetrain.h",
24 "hybrid_velocity_drivetrain.cc",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070025 ],
26 cmd = "$(location //y2016/control_loops/python:polydrivetrain) $(OUTS)",
Philipp Schraderdada1072020-11-24 11:34:46 -080027 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070028 tools = [
29 "//y2016/control_loops/python:polydrivetrain",
30 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000031)
32
33cc_library(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070034 name = "polydrivetrain_plants",
35 srcs = [
36 "drivetrain_dog_motor_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110037 "hybrid_velocity_drivetrain.cc",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070038 "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",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070044 "kalman_drivetrain_motor_plant.h",
45 "polydrivetrain_dog_motor_plant.h",
46 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080047 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh74425152018-12-21 11:37:14 +110048 visibility = ["//visibility:public"],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070049 deps = [
Austin Schuh74425152018-12-21 11:37:14 +110050 "//frc971/control_loops:hybrid_state_feedback_loop",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070051 "//frc971/control_loops:state_feedback_loop",
52 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000053)
54
55cc_library(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070056 name = "drivetrain_base",
57 srcs = [
58 "drivetrain_base.cc",
59 ],
60 hdrs = [
61 "drivetrain_base.h",
62 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080063 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh74425152018-12-21 11:37:14 +110064 visibility = ["//visibility:public"],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070065 deps = [
66 ":polydrivetrain_plants",
67 "//frc971:shifter_hall_effect",
68 "//frc971/control_loops/drivetrain:drivetrain_config",
69 "//y2016:constants",
70 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000071)
72
73cc_binary(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070074 name = "drivetrain",
75 srcs = [
76 "drivetrain_main.cc",
77 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080078 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh74425152018-12-21 11:37:14 +110079 visibility = ["//visibility:public"],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070080 deps = [
81 ":drivetrain_base",
John Park398c74a2018-10-20 21:17:39 -070082 "//aos:init",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070083 "//frc971/control_loops/drivetrain:drivetrain_lib",
84 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000085)