blob: fc2c0b49f4f3ba3f18746ca9c53806b5cdc77d0f [file] [log] [blame]
Philipp Schrader3de4dfc2023-02-15 20:18:25 -08001load("//tools/build_rules:js.bzl", "ts_project")
Austin Schuha1d006e2022-09-14 21:50:42 -07002load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
3load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
Stephan Massaltd021f972020-01-05 20:41:23 -08004
Philipp Schradercc016b32021-12-30 08:59:58 -08005package(default_visibility = ["//visibility:public"])
6
Stephan Massaltd021f972020-01-05 20:41:23 -08007flatbuffer_cc_library(
8 name = "superstructure_goal_fbs",
9 srcs = [
10 "superstructure_goal.fbs",
11 ],
12 gen_reflections = 1,
13 includes = [
14 "//frc971/control_loops:control_loops_fbs_includes",
15 "//frc971/control_loops:profiled_subsystem_fbs_includes",
16 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080017 target_compatible_with = ["@platforms//os:linux"],
Stephan Massaltd021f972020-01-05 20:41:23 -080018)
19
20flatbuffer_cc_library(
21 name = "superstructure_output_fbs",
22 srcs = [
23 "superstructure_output.fbs",
24 ],
25 gen_reflections = 1,
Philipp Schraderdada1072020-11-24 11:34:46 -080026 target_compatible_with = ["@platforms//os:linux"],
Stephan Massaltd021f972020-01-05 20:41:23 -080027)
28
James Kuszmaul5e6aa252021-08-28 22:19:29 -070029flatbuffer_ts_library(
30 name = "superstructure_status_ts_fbs",
31 srcs = [
32 "superstructure_status.fbs",
33 ],
James Kuszmaul5e6aa252021-08-28 22:19:29 -070034 target_compatible_with = ["@platforms//os:linux"],
James Kuszmauldac091f2022-03-22 09:35:06 -070035 deps = [
36 "//frc971/control_loops:control_loops_ts_fbs",
37 "//frc971/control_loops:profiled_subsystem_ts_fbs",
Maxwell Henderson34242992024-01-07 12:39:11 -080038 "//frc971/control_loops/flywheel:flywheel_controller_status_ts_fbs",
James Kuszmauldac091f2022-03-22 09:35:06 -070039 ],
James Kuszmaul5e6aa252021-08-28 22:19:29 -070040)
41
Stephan Massaltd021f972020-01-05 20:41:23 -080042flatbuffer_cc_library(
43 name = "superstructure_status_fbs",
44 srcs = [
45 "superstructure_status.fbs",
46 ],
47 gen_reflections = 1,
Philipp Schraderdada1072020-11-24 11:34:46 -080048 target_compatible_with = ["@platforms//os:linux"],
Maxwell Henderson34242992024-01-07 12:39:11 -080049 deps = [
50 "//frc971/control_loops:control_loops_fbs",
51 "//frc971/control_loops:profiled_subsystem_fbs",
52 "//frc971/control_loops/flywheel:flywheel_controller_status_fbs",
53 ],
Stephan Massaltd021f972020-01-05 20:41:23 -080054)
55
56flatbuffer_cc_library(
57 name = "superstructure_position_fbs",
58 srcs = [
59 "superstructure_position.fbs",
60 ],
61 gen_reflections = 1,
62 includes = [
63 "//frc971/control_loops:control_loops_fbs_includes",
64 "//frc971/control_loops:profiled_subsystem_fbs_includes",
65 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080066 target_compatible_with = ["@platforms//os:linux"],
Stephan Massaltd021f972020-01-05 20:41:23 -080067)
68
69cc_library(
70 name = "superstructure_lib",
71 srcs = [
72 "superstructure.cc",
73 ],
74 hdrs = [
75 "superstructure.h",
76 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080077 target_compatible_with = ["@platforms//os:linux"],
Stephan Massaltd021f972020-01-05 20:41:23 -080078 deps = [
79 ":superstructure_goal_fbs",
80 ":superstructure_output_fbs",
81 ":superstructure_position_fbs",
82 ":superstructure_status_fbs",
milind-u0beb7dc2021-10-16 19:31:33 -070083 "//aos/containers:sized_array",
Stephan Massaltd021f972020-01-05 20:41:23 -080084 "//aos/events:event_loop",
Austin Schuh0a3c9d42021-07-15 22:36:24 -070085 "//frc971/control_loops:control_loop",
James Kuszmaulb1b2d8e2020-02-21 21:11:46 -080086 "//frc971/control_loops:control_loops_fbs",
87 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
James Kuszmaulec635d22023-08-12 18:39:24 -070088 "//frc971/zeroing:absolute_and_absolute_encoder",
89 "//frc971/zeroing:absolute_encoder",
90 "//frc971/zeroing:pot_and_absolute_encoder",
Stephan Massaltd021f972020-01-05 20:41:23 -080091 "//y2020:constants",
Philipp Schrader37fdbb62021-12-18 00:30:37 -080092 "//y2020/control_loops/superstructure/hood:hood_encoder_zeroing_estimator",
Sabina Davis0f31d3f2020-02-20 20:41:00 -080093 "//y2020/control_loops/superstructure/shooter",
James Kuszmaulb1b2d8e2020-02-21 21:11:46 -080094 "//y2020/control_loops/superstructure/turret:aiming",
Stephan Massaltd021f972020-01-05 20:41:23 -080095 ],
96)
97
98cc_binary(
99 name = "superstructure",
100 srcs = [
101 "superstructure_main.cc",
102 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800103 target_compatible_with = ["@platforms//os:linux"],
Stephan Massaltd021f972020-01-05 20:41:23 -0800104 deps = [
105 ":superstructure_lib",
106 "//aos:init",
107 "//aos/events:shm_event_loop",
108 ],
109)
Sabina Davis7704a652020-02-01 11:42:14 -0800110
111cc_test(
112 name = "superstructure_lib_test",
113 srcs = [
114 "superstructure_lib_test.cc",
115 ],
116 data = [
Austin Schuhc5fa6d92022-02-25 14:36:28 -0800117 "//y2020:aos_config",
milind-u7baf7342021-08-25 18:31:26 -0700118 "@superstructure_replay",
Sabina Davis7704a652020-02-01 11:42:14 -0800119 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800120 target_compatible_with = ["@platforms//os:linux"],
Sabina Davis7704a652020-02-01 11:42:14 -0800121 deps = [
122 ":superstructure_goal_fbs",
123 ":superstructure_lib",
124 ":superstructure_output_fbs",
125 ":superstructure_position_fbs",
126 ":superstructure_status_fbs",
127 "//aos:math",
milind-u7baf7342021-08-25 18:31:26 -0700128 "//aos/events/logging:log_reader",
Austin Schuhb06f03b2021-02-17 22:00:37 -0800129 "//aos/events/logging:log_writer",
milind-u7baf7342021-08-25 18:31:26 -0700130 "//aos/network:team_number",
Sabina Davis7704a652020-02-01 11:42:14 -0800131 "//aos/testing:googletest",
132 "//aos/time",
133 "//frc971/control_loops:capped_test_plant",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700134 "//frc971/control_loops:control_loop_test",
Sabina Davis7704a652020-02-01 11:42:14 -0800135 "//frc971/control_loops:position_sensor_sim",
136 "//frc971/control_loops:team_number_test_environment",
137 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
Maxwell Henderson34242992024-01-07 12:39:11 -0800138 "//frc971/control_loops/flywheel:flywheel_test_plant",
Sabina Davis7704a652020-02-01 11:42:14 -0800139 "//y2020/control_loops/superstructure/hood:hood_plants",
Sabina Davis0f2d38c2020-02-08 17:01:21 -0800140 "//y2020/control_loops/superstructure/intake:intake_plants",
Sabina Davis0f31d3f2020-02-20 20:41:00 -0800141 "//y2020/control_loops/superstructure/shooter:shooter_plants",
Sabina Davis7704a652020-02-01 11:42:14 -0800142 ],
143)
John Park0a245a02020-02-02 14:10:15 -0800144
Philipp Schrader3de4dfc2023-02-15 20:18:25 -0800145ts_project(
James Kuszmaul78101402021-09-11 12:42:21 -0700146 name = "turret_plotter",
147 srcs = ["turret_plotter.ts"],
148 target_compatible_with = ["@platforms//os:linux"],
149 deps = [
James Kuszmaulda52ce62021-09-25 21:51:42 -0700150 "//aos:configuration_ts_fbs",
James Kuszmaul78101402021-09-11 12:42:21 -0700151 "//aos/network/www:aos_plotter",
152 "//aos/network/www:colors",
James Kuszmaulda52ce62021-09-25 21:51:42 -0700153 "//aos/network/www:plotter",
James Kuszmaul78101402021-09-11 12:42:21 -0700154 "//aos/network/www:proxy",
James Kuszmaulda52ce62021-09-25 21:51:42 -0700155 "//aos/network/www:reflection_ts",
James Kuszmauldac091f2022-03-22 09:35:06 -0700156 "@com_github_google_flatbuffers//reflection:reflection_ts_fbs",
James Kuszmaulda52ce62021-09-25 21:51:42 -0700157 "@com_github_google_flatbuffers//ts:flatbuffers_ts",
James Kuszmaul78101402021-09-11 12:42:21 -0700158 ],
159)
160
Philipp Schrader3de4dfc2023-02-15 20:18:25 -0800161ts_project(
Austin Schuh7d63eab2021-03-06 20:15:02 -0800162 name = "finisher_plotter",
163 srcs = ["finisher_plotter.ts"],
164 target_compatible_with = ["@platforms//os:linux"],
165 deps = [
166 "//aos/network/www:aos_plotter",
Ravago Jones819ba1f2021-03-10 10:48:10 -0800167 "//aos/network/www:colors",
Austin Schuh7d63eab2021-03-06 20:15:02 -0800168 "//aos/network/www:proxy",
169 ],
170)
171
Philipp Schrader3de4dfc2023-02-15 20:18:25 -0800172ts_project(
Austin Schuh7d63eab2021-03-06 20:15:02 -0800173 name = "accelerator_plotter",
174 srcs = ["accelerator_plotter.ts"],
175 target_compatible_with = ["@platforms//os:linux"],
176 deps = [
177 "//aos/network/www:aos_plotter",
Ravago Jones819ba1f2021-03-10 10:48:10 -0800178 "//aos/network/www:colors",
Austin Schuh7d63eab2021-03-06 20:15:02 -0800179 "//aos/network/www:proxy",
180 ],
181)
Austin Schuh2efe1682021-03-06 22:47:15 -0800182
Philipp Schrader3de4dfc2023-02-15 20:18:25 -0800183ts_project(
Austin Schuh2efe1682021-03-06 22:47:15 -0800184 name = "hood_plotter",
185 srcs = ["hood_plotter.ts"],
186 target_compatible_with = ["@platforms//os:linux"],
187 deps = [
188 "//aos/network/www:aos_plotter",
Ravago Jones819ba1f2021-03-10 10:48:10 -0800189 "//aos/network/www:colors",
Austin Schuh2efe1682021-03-06 22:47:15 -0800190 "//aos/network/www:proxy",
191 ],
192)
Austin Schuhf213a072021-10-17 23:42:50 -0700193
194cc_binary(
195 name = "superstructure_replay",
196 srcs = ["superstructure_replay.cc"],
197 deps = [
198 ":superstructure_lib",
199 "//aos:configuration",
200 "//aos:init",
201 "//aos/events:simulated_event_loop",
202 "//aos/events/logging:log_reader",
203 "//aos/network:team_number",
204 ],
205)