blob: a612ecb772cf46e361267819cf5bec26530d2003 [file] [log] [blame]
Austin Schuhbcce26a2018-03-26 23:41:24 -07001package(default_visibility = ["//visibility:public"])
Brian Silverman100534c2015-09-07 15:51:23 -04002
Austin Schuhbcce26a2018-03-26 23:41:24 -07003load("//aos/build:queues.bzl", "queue_library")
4load("//tools:environments.bzl", "mcu_cpus")
Brian Silverman100534c2015-09-07 15:51:23 -04005
6cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -07007 name = "replay_control_loop",
8 hdrs = [
9 "replay_control_loop.h",
10 ],
11 deps = [
12 ":control_loop",
John Park33858a32018-09-28 23:05:48 -070013 "//aos:queues",
John Park33858a32018-09-28 23:05:48 -070014 "//aos/logging:queue_logging",
15 "//aos/logging:replay",
Austin Schuh2001aa42018-10-29 22:57:02 -070016 "//aos/time",
Austin Schuhbcce26a2018-03-26 23:41:24 -070017 ],
Brian Silverman100534c2015-09-07 15:51:23 -040018)
19
20cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070021 name = "control_loop_test",
22 testonly = True,
23 srcs = [
24 "control_loop_test.cc",
25 ],
26 hdrs = [
27 "control_loop_test.h",
28 ],
29 deps = [
Austin Schuh9fe68f72019-08-10 19:32:03 -070030 "//aos/events:simulated_event_loop",
John Park33858a32018-09-28 23:05:48 -070031 "//aos/logging:queue_logging",
Austin Schuh2001aa42018-10-29 22:57:02 -070032 "//aos/robot_state",
Austin Schuhbcce26a2018-03-26 23:41:24 -070033 "//aos/testing:googletest",
34 "//aos/testing:test_shm",
Austin Schuh2001aa42018-10-29 22:57:02 -070035 "//aos/time",
Austin Schuhbcce26a2018-03-26 23:41:24 -070036 ],
Brian Silverman100534c2015-09-07 15:51:23 -040037)
38
39cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070040 name = "polytope_uc",
41 hdrs = [
42 "polytope.h",
43 ],
44 restricted_to = mcu_cpus,
45 deps = [
46 "//third_party/eigen",
47 ],
48)
49
50cc_library(
51 name = "polytope",
52 hdrs = [
53 "polytope.h",
54 ],
55 deps = [
John Park33858a32018-09-28 23:05:48 -070056 "//aos/logging",
57 "//aos/logging:matrix_logging",
Austin Schuhbcce26a2018-03-26 23:41:24 -070058 "//third_party/cddlib",
59 "//third_party/eigen",
60 ],
Brian Silvermanaba7bf62016-01-31 18:03:59 -050061)
62
63cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -070064 name = "polytope_test",
65 srcs = [
66 "polytope_test.cc",
67 ],
68 deps = [
69 ":polytope",
70 "//aos/testing:googletest",
71 "//aos/testing:test_logging",
72 "//third_party/eigen",
Austin Schuhbcce26a2018-03-26 23:41:24 -070073 ],
Brian Silverman100534c2015-09-07 15:51:23 -040074)
75
76queue_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070077 name = "control_loop_queues",
78 srcs = [
79 "control_loops.q",
80 ],
Brian Silverman100534c2015-09-07 15:51:23 -040081)
82
83cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070084 name = "control_loop",
85 srcs = [
86 "control_loop.cc",
87 "control_loop-tmpl.h",
88 ],
89 hdrs = [
90 "control_loop.h",
91 ],
92 deps = [
93 ":control_loop_queues",
John Park33858a32018-09-28 23:05:48 -070094 "//aos:queues",
Austin Schuha1654ed2019-01-27 17:24:54 -080095 "//aos/events:event-loop",
96 "//aos/events:shm-event-loop",
John Park33858a32018-09-28 23:05:48 -070097 "//aos/logging",
98 "//aos/logging:queue_logging",
Austin Schuh2001aa42018-10-29 22:57:02 -070099 "//aos/robot_state",
100 "//aos/time",
John Park33858a32018-09-28 23:05:48 -0700101 "//aos/util:log_interval",
Austin Schuhbcce26a2018-03-26 23:41:24 -0700102 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400103)