blob: 424c25724866d6a64423e8d570b5aa4b17fe061d [file] [log] [blame]
James Kuszmaulf01da392023-12-14 11:22:14 -08001load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
Philipp Schrader3de4dfc2023-02-15 20:18:25 -08002load("//tools/build_rules:js.bzl", "ts_project")
Austin Schuha1d006e2022-09-14 21:50:42 -07003load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
Alex Perrycb7da4b2019-08-28 19:35:56 -07004load("//aos:config.bzl", "aos_config")
Philipp Schraderdada1072020-11-24 11:34:46 -08005load("//tools/build_rules:select.bzl", "cpu_select")
Austin Schuh41fad8c2021-10-23 21:25:12 -07006load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
Comran Morshed5323ecb2015-12-26 20:50:55 +00007
Philipp Schradercc016b32021-12-30 08:59:58 -08008package(default_visibility = ["//visibility:public"])
9
James Kuszmaulf01da392023-12-14 11:22:14 -080010static_flatbuffer(
Maxwell Hendersoncef6f042023-05-26 14:38:09 -070011 name = "drivetrain_can_position_fbs",
12 srcs = ["drivetrain_can_position.fbs"],
Maxwell Hendersonca1d18f2023-07-26 21:06:14 -070013 deps = ["//frc971/control_loops:can_falcon_fbs"],
Maxwell Hendersoncef6f042023-05-26 14:38:09 -070014)
15
James Kuszmaulf01da392023-12-14 11:22:14 -080016static_flatbuffer(
James Kuszmaul75a18c52021-03-10 22:02:07 -080017 name = "spline_goal_fbs",
18 srcs = ["spline_goal.fbs"],
James Kuszmaulf01da392023-12-14 11:22:14 -080019 deps = ["//frc971/control_loops:control_loops_fbs"],
James Kuszmaul75a18c52021-03-10 22:02:07 -080020)
21
James Kuszmaulf01da392023-12-14 11:22:14 -080022static_flatbuffer(
Alex Perrycb7da4b2019-08-28 19:35:56 -070023 name = "drivetrain_goal_fbs",
24 srcs = ["drivetrain_goal.fbs"],
James Kuszmaulf01da392023-12-14 11:22:14 -080025 deps = [
26 ":spline_goal_fbs",
27 "//frc971/control_loops:control_loops_fbs",
James Kuszmaul75a18c52021-03-10 22:02:07 -080028 ],
Comran Morshed5323ecb2015-12-26 20:50:55 +000029)
30
James Kuszmaulf01da392023-12-14 11:22:14 -080031static_flatbuffer(
Alex Perrycb7da4b2019-08-28 19:35:56 -070032 name = "drivetrain_output_fbs",
33 srcs = ["drivetrain_output.fbs"],
Alex Perrycb7da4b2019-08-28 19:35:56 -070034)
35
James Kuszmaulf01da392023-12-14 11:22:14 -080036static_flatbuffer(
Alex Perrycb7da4b2019-08-28 19:35:56 -070037 name = "drivetrain_position_fbs",
38 srcs = ["drivetrain_position.fbs"],
Alex Perrycb7da4b2019-08-28 19:35:56 -070039)
40
James Kuszmaulf01da392023-12-14 11:22:14 -080041static_flatbuffer(
Alex Perrycb7da4b2019-08-28 19:35:56 -070042 name = "drivetrain_status_fbs",
43 srcs = ["drivetrain_status.fbs"],
James Kuszmaulf01da392023-12-14 11:22:14 -080044 deps = ["//frc971/control_loops:control_loops_fbs"],
Alex Perrycb7da4b2019-08-28 19:35:56 -070045)
46
James Kuszmaulf01da392023-12-14 11:22:14 -080047static_flatbuffer(
James Kuszmaul75a18c52021-03-10 22:02:07 -080048 name = "trajectory_fbs",
49 srcs = ["trajectory.fbs"],
James Kuszmaulf01da392023-12-14 11:22:14 -080050 deps = ["//frc971/control_loops:control_loops_fbs"],
James Kuszmaul75a18c52021-03-10 22:02:07 -080051)
52
Austin Schuh41fad8c2021-10-23 21:25:12 -070053cc_static_flatbuffer(
54 name = "trajectory_schema",
55 function = "frc971::control_loops::drivetrain::fb::TrajectorySchema",
56 target = ":trajectory_fbs_reflection_out",
57 visibility = ["//visibility:public"],
58)
59
Alex Perry2124ae82020-03-07 14:19:06 -080060flatbuffer_ts_library(
61 name = "drivetrain_status_ts_fbs",
62 srcs = ["drivetrain_status.fbs"],
Philipp Schraderdada1072020-11-24 11:34:46 -080063 target_compatible_with = ["@platforms//os:linux"],
James Kuszmauldac091f2022-03-22 09:35:06 -070064 deps = ["//frc971/control_loops:control_loops_ts_fbs"],
Alex Perry2124ae82020-03-07 14:19:06 -080065)
66
Niko Sohmers76f47562023-12-20 20:59:06 -080067flatbuffer_ts_library(
68 name = "drivetrain_position_ts_fbs",
69 srcs = ["drivetrain_position.fbs"],
70 target_compatible_with = ["@platforms//os:linux"],
71)
72
73flatbuffer_ts_library(
74 name = "drivetrain_can_position_ts_fbs",
75 srcs = ["drivetrain_can_position.fbs"],
76 target_compatible_with = ["@platforms//os:linux"],
77 deps = ["//frc971/control_loops:can_falcon_ts_fbs"],
78)
79
Alex Perrycb7da4b2019-08-28 19:35:56 -070080genrule(
81 name = "drivetrain_goal_float_fbs_generated",
82 srcs = ["drivetrain_goal.fbs"],
83 outs = ["drivetrain_goal_float.fbs"],
84 cmd = "cat $(SRCS) | sed 's/double/float/g' > $(OUTS)",
Alex Perrycb7da4b2019-08-28 19:35:56 -070085)
86
87genrule(
88 name = "drivetrain_position_float_fbs_generated",
89 srcs = ["drivetrain_position.fbs"],
90 outs = ["drivetrain_position_float.fbs"],
91 cmd = "cat $(SRCS) | sed 's/double/float/g' > $(OUTS)",
Alex Perrycb7da4b2019-08-28 19:35:56 -070092)
93
94genrule(
95 name = "drivetrain_output_float_fbs_generated",
96 srcs = ["drivetrain_output.fbs"],
97 outs = ["drivetrain_output_float.fbs"],
98 cmd = "cat $(SRCS) | sed 's/double/float/g' > $(OUTS)",
Alex Perrycb7da4b2019-08-28 19:35:56 -070099)
100
101genrule(
102 name = "drivetrain_status_float_fbs_generated",
103 srcs = ["drivetrain_status.fbs"],
104 outs = ["drivetrain_status_float.fbs"],
105 cmd = "cat $(SRCS) | sed 's/double/float/g' > $(OUTS)",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700106)
107
James Kuszmaulf01da392023-12-14 11:22:14 -0800108static_flatbuffer(
Alex Perrycb7da4b2019-08-28 19:35:56 -0700109 name = "drivetrain_goal_float_fbs",
110 srcs = ["drivetrain_goal_float.fbs"],
James Kuszmaulf01da392023-12-14 11:22:14 -0800111 deps = [
112 ":spline_goal_fbs",
113 "//frc971/control_loops:control_loops_fbs",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800114 ],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700115)
116
James Kuszmaulf01da392023-12-14 11:22:14 -0800117static_flatbuffer(
Alex Perrycb7da4b2019-08-28 19:35:56 -0700118 name = "drivetrain_output_float_fbs",
119 srcs = ["drivetrain_output_float.fbs"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700120)
121
James Kuszmaulf01da392023-12-14 11:22:14 -0800122static_flatbuffer(
Alex Perrycb7da4b2019-08-28 19:35:56 -0700123 name = "drivetrain_position_float_fbs",
124 srcs = ["drivetrain_position_float.fbs"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700125)
126
James Kuszmaulf01da392023-12-14 11:22:14 -0800127static_flatbuffer(
Alex Perrycb7da4b2019-08-28 19:35:56 -0700128 name = "drivetrain_status_float_fbs",
129 srcs = ["drivetrain_status_float.fbs"],
James Kuszmaulf01da392023-12-14 11:22:14 -0800130 deps = ["//frc971/control_loops:control_loops_fbs"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700131)
132
133aos_config(
James Kuszmaul74d8f972020-02-11 17:13:17 -0800134 name = "simulation_channels",
135 src = "drivetrain_simulation_channels.json",
136 flatbuffers = [
137 ":drivetrain_status_fbs",
138 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800139 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul74d8f972020-02-11 17:13:17 -0800140 visibility = ["//visibility:public"],
141)
142
143aos_config(
144 name = "simulation_config",
145 src = "drivetrain_simulation_config.json",
Philipp Schraderdada1072020-11-24 11:34:46 -0800146 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul74d8f972020-02-11 17:13:17 -0800147 visibility = ["//visibility:public"],
148 deps = [
Austin Schuhc5fa6d92022-02-25 14:36:28 -0800149 ":aos_config",
James Kuszmaul74d8f972020-02-11 17:13:17 -0800150 ":simulation_channels",
151 ],
152)
153
154aos_config(
Austin Schuhc5fa6d92022-02-25 14:36:28 -0800155 name = "aos_config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700156 src = "drivetrain_config.json",
157 flatbuffers = [
158 ":drivetrain_goal_fbs",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800159 ":trajectory_fbs",
160 ":spline_goal_fbs",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700161 ":drivetrain_output_fbs",
162 ":drivetrain_status_fbs",
163 ":drivetrain_position_fbs",
164 ":localizer_fbs",
Tyler Chatow24b5db12020-01-06 21:16:56 -0800165 "//frc971/queues:gyro_fbs",
166 "//frc971/queues:gyro_uid_fbs",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700167 "//frc971/wpilib:imu_fbs",
Austin Schuhac17fba2020-03-28 15:55:33 -0700168 "//frc971/wpilib:imu_batch_fbs",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700169 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800170 target_compatible_with = ["@platforms//os:linux"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700171 visibility = ["//visibility:public"],
Austin Schuhbcce26a2018-03-26 23:41:24 -0700172 deps = [
Austin Schuhc5fa6d92022-02-25 14:36:28 -0800173 "//frc971/input:aos_config",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700174 ],
Comran Morshed5323ecb2015-12-26 20:50:55 +0000175)
176
177cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700178 name = "drivetrain_config",
179 hdrs = [
180 "drivetrain_config.h",
181 ],
182 deps = [
183 "//frc971:shifter_hall_effect",
184 "//frc971/control_loops:state_feedback_loop",
Philipp Schraderdada1072020-11-24 11:34:46 -0800185 ] + select({
186 "@platforms//os:linux": ["//frc971/control_loops:hybrid_state_feedback_loop"],
187 "//conditions:default": [],
188 }),
Comran Morshed5323ecb2015-12-26 20:50:55 +0000189)
190
191cc_library(
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800192 name = "hybrid_ekf",
193 hdrs = ["hybrid_ekf.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800194 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800195 deps = [
196 ":drivetrain_config",
James Kuszmaul3c5b4d32020-02-11 17:22:14 -0800197 "//aos:math",
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800198 "//aos/containers:priority_queue",
James Kuszmaulfedc4612019-03-10 11:24:51 -0700199 "//aos/util:math",
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800200 "//frc971/control_loops:c2d",
201 "//frc971/control_loops:runge_kutta",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700202 "@org_tuxfamily_eigen//:eigen",
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800203 ],
204)
205
206cc_test(
207 name = "hybrid_ekf_test",
208 srcs = ["hybrid_ekf_test.cc"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800209 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800210 deps = [
211 ":drivetrain_test_lib",
212 ":hybrid_ekf",
213 ":trajectory",
214 "//aos/testing:googletest",
215 "//aos/testing:random_seed",
216 "//aos/testing:test_shm",
217 ],
218)
219
James Kuszmaulf01da392023-12-14 11:22:14 -0800220static_flatbuffer(
Alex Perrycb7da4b2019-08-28 19:35:56 -0700221 name = "localizer_fbs",
222 srcs = ["localizer.fbs"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800223 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaulef428a02019-03-02 22:19:41 -0800224)
225
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800226cc_library(
James Kuszmaul3431d622019-02-17 17:07:44 -0800227 name = "localizer",
228 hdrs = ["localizer.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800229 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul3431d622019-02-17 17:07:44 -0800230 deps = [
231 ":drivetrain_config",
James Kuszmaul3c5b4d32020-02-11 17:22:14 -0800232 ":drivetrain_status_fbs",
James Kuszmaul3431d622019-02-17 17:07:44 -0800233 ":hybrid_ekf",
James Kuszmaul5398fae2020-02-17 16:44:03 -0800234 "//frc971/control_loops:control_loops_fbs",
James Kuszmaul5bc6fc92019-03-01 21:50:06 -0800235 "//frc971/control_loops:pose",
James Kuszmaul3431d622019-02-17 17:07:44 -0800236 ],
237)
238
239cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700240 name = "gear",
241 hdrs = [
242 "gear.h",
243 ],
Austin Schuh093535c2016-03-05 23:21:00 -0800244)
245
246cc_library(
Alex Perry731b4602019-02-02 22:13:01 -0800247 name = "splinedrivetrain",
248 srcs = [
249 "splinedrivetrain.cc",
250 ],
251 hdrs = [
252 "splinedrivetrain.h",
253 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800254 target_compatible_with = ["@platforms//os:linux"],
Alex Perry731b4602019-02-02 22:13:01 -0800255 deps = [
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800256 ":distance_spline",
Alex Perry731b4602019-02-02 22:13:01 -0800257 ":drivetrain_config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700258 ":drivetrain_goal_fbs",
259 ":drivetrain_output_fbs",
260 ":drivetrain_status_fbs",
Alex Perry731b4602019-02-02 22:13:01 -0800261 ":spline",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800262 ":spline_goal_fbs",
Alex Perry731b4602019-02-02 22:13:01 -0800263 ":trajectory",
Austin Schuh3d9ccd72020-08-01 15:42:40 -0700264 "//aos:condition",
Alex Perry1ec34522019-02-17 22:44:10 -0800265 "//aos:init",
James Kuszmaulc73bb222019-04-07 12:15:35 -0700266 "//aos/util:math",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700267 "//frc971/control_loops:control_loops_fbs",
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800268 ],
Alex Perry731b4602019-02-02 22:13:01 -0800269)
270
271cc_library(
James Kuszmaule39cbcf2019-02-27 20:48:34 -0800272 name = "line_follow_drivetrain",
273 srcs = [
274 "line_follow_drivetrain.cc",
275 ],
276 hdrs = [
277 "line_follow_drivetrain.h",
278 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800279 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaule39cbcf2019-02-27 20:48:34 -0800280 deps = [
281 ":drivetrain_config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700282 ":drivetrain_goal_fbs",
283 ":drivetrain_output_fbs",
284 ":drivetrain_status_fbs",
James Kuszmaul5bc6fc92019-03-01 21:50:06 -0800285 ":localizer",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800286 ":spline_goal_fbs",
James Kuszmaule39cbcf2019-02-27 20:48:34 -0800287 "//aos:math",
288 "//aos/util:math",
289 "//frc971/control_loops:c2d",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700290 "//frc971/control_loops:control_loops_fbs",
James Kuszmaule39cbcf2019-02-27 20:48:34 -0800291 "//frc971/control_loops:dlqr",
292 "//frc971/control_loops:pose",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700293 "//frc971/control_loops:profiled_subsystem_fbs",
294 "//y2019/control_loops/superstructure:superstructure_goal_fbs",
295 "@org_tuxfamily_eigen//:eigen",
James Kuszmaule39cbcf2019-02-27 20:48:34 -0800296 ],
297)
298
299cc_test(
300 name = "line_follow_drivetrain_test",
301 srcs = ["line_follow_drivetrain_test.cc"],
302 linkstatic = True,
Philipp Schraderdada1072020-11-24 11:34:46 -0800303 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaule39cbcf2019-02-27 20:48:34 -0800304 deps = [
305 ":drivetrain_config",
306 ":drivetrain_test_lib",
307 ":line_follow_drivetrain",
308 ":trajectory",
309 "//aos/testing:googletest",
310 "//aos/testing:test_shm",
311 "//third_party/matplotlib-cpp",
312 "@com_github_gflags_gflags//:gflags",
313 ],
314)
315
316cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700317 name = "ssdrivetrain",
318 srcs = [
319 "ssdrivetrain.cc",
320 ],
321 hdrs = [
322 "ssdrivetrain.h",
323 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800324 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhbcce26a2018-03-26 23:41:24 -0700325 deps = [
326 ":drivetrain_config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700327 ":drivetrain_goal_fbs",
328 ":drivetrain_output_fbs",
Austin Schuh95771d92021-01-23 14:42:25 -0800329 ":drivetrain_states",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700330 ":drivetrain_status_fbs",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700331 ":gear",
James Kuszmaul3431d622019-02-17 17:07:44 -0800332 ":localizer",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800333 ":spline_goal_fbs",
John Park33858a32018-09-28 23:05:48 -0700334 "//aos:math",
John Park33858a32018-09-28 23:05:48 -0700335 "//aos/util:log_interval",
336 "//aos/util:trapezoid_profile",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700337 "//frc971:shifter_hall_effect",
338 "//frc971/control_loops:coerce_goal",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700339 "//frc971/control_loops:control_loop",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700340 "//frc971/control_loops:control_loops_fbs",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700341 "//frc971/control_loops:polytope",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700342 "//frc971/control_loops:state_feedback_loop",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700343 "//frc971/input:robot_state_fbs",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700344 ],
Comran Morshed5323ecb2015-12-26 20:50:55 +0000345)
346
347cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700348 name = "polydrivetrain",
349 srcs = [
350 "polydrivetrain.cc",
351 ],
352 hdrs = [
353 "polydrivetrain.h",
354 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800355 copts = select({
356 "@platforms//os:none": ["-Wno-type-limits"],
357 "//conditions:default": [],
358 }),
Austin Schuhbcce26a2018-03-26 23:41:24 -0700359 deps = [
360 ":drivetrain_config",
Austin Schuh95771d92021-01-23 14:42:25 -0800361 ":drivetrain_states",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700362 ":gear",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700363 ":spline_goal_fbs",
John Park33858a32018-09-28 23:05:48 -0700364 "//aos:math",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700365 "//frc971/control_loops:coerce_goal",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700366 "//frc971/control_loops:control_loops_fbs",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700367 "//frc971/control_loops:polytope",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700368 "//frc971/control_loops:state_feedback_loop",
Philipp Schraderdada1072020-11-24 11:34:46 -0800369 ] + select({
370 "@platforms//os:linux": [
371 ":drivetrain_goal_fbs",
372 ":drivetrain_output_fbs",
373 ":drivetrain_position_fbs",
374 ":drivetrain_status_fbs",
Philipp Schraderdada1072020-11-24 11:34:46 -0800375 "//aos/util:log_interval",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700376 "//frc971/input:robot_state_fbs",
Philipp Schraderdada1072020-11-24 11:34:46 -0800377 ],
378 "@platforms//os:none": [
379 ":drivetrain_goal_float_fbs",
380 ":drivetrain_output_float_fbs",
381 ":drivetrain_position_float_fbs",
382 ":drivetrain_status_float_fbs",
383 ],
384 }),
Comran Morshed5323ecb2015-12-26 20:50:55 +0000385)
386
Austin Schuh05c5a612016-04-02 15:10:25 -0700387genrule(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700388 name = "genrule_down_estimator",
389 outs = [
390 "down_estimator.h",
391 "down_estimator.cc",
392 ],
393 cmd = "$(location //frc971/control_loops/python:down_estimator) $(OUTS)",
Philipp Schraderdada1072020-11-24 11:34:46 -0800394 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhbcce26a2018-03-26 23:41:24 -0700395 tools = [
396 "//frc971/control_loops/python:down_estimator",
397 ],
398 visibility = ["//visibility:private"],
Austin Schuh05c5a612016-04-02 15:10:25 -0700399)
400
401cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700402 name = "down_estimator",
403 srcs = [
404 "down_estimator.cc",
405 ],
406 hdrs = [
407 "down_estimator.h",
408 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800409 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhbcce26a2018-03-26 23:41:24 -0700410 deps = [
411 "//frc971/control_loops:state_feedback_loop",
412 ],
Austin Schuh05c5a612016-04-02 15:10:25 -0700413)
414
Comran Morshed5323ecb2015-12-26 20:50:55 +0000415cc_library(
Austin Schuh95771d92021-01-23 14:42:25 -0800416 name = "drivetrain_states",
417 hdrs = ["drivetrain_states.h"],
418)
419
420cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700421 name = "drivetrain_lib",
422 srcs = [
423 "drivetrain.cc",
424 ],
425 hdrs = [
426 "drivetrain.h",
427 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800428 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhbcce26a2018-03-26 23:41:24 -0700429 deps = [
Alex Perrycb7da4b2019-08-28 19:35:56 -0700430 ":drivetrain_goal_fbs",
431 ":drivetrain_output_fbs",
432 ":drivetrain_position_fbs",
Austin Schuh95771d92021-01-23 14:42:25 -0800433 ":drivetrain_states",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700434 ":drivetrain_status_fbs",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700435 ":gear",
James Kuszmaul3e1bb272020-01-17 18:38:19 -0800436 ":improved_down_estimator",
James Kuszmaule39cbcf2019-02-27 20:48:34 -0800437 ":line_follow_drivetrain",
James Kuszmaul3431d622019-02-17 17:07:44 -0800438 ":localizer",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700439 ":localizer_fbs",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700440 ":polydrivetrain",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800441 ":spline_goal_fbs",
Alex Perry731b4602019-02-02 22:13:01 -0800442 ":splinedrivetrain",
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800443 ":ssdrivetrain",
John Park33858a32018-09-28 23:05:48 -0700444 "//aos/util:log_interval",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700445 "//frc971/control_loops:control_loop",
Austin Schuh3a378462019-01-04 21:48:04 -0800446 "//frc971/control_loops:runge_kutta",
Tyler Chatow24b5db12020-01-06 21:16:56 -0800447 "//frc971/queues:gyro_fbs",
Austin Schuhac17fba2020-03-28 15:55:33 -0700448 "//frc971/wpilib:imu_batch_fbs",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700449 "//frc971/wpilib:imu_fbs",
James Kuszmaul3e1bb272020-01-17 18:38:19 -0800450 "//frc971/zeroing:imu_zeroer",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700451 ],
Comran Morshed5323ecb2015-12-26 20:50:55 +0000452)
453
James Kuszmaul109ed8d2019-02-17 21:41:04 -0800454cc_library(
455 name = "drivetrain_test_lib",
456 testonly = True,
457 srcs = ["drivetrain_test_lib.cc"],
458 hdrs = ["drivetrain_test_lib.h"],
James Kuszmaul74d8f972020-02-11 17:13:17 -0800459 defines =
460 cpu_select({
461 "amd64": [
462 "SUPPORT_PLOT=1",
463 ],
464 "arm": [],
465 }),
Philipp Schraderdada1072020-11-24 11:34:46 -0800466 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul109ed8d2019-02-17 21:41:04 -0800467 deps = [
468 ":drivetrain_config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700469 ":drivetrain_goal_fbs",
470 ":drivetrain_output_fbs",
471 ":drivetrain_position_fbs",
472 ":drivetrain_status_fbs",
James Kuszmaul109ed8d2019-02-17 21:41:04 -0800473 ":trajectory",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700474 "//aos/events:event_loop",
James Kuszmaul109ed8d2019-02-17 21:41:04 -0800475 "//aos/testing:googletest",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700476 "//frc971/control_loops:control_loops_fbs",
James Kuszmaul109ed8d2019-02-17 21:41:04 -0800477 "//frc971/control_loops:state_feedback_loop",
Tyler Chatow24b5db12020-01-06 21:16:56 -0800478 "//frc971/queues:gyro_fbs",
Austin Schuhac17fba2020-03-28 15:55:33 -0700479 "//frc971/wpilib:imu_batch_fbs",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700480 "//frc971/wpilib:imu_fbs",
James Kuszmaul109ed8d2019-02-17 21:41:04 -0800481 "//y2016:constants",
482 "//y2016/control_loops/drivetrain:polydrivetrain_plants",
James Kuszmaul74d8f972020-02-11 17:13:17 -0800483 ] + cpu_select({
484 "amd64": [
485 "//third_party/matplotlib-cpp",
486 ],
487 "arm": [],
488 }),
James Kuszmaul109ed8d2019-02-17 21:41:04 -0800489)
490
Comran Morshed5323ecb2015-12-26 20:50:55 +0000491cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700492 name = "drivetrain_lib_test",
493 srcs = [
494 "drivetrain_lib_test.cc",
495 ],
Austin Schuh14d7d3d2020-09-10 18:14:36 -0700496 data = [":simulation_config"],
Alex Perry04300d62019-02-17 14:37:04 -0800497 defines =
498 cpu_select({
499 "amd64": [
500 "SUPPORT_PLOT=1",
501 ],
502 "arm": [],
503 }),
504 linkstatic = True,
Philipp Schraderdada1072020-11-24 11:34:46 -0800505 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhbcce26a2018-03-26 23:41:24 -0700506 deps = [
507 ":drivetrain_config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700508 ":drivetrain_goal_fbs",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700509 ":drivetrain_lib",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700510 ":drivetrain_output_fbs",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700511 ":drivetrain_position_fbs",
512 ":drivetrain_status_fbs",
James Kuszmaul109ed8d2019-02-17 21:41:04 -0800513 ":drivetrain_test_lib",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700514 ":localizer_fbs",
515 ":trajectory_generator",
Austin Schuhb06f03b2021-02-17 22:00:37 -0800516 "//aos/events/logging:log_writer",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700517 "//aos/testing:googletest",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700518 "//frc971/control_loops:control_loop_test",
Tyler Chatow24b5db12020-01-06 21:16:56 -0800519 "//frc971/queues:gyro_fbs",
James Kuszmaul3e1bb272020-01-17 18:38:19 -0800520 "//frc971/wpilib:imu_fbs",
Alex Perry04300d62019-02-17 14:37:04 -0800521 ] + cpu_select({
522 "amd64": [
523 "//third_party/matplotlib-cpp",
524 ],
525 "arm": [],
526 }),
Comran Morshed5323ecb2015-12-26 20:50:55 +0000527)
Brian Silverman6260c092018-01-14 15:21:36 -0800528
529genrule(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700530 name = "genrule_haptic_wheel",
531 outs = [
532 "haptic_wheel.h",
533 "haptic_wheel.cc",
534 "integral_haptic_wheel.h",
535 "integral_haptic_wheel.cc",
536 "haptic_trigger.h",
537 "haptic_trigger.cc",
538 "integral_haptic_trigger.h",
539 "integral_haptic_trigger.cc",
540 ],
541 cmd = "$(location //frc971/control_loops/python:haptic_wheel) $(OUTS)",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700542 tools = [
543 "//frc971/control_loops/python:haptic_wheel",
544 ],
545 visibility = ["//visibility:private"],
Brian Silverman6260c092018-01-14 15:21:36 -0800546)
547
548cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700549 name = "haptic_wheel",
550 srcs = [
551 "haptic_trigger.cc",
552 "haptic_wheel.cc",
553 "integral_haptic_trigger.cc",
554 "integral_haptic_wheel.cc",
555 ],
556 hdrs = [
557 "haptic_trigger.h",
558 "haptic_wheel.h",
559 "integral_haptic_trigger.h",
560 "integral_haptic_wheel.h",
561 ],
562 deps = [
563 "//frc971/control_loops:state_feedback_loop",
564 ],
Brian Silverman6260c092018-01-14 15:21:36 -0800565)
Austin Schuhc2b08772018-12-19 18:05:06 +1100566
567cc_library(
568 name = "spline",
569 srcs = ["spline.cc"],
570 hdrs = ["spline.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800571 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhc2b08772018-12-19 18:05:06 +1100572 deps = [
Austin Schuhf49b4e32019-01-13 17:26:58 -0800573 "//frc971/control_loops:binomial",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700574 "@org_tuxfamily_eigen//:eigen",
Austin Schuhc2b08772018-12-19 18:05:06 +1100575 ],
576)
577
Alex Perrya60da442019-01-21 19:00:27 -0500578cc_binary(
579 name = "spline.so",
580 srcs = ["libspline.cc"],
James Kuszmaul2ed7b3c2019-02-09 18:26:19 -0800581 linkshared = True,
Philipp Schraderdada1072020-11-24 11:34:46 -0800582 target_compatible_with = ["@platforms//os:linux"],
Alex Perrya60da442019-01-21 19:00:27 -0500583 deps = [
584 ":distance_spline",
585 ":spline",
Alex Perry0603b542019-01-25 20:29:51 -0800586 ":trajectory",
Austin Schuhfc0caa82023-08-25 14:25:03 -0700587 "//aos/logging",
Alex Perry0603b542019-01-25 20:29:51 -0800588 "//aos/network:team_number",
James Kuszmaul8aa37cb2020-03-01 10:27:58 -0800589 "//y2020/control_loops/drivetrain:drivetrain_base",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700590 "@org_tuxfamily_eigen//:eigen",
Alex Perrya60da442019-01-21 19:00:27 -0500591 ],
Alex Perrya60da442019-01-21 19:00:27 -0500592)
593
Austin Schuhc2b08772018-12-19 18:05:06 +1100594cc_test(
595 name = "spline_test",
596 srcs = [
597 "spline_test.cc",
598 ],
James Kuszmaule32fa932021-05-11 21:38:16 -0700599 linkstatic = True,
Philipp Schraderdada1072020-11-24 11:34:46 -0800600 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhc2b08772018-12-19 18:05:06 +1100601 deps = [
602 ":spline",
603 "//aos/testing:googletest",
James Kuszmaule32fa932021-05-11 21:38:16 -0700604 "//frc971/analysis:in_process_plotter",
Austin Schuhc2b08772018-12-19 18:05:06 +1100605 "@com_github_gflags_gflags//:gflags",
606 ],
607)
Austin Schuh941b46d2018-12-19 18:06:05 +1100608
609cc_library(
610 name = "distance_spline",
611 srcs = ["distance_spline.cc"],
612 hdrs = ["distance_spline.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800613 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh941b46d2018-12-19 18:06:05 +1100614 deps = [
615 ":spline",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800616 ":trajectory_fbs",
Austin Schuhf7c65202022-11-04 21:28:20 -0700617 "//aos/containers:sized_array",
Austin Schuha6e7b212019-01-20 13:53:01 -0800618 "//aos/logging",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800619 "//frc971/control_loops:control_loops_fbs",
Austin Schuh941b46d2018-12-19 18:06:05 +1100620 "//frc971/control_loops:fixed_quadrature",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800621 "@com_github_google_glog//:glog",
Austin Schuhf7c65202022-11-04 21:28:20 -0700622 "@com_google_absl//absl/types:span",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700623 "@org_tuxfamily_eigen//:eigen",
Austin Schuh941b46d2018-12-19 18:06:05 +1100624 ],
625)
626
627cc_test(
628 name = "distance_spline_test",
629 srcs = [
630 "distance_spline_test.cc",
631 ],
Austin Schuh9b0b6432019-01-13 21:15:17 -0800632 defines =
633 cpu_select({
634 "amd64": [
635 "SUPPORT_PLOT=1",
636 ],
637 "arm": [],
638 }),
639 linkstatic = True,
Philipp Schraderdada1072020-11-24 11:34:46 -0800640 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh941b46d2018-12-19 18:06:05 +1100641 deps = [
642 ":distance_spline",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800643 "//aos:flatbuffers",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700644 "//aos/testing:googletest",
Austin Schuha6e7b212019-01-20 13:53:01 -0800645 "//aos/testing:test_shm",
Austin Schuh941b46d2018-12-19 18:06:05 +1100646 "@com_github_gflags_gflags//:gflags",
Austin Schuh9b0b6432019-01-13 21:15:17 -0800647 ] + cpu_select({
648 "amd64": [
649 "//third_party/matplotlib-cpp",
650 ],
651 "arm": [],
652 }),
Austin Schuh941b46d2018-12-19 18:06:05 +1100653)
Austin Schuhec7f06d2019-01-04 07:47:15 +1100654
655cc_library(
656 name = "trajectory",
657 srcs = ["trajectory.cc"],
658 hdrs = ["trajectory.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800659 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhec7f06d2019-01-04 07:47:15 +1100660 deps = [
661 ":distance_spline",
662 ":drivetrain_config",
James Kuszmaul75a18c52021-03-10 22:02:07 -0800663 ":spline_goal_fbs",
664 ":trajectory_fbs",
James Kuszmaul5e8ce312021-03-27 14:59:17 -0700665 "//aos/util:math",
Austin Schuhec7f06d2019-01-04 07:47:15 +1100666 "//frc971/control_loops:c2d",
667 "//frc971/control_loops:dlqr",
668 "//frc971/control_loops:hybrid_state_feedback_loop",
669 "//frc971/control_loops:runge_kutta",
670 "//frc971/control_loops:state_feedback_loop",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700671 "@org_tuxfamily_eigen//:eigen",
Austin Schuhec7f06d2019-01-04 07:47:15 +1100672 ],
673)
674
James Kuszmaul75a18c52021-03-10 22:02:07 -0800675cc_library(
676 name = "trajectory_generator",
677 srcs = ["trajectory_generator.cc"],
678 hdrs = ["trajectory_generator.h"],
679 target_compatible_with = ["@platforms//os:linux"],
680 deps = [
681 ":distance_spline",
682 ":drivetrain_config",
683 ":spline_goal_fbs",
684 ":trajectory",
685 ":trajectory_fbs",
686 ],
687)
688
Austin Schuhec7f06d2019-01-04 07:47:15 +1100689cc_binary(
690 name = "trajectory_plot",
691 srcs = [
692 "trajectory_plot.cc",
693 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800694 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhec7f06d2019-01-04 07:47:15 +1100695 deps = [
696 ":distance_spline",
697 ":trajectory",
Austin Schuhfc0caa82023-08-25 14:25:03 -0700698 "//aos/logging",
Austin Schuhec7f06d2019-01-04 07:47:15 +1100699 "//aos/network:team_number",
Austin Schuhec7f06d2019-01-04 07:47:15 +1100700 "//third_party/matplotlib-cpp",
Austin Schuh11043182019-03-23 22:29:12 -0700701 "//y2019/control_loops/drivetrain:drivetrain_base",
Austin Schuhec7f06d2019-01-04 07:47:15 +1100702 "@com_github_gflags_gflags//:gflags",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700703 "@org_tuxfamily_eigen//:eigen",
Austin Schuhec7f06d2019-01-04 07:47:15 +1100704 ],
705)
706
707cc_test(
708 name = "trajectory_test",
709 srcs = [
710 "trajectory_test.cc",
711 ],
Austin Schuh719a33e2019-01-07 15:13:34 -0800712 defines =
713 cpu_select({
714 "amd64": [
715 "SUPPORT_PLOT=1",
716 ],
717 "arm": [],
718 }),
719 linkstatic = True,
Philipp Schraderdada1072020-11-24 11:34:46 -0800720 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhec7f06d2019-01-04 07:47:15 +1100721 deps = [
James Kuszmaulea314d92019-02-18 19:45:06 -0800722 ":drivetrain_test_lib",
Maxwell Hendersoncef6f042023-05-26 14:38:09 -0700723 ":trajectory",
Austin Schuhec7f06d2019-01-04 07:47:15 +1100724 "//aos/testing:googletest",
725 "//aos/testing:test_shm",
726 "//y2016:constants",
727 "//y2016/control_loops/drivetrain:polydrivetrain_plants",
James Kuszmaulea314d92019-02-18 19:45:06 -0800728 "//y2019/control_loops/drivetrain:drivetrain_base",
Austin Schuh719a33e2019-01-07 15:13:34 -0800729 ] + cpu_select({
730 "amd64": [
731 "//third_party/matplotlib-cpp",
732 ],
733 "arm": [],
734 }),
Austin Schuhec7f06d2019-01-04 07:47:15 +1100735)
Austin Schuhca080812017-05-10 19:31:55 -0700736
737cc_library(
738 name = "improved_down_estimator",
739 srcs = [
740 "improved_down_estimator.cc",
741 ],
742 hdrs = [
743 "improved_down_estimator.h",
744 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800745 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhca080812017-05-10 19:31:55 -0700746 deps = [
James Kuszmaul7f55f072020-03-01 10:21:26 -0800747 ":drivetrain_config",
James Kuszmaul3e1bb272020-01-17 18:38:19 -0800748 ":drivetrain_status_fbs",
749 "//aos/events:event_loop",
750 "//frc971/control_loops:control_loops_fbs",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700751 "//frc971/control_loops:quaternion_utils",
Austin Schuhca080812017-05-10 19:31:55 -0700752 "//frc971/control_loops:runge_kutta",
James Kuszmaul3e1bb272020-01-17 18:38:19 -0800753 "@//aos/time",
Austin Schuhca080812017-05-10 19:31:55 -0700754 "@com_github_google_glog//:glog",
755 "@org_tuxfamily_eigen//:eigen",
756 ],
757)
758
759cc_test(
760 name = "improved_down_estimator_test",
761 srcs = [
762 "improved_down_estimator_test.cc",
763 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800764 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhca080812017-05-10 19:31:55 -0700765 deps = [
James Kuszmaul7f55f072020-03-01 10:21:26 -0800766 ":drivetrain_test_lib",
Austin Schuhca080812017-05-10 19:31:55 -0700767 "//aos/testing:googletest",
768 "//aos/testing:random_seed",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700769 "//frc971/control_loops:quaternion_utils",
Austin Schuhca080812017-05-10 19:31:55 -0700770 "//frc971/control_loops/drivetrain:improved_down_estimator",
771 "@org_tuxfamily_eigen//:eigen",
772 ],
773)
James Kuszmaulf4ede202020-02-14 08:47:40 -0800774
775cc_library(
776 name = "camera",
777 srcs = ["camera.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800778 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaulf4ede202020-02-14 08:47:40 -0800779 visibility = ["//visibility:public"],
780 deps = [
781 "//aos/containers:sized_array",
782 "//frc971/control_loops:pose",
783 ],
784)
785
786cc_test(
787 name = "camera_test",
788 srcs = ["camera_test.cc"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800789 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaulf4ede202020-02-14 08:47:40 -0800790 deps = [
791 ":camera",
792 "//aos/testing:googletest",
793 ],
794)
James Kuszmaulc4ae11c2020-12-26 16:26:58 -0800795
Philipp Schrader3de4dfc2023-02-15 20:18:25 -0800796ts_project(
James Kuszmaulac2b6b42021-03-07 22:38:06 -0800797 name = "down_estimator_plotter",
798 srcs = ["down_estimator_plotter.ts"],
799 target_compatible_with = ["@platforms//os:linux"],
800 deps = [
801 "//aos/network/www:aos_plotter",
802 "//aos/network/www:colors",
803 "//aos/network/www:proxy",
804 "//frc971/wpilib:imu_plot_utils",
805 ],
806)
807
Philipp Schrader3de4dfc2023-02-15 20:18:25 -0800808ts_project(
James Kuszmaul73fc1352021-04-09 22:31:25 -0700809 name = "spline_plotter",
810 srcs = ["spline_plotter.ts"],
811 target_compatible_with = ["@platforms//os:linux"],
812 deps = [
813 "//aos/network/www:aos_plotter",
814 "//aos/network/www:colors",
815 "//aos/network/www:proxy",
816 ],
817)
818
Philipp Schrader3de4dfc2023-02-15 20:18:25 -0800819ts_project(
James Kuszmaulc4ae11c2020-12-26 16:26:58 -0800820 name = "drivetrain_plotter",
821 srcs = ["drivetrain_plotter.ts"],
822 target_compatible_with = ["@platforms//os:linux"],
823 deps = [
824 "//aos/network/www:aos_plotter",
James Kuszmaul933a9742021-03-07 19:59:06 -0800825 "//aos/network/www:colors",
James Kuszmaulc4ae11c2020-12-26 16:26:58 -0800826 "//aos/network/www:proxy",
827 "//frc971/wpilib:imu_plot_utils",
828 ],
829)
milind upadhyay9bd381d2021-01-23 13:44:13 -0800830
Philipp Schrader3de4dfc2023-02-15 20:18:25 -0800831ts_project(
milind upadhyay9bd381d2021-01-23 13:44:13 -0800832 name = "robot_state_plotter",
833 srcs = ["robot_state_plotter.ts"],
834 target_compatible_with = ["@platforms//os:linux"],
835 deps = [
836 "//aos/network/www:aos_plotter",
James Kuszmaul933a9742021-03-07 19:59:06 -0800837 "//aos/network/www:colors",
milind upadhyay9bd381d2021-01-23 13:44:13 -0800838 "//aos/network/www:proxy",
839 ],
840)