blob: 148a9982b76b1c4958f6e79260c73eabd886df38 [file] [log] [blame]
James Kuszmaul1798c072022-02-13 15:32:11 -08001load("//aos:config.bzl", "aos_config")
2
milind-u086d7262022-01-19 20:44:18 -08003genrule(
4 name = "genrule_drivetrain",
5 outs = [
6 "drivetrain_dog_motor_plant.h",
7 "drivetrain_dog_motor_plant.cc",
8 "kalman_drivetrain_motor_plant.h",
9 "kalman_drivetrain_motor_plant.cc",
10 ],
11 cmd = "$(location //y2022/control_loops/python:drivetrain) $(OUTS)",
12 target_compatible_with = ["@platforms//os:linux"],
13 tools = [
14 "//y2022/control_loops/python:drivetrain",
15 ],
16)
17
18genrule(
19 name = "genrule_polydrivetrain",
20 outs = [
21 "polydrivetrain_dog_motor_plant.h",
22 "polydrivetrain_dog_motor_plant.cc",
23 "polydrivetrain_cim_plant.h",
24 "polydrivetrain_cim_plant.cc",
25 "hybrid_velocity_drivetrain.h",
26 "hybrid_velocity_drivetrain.cc",
27 ],
28 cmd = "$(location //y2022/control_loops/python:polydrivetrain) $(OUTS)",
29 target_compatible_with = ["@platforms//os:linux"],
30 tools = [
31 "//y2022/control_loops/python:polydrivetrain",
32 ],
33)
34
35cc_library(
36 name = "polydrivetrain_plants",
37 srcs = [
38 "drivetrain_dog_motor_plant.cc",
39 "hybrid_velocity_drivetrain.cc",
40 "kalman_drivetrain_motor_plant.cc",
41 "polydrivetrain_dog_motor_plant.cc",
42 ],
43 hdrs = [
44 "drivetrain_dog_motor_plant.h",
45 "hybrid_velocity_drivetrain.h",
46 "kalman_drivetrain_motor_plant.h",
47 "polydrivetrain_dog_motor_plant.h",
48 ],
49 target_compatible_with = ["@platforms//os:linux"],
50 visibility = ["//visibility:public"],
51 deps = [
52 "//frc971/control_loops:hybrid_state_feedback_loop",
53 "//frc971/control_loops:state_feedback_loop",
54 ],
55)
56
57cc_library(
58 name = "drivetrain_base",
59 srcs = [
60 "drivetrain_base.cc",
61 ],
62 hdrs = [
63 "drivetrain_base.h",
64 ],
65 target_compatible_with = ["@platforms//os:linux"],
66 visibility = ["//visibility:public"],
67 deps = [
68 ":polydrivetrain_plants",
69 "//frc971:shifter_hall_effect",
70 "//frc971/control_loops/drivetrain:drivetrain_config",
71 ],
72)
73
74cc_binary(
75 name = "drivetrain",
76 srcs = [
77 "drivetrain_main.cc",
78 ],
79 target_compatible_with = ["@platforms//os:linux"],
80 visibility = ["//visibility:public"],
81 deps = [
82 ":drivetrain_base",
83 "//aos:init",
84 "//aos/events:shm_event_loop",
85 "//frc971/control_loops/drivetrain:drivetrain_lib",
James Kuszmaule3df1ed2023-02-20 16:21:17 -080086 "//frc971/control_loops/drivetrain/localization:puppet_localizer",
milind-u086d7262022-01-19 20:44:18 -080087 ],
88)
James Kuszmaul1798c072022-02-13 15:32:11 -080089
90aos_config(
91 name = "simulation_config",
92 src = "drivetrain_simulation_config.json",
93 target_compatible_with = ["@platforms//os:linux"],
94 visibility = ["//visibility:public"],
95 deps = [
96 "//frc971/control_loops/drivetrain:simulation_channels",
Austin Schuhc5fa6d92022-02-25 14:36:28 -080097 "//y2022:aos_config",
James Kuszmaul1798c072022-02-13 15:32:11 -080098 ],
99)
100
Milind Upadhyayb8abf022022-02-22 21:07:44 -0800101cc_binary(
102 name = "trajectory_generator",
103 srcs = [
104 "trajectory_generator_main.cc",
105 ],
106 target_compatible_with = ["@platforms//os:linux"],
107 visibility = ["//visibility:public"],
108 deps = [
109 ":drivetrain_base",
110 "//aos:init",
111 "//aos/events:shm_event_loop",
112 "//frc971/control_loops/drivetrain:trajectory_generator",
113 ],
114)