blob: d46bca68aa1b3f6f58e9ea6c2b279edf9b83b9f7 [file] [log] [blame]
Austin Schuha647d602018-02-18 14:05:15 -08001package(default_visibility = ["//visibility:public"])
Brian Silverman100534c2015-09-07 15:51:23 -04002
Austin Schuha647d602018-02-18 14:05:15 -08003load("//aos/build:queues.bzl", "queue_library")
Austin Schuhbcce26a2018-03-26 23:41:24 -07004load("//tools:environments.bzl", "mcu_cpus")
Brian Silverman100534c2015-09-07 15:51:23 -04005
6cc_library(
Austin Schuha647d602018-02-18 14:05:15 -08007 name = "team_number_test_environment",
8 testonly = True,
9 srcs = [
10 "team_number_test_environment.cc",
11 ],
12 hdrs = [
13 "team_number_test_environment.h",
14 ],
15 deps = [
John Park33858a32018-09-28 23:05:48 -070016 "//aos/network:team_number",
Austin Schuha647d602018-02-18 14:05:15 -080017 "//aos/testing:googletest",
18 ],
Brian Silverman100534c2015-09-07 15:51:23 -040019)
20
21cc_test(
Austin Schuha647d602018-02-18 14:05:15 -080022 name = "hybrid_state_feedback_loop_test",
23 srcs = [
24 "hybrid_state_feedback_loop_test.cc",
25 ],
26 deps = [
27 ":hybrid_state_feedback_loop",
28 "//aos/testing:googletest",
29 ],
Brian Silverman100534c2015-09-07 15:51:23 -040030)
31
32cc_library(
Austin Schuha647d602018-02-18 14:05:15 -080033 name = "hall_effect_tracker",
34 hdrs = [
35 "hall_effect_tracker.h",
36 ],
37 deps = [
38 ":queues",
39 ],
Brian Silverman100534c2015-09-07 15:51:23 -040040)
41
42queue_library(
Austin Schuha647d602018-02-18 14:05:15 -080043 name = "queues",
44 srcs = [
45 "control_loops.q",
46 ],
Brian Silverman100534c2015-09-07 15:51:23 -040047)
48
49cc_test(
Austin Schuha647d602018-02-18 14:05:15 -080050 name = "position_sensor_sim_test",
51 srcs = [
52 "position_sensor_sim_test.cc",
53 ],
54 deps = [
55 ":position_sensor_sim",
56 ":queues",
John Park33858a32018-09-28 23:05:48 -070057 "//aos/logging",
Austin Schuha647d602018-02-18 14:05:15 -080058 "//aos/testing:googletest",
59 ],
Brian Silverman100534c2015-09-07 15:51:23 -040060)
61
62cc_library(
Austin Schuha647d602018-02-18 14:05:15 -080063 name = "position_sensor_sim",
64 testonly = True,
65 srcs = [
66 "position_sensor_sim.cc",
67 ],
68 hdrs = [
69 "position_sensor_sim.h",
70 ],
Brian Silverman6470f442018-08-05 12:08:16 -070071 linkopts = [
72 "-lm",
73 ],
Austin Schuha647d602018-02-18 14:05:15 -080074 deps = [
75 ":gaussian_noise",
76 ":queues",
77 "//aos/testing:random_seed",
Philipp Schraderb3a057e2018-03-10 18:59:40 -080078 ],
Brian Silverman100534c2015-09-07 15:51:23 -040079)
80
81cc_library(
Austin Schuha647d602018-02-18 14:05:15 -080082 name = "gaussian_noise",
83 srcs = [
84 "gaussian_noise.cc",
85 ],
86 hdrs = [
87 "gaussian_noise.h",
88 ],
Philipp Schraderb3a057e2018-03-10 18:59:40 -080089 linkopts = [
90 "-lm",
Austin Schuha647d602018-02-18 14:05:15 -080091 ],
Brian Silverman100534c2015-09-07 15:51:23 -040092)
93
94cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070095 name = "coerce_goal_uc",
96 srcs = [
97 "coerce_goal.cc",
98 ],
99 hdrs = [
100 "coerce_goal.h",
101 ],
102 restricted_to = mcu_cpus,
103 deps = [
John Park33858a32018-09-28 23:05:48 -0700104 "//aos/controls:polytope_uc",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700105 "//third_party/eigen",
106 ],
107)
108
109cc_library(
Austin Schuha647d602018-02-18 14:05:15 -0800110 name = "coerce_goal",
111 srcs = [
112 "coerce_goal.cc",
113 ],
114 hdrs = [
115 "coerce_goal.h",
116 ],
Brian Silverman6470f442018-08-05 12:08:16 -0700117 linkopts = [
118 "-lm",
119 ],
Austin Schuha647d602018-02-18 14:05:15 -0800120 deps = [
John Park33858a32018-09-28 23:05:48 -0700121 "//aos/controls:polytope",
Austin Schuha647d602018-02-18 14:05:15 -0800122 "//third_party/eigen",
123 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400124)
125
Brian Silverman6260c092018-01-14 15:21:36 -0800126# TODO(austin): Select isn't working right. We should be able to remove
127# logging conditionally with select and have CPU constraints work correctly.
128cc_library(
Austin Schuha647d602018-02-18 14:05:15 -0800129 name = "state_feedback_loop_uc",
130 hdrs = [
131 "state_feedback_loop.h",
132 ],
Brian Silverman1613b6e2018-09-03 19:10:37 -0700133 restricted_to = mcu_cpus,
Austin Schuha647d602018-02-18 14:05:15 -0800134 deps = [
John Park33858a32018-09-28 23:05:48 -0700135 "//aos:macros",
Austin Schuha647d602018-02-18 14:05:15 -0800136 "//third_party/eigen",
137 ],
Austin Schuh4cc4fe22017-11-23 19:13:09 -0800138)
139
140cc_library(
Austin Schuha647d602018-02-18 14:05:15 -0800141 name = "state_feedback_loop",
142 hdrs = [
143 "state_feedback_loop.h",
144 ],
145 deps = [
John Park33858a32018-09-28 23:05:48 -0700146 "//aos:macros",
147 "//aos/logging",
Austin Schuha647d602018-02-18 14:05:15 -0800148 "//third_party/eigen",
149 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400150)
Brian Silverman2b1957a2016-02-14 20:29:57 -0500151
152cc_library(
Austin Schuha647d602018-02-18 14:05:15 -0800153 name = "hybrid_state_feedback_loop",
154 hdrs = [
155 "hybrid_state_feedback_loop.h",
156 ],
157 deps = [
Austin Schuh9b881ae2019-01-04 07:29:20 +1100158 ":c2d",
Austin Schuha647d602018-02-18 14:05:15 -0800159 ":state_feedback_loop",
John Park33858a32018-09-28 23:05:48 -0700160 "//aos:macros",
161 "//aos/controls:control_loop",
162 "//aos/logging",
Austin Schuha647d602018-02-18 14:05:15 -0800163 "//third_party/eigen",
164 ],
Brian Silverman2b1957a2016-02-14 20:29:57 -0500165)
Austin Schuhacd335a2017-01-01 16:20:54 -0800166
167cc_library(
Austin Schuha647d602018-02-18 14:05:15 -0800168 name = "simple_capped_state_feedback_loop",
169 hdrs = [
170 "simple_capped_state_feedback_loop.h",
171 ],
172 deps = [
173 ":state_feedback_loop",
174 "//third_party/eigen",
175 ],
176)
177
178cc_library(
179 name = "runge_kutta",
180 hdrs = [
181 "runge_kutta.h",
182 ],
183 deps = [
184 "//third_party/eigen",
185 ],
Austin Schuhacd335a2017-01-01 16:20:54 -0800186)
187
188cc_test(
Austin Schuha647d602018-02-18 14:05:15 -0800189 name = "runge_kutta_test",
190 srcs = [
191 "runge_kutta_test.cc",
192 ],
193 deps = [
194 ":runge_kutta",
195 "//aos/testing:googletest",
196 "//third_party/eigen",
197 ],
Austin Schuhacd335a2017-01-01 16:20:54 -0800198)
Austin Schuh473a5652017-02-05 01:30:42 -0800199
Austin Schuh173a1592018-12-19 16:20:54 +1100200cc_library(
201 name = "fixed_quadrature",
202 hdrs = [
203 "fixed_quadrature.h",
204 ],
205)
206
207cc_test(
208 name = "fixed_quadrature_test",
209 srcs = [
210 "fixed_quadrature_test.cc",
211 ],
212 deps = [
213 ":fixed_quadrature",
214 "//aos/testing:googletest",
215 ],
216)
217
Austin Schuh3634ed32017-02-05 16:28:49 -0800218queue_library(
Austin Schuha647d602018-02-18 14:05:15 -0800219 name = "profiled_subsystem_queue",
220 srcs = [
221 "profiled_subsystem.q",
222 ],
223 deps = [
224 ":queues",
225 ],
Austin Schuh3634ed32017-02-05 16:28:49 -0800226)
227
Austin Schuh473a5652017-02-05 01:30:42 -0800228cc_library(
Austin Schuha647d602018-02-18 14:05:15 -0800229 name = "profiled_subsystem",
230 srcs = [
231 "profiled_subsystem.cc",
232 ],
233 hdrs = [
234 "profiled_subsystem.h",
235 ],
236 deps = [
237 ":profiled_subsystem_queue",
238 ":simple_capped_state_feedback_loop",
239 ":state_feedback_loop",
John Park33858a32018-09-28 23:05:48 -0700240 "//aos/controls:control_loop",
241 "//aos/util:trapezoid_profile",
Austin Schuha647d602018-02-18 14:05:15 -0800242 "//frc971/zeroing",
243 ],
Austin Schuh473a5652017-02-05 01:30:42 -0800244)
Austin Schuha647d602018-02-18 14:05:15 -0800245
246cc_library(
247 name = "jacobian",
248 hdrs = [
249 "jacobian.h",
250 ],
251 deps = [
252 "//third_party/eigen",
253 ],
254)
255
256cc_test(
257 name = "jacobian_test",
258 srcs = [
259 "jacobian_test.cc",
260 ],
261 deps = [
262 ":jacobian",
263 "//aos/testing:googletest",
264 "//third_party/eigen",
265 ],
266)
267
James Kuszmaul59a5c612019-01-22 07:56:08 -0800268cc_test(
269 name = "c2d_test",
270 srcs = [
271 "c2d_test.cc",
272 ],
273 visibility = ["//visibility:public"],
274 deps = [
275 ":c2d",
276 ":runge_kutta",
277 "//aos/testing:googletest",
278 ],
279)
280
Austin Schuh03785132018-02-19 18:29:06 -0800281cc_library(
Austin Schuh9b881ae2019-01-04 07:29:20 +1100282 name = "c2d",
283 hdrs = [
284 "c2d.h",
285 ],
286 visibility = ["//visibility:public"],
287 deps = [
288 "//third_party/eigen",
289 ],
290)
291
292cc_library(
Austin Schuh03785132018-02-19 18:29:06 -0800293 name = "dlqr",
294 hdrs = [
295 "dlqr.h",
296 ],
297 visibility = ["//visibility:public"],
298 deps = [
299 "//third_party/eigen",
300 "@slycot_repo//:slicot",
301 ],
302)
Brian Silverman6470f442018-08-05 12:08:16 -0700303
304py_library(
305 name = "python_init",
306 srcs = ["__init__.py"],
307 visibility = ["//visibility:public"],
308 deps = ["//frc971:python_init"],
309)
Austin Schuhe6e7ea52019-01-13 17:26:36 -0800310
311cc_library(
312 name = "binomial",
313 hdrs = ["binomial.h"],
314)
315
316cc_test(
317 name = "binomial_test",
318 srcs = [
319 "binomial_test.cc",
320 ],
321 deps = [
322 ":binomial",
323 "//aos/testing:googletest",
324 ],
325)