blob: 7988e51ab8ff212168f4b20b9ee4a148e8ac16ba [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 = [
158 ":state_feedback_loop",
John Park33858a32018-09-28 23:05:48 -0700159 "//aos:macros",
160 "//aos/controls:control_loop",
161 "//aos/logging",
Austin Schuha647d602018-02-18 14:05:15 -0800162 "//third_party/eigen",
163 ],
Brian Silverman2b1957a2016-02-14 20:29:57 -0500164)
Austin Schuhacd335a2017-01-01 16:20:54 -0800165
166cc_library(
Austin Schuha647d602018-02-18 14:05:15 -0800167 name = "simple_capped_state_feedback_loop",
168 hdrs = [
169 "simple_capped_state_feedback_loop.h",
170 ],
171 deps = [
172 ":state_feedback_loop",
173 "//third_party/eigen",
174 ],
175)
176
177cc_library(
178 name = "runge_kutta",
179 hdrs = [
180 "runge_kutta.h",
181 ],
182 deps = [
183 "//third_party/eigen",
184 ],
Austin Schuhacd335a2017-01-01 16:20:54 -0800185)
186
187cc_test(
Austin Schuha647d602018-02-18 14:05:15 -0800188 name = "runge_kutta_test",
189 srcs = [
190 "runge_kutta_test.cc",
191 ],
192 deps = [
193 ":runge_kutta",
194 "//aos/testing:googletest",
195 "//third_party/eigen",
196 ],
Austin Schuhacd335a2017-01-01 16:20:54 -0800197)
Austin Schuh473a5652017-02-05 01:30:42 -0800198
Austin Schuh173a1592018-12-19 16:20:54 +1100199cc_library(
200 name = "fixed_quadrature",
201 hdrs = [
202 "fixed_quadrature.h",
203 ],
204)
205
206cc_test(
207 name = "fixed_quadrature_test",
208 srcs = [
209 "fixed_quadrature_test.cc",
210 ],
211 deps = [
212 ":fixed_quadrature",
213 "//aos/testing:googletest",
214 ],
215)
216
Austin Schuh3634ed32017-02-05 16:28:49 -0800217queue_library(
Austin Schuha647d602018-02-18 14:05:15 -0800218 name = "profiled_subsystem_queue",
219 srcs = [
220 "profiled_subsystem.q",
221 ],
222 deps = [
223 ":queues",
224 ],
Austin Schuh3634ed32017-02-05 16:28:49 -0800225)
226
Austin Schuh473a5652017-02-05 01:30:42 -0800227cc_library(
Austin Schuha647d602018-02-18 14:05:15 -0800228 name = "profiled_subsystem",
229 srcs = [
230 "profiled_subsystem.cc",
231 ],
232 hdrs = [
233 "profiled_subsystem.h",
234 ],
235 deps = [
236 ":profiled_subsystem_queue",
237 ":simple_capped_state_feedback_loop",
238 ":state_feedback_loop",
John Park33858a32018-09-28 23:05:48 -0700239 "//aos/controls:control_loop",
240 "//aos/util:trapezoid_profile",
Austin Schuha647d602018-02-18 14:05:15 -0800241 "//frc971/zeroing",
242 ],
Austin Schuh473a5652017-02-05 01:30:42 -0800243)
Austin Schuha647d602018-02-18 14:05:15 -0800244
245cc_library(
246 name = "jacobian",
247 hdrs = [
248 "jacobian.h",
249 ],
250 deps = [
251 "//third_party/eigen",
252 ],
253)
254
255cc_test(
256 name = "jacobian_test",
257 srcs = [
258 "jacobian_test.cc",
259 ],
260 deps = [
261 ":jacobian",
262 "//aos/testing:googletest",
263 "//third_party/eigen",
264 ],
265)
266
Austin Schuh03785132018-02-19 18:29:06 -0800267cc_library(
268 name = "dlqr",
269 hdrs = [
270 "dlqr.h",
271 ],
272 visibility = ["//visibility:public"],
273 deps = [
274 "//third_party/eigen",
275 "@slycot_repo//:slicot",
276 ],
277)
Brian Silverman6470f442018-08-05 12:08:16 -0700278
279py_library(
280 name = "python_init",
281 srcs = ["__init__.py"],
282 visibility = ["//visibility:public"],
283 deps = ["//frc971:python_init"],
284)