blob: f90cc9273e331ec7233f4f570514423064035f3d [file] [log] [blame]
Austin Schuh718c44c2018-02-17 15:38:01 -08001cc_library(
2 name = "trajectory",
3 srcs = [
4 "trajectory.cc",
5 ],
6 hdrs = [
7 "trajectory.h",
8 ],
Philipp Schraderdada1072020-11-24 11:34:46 -08009 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2a3e0632018-02-19 16:24:49 -080010 visibility = ["//visibility:public"],
Austin Schuh8e99b822018-02-18 00:15:36 -080011 deps = [
12 ":dynamics",
John Park33858a32018-09-28 23:05:48 -070013 "//aos/logging",
Austin Schuh03785132018-02-19 18:29:06 -080014 "//frc971/control_loops:dlqr",
Austin Schuh0cf83482018-02-18 21:36:50 -080015 "//frc971/control_loops:jacobian",
Alex Perrycb7da4b2019-08-28 19:35:56 -070016 "@org_tuxfamily_eigen//:eigen",
Austin Schuh8e99b822018-02-18 00:15:36 -080017 ],
Austin Schuh718c44c2018-02-17 15:38:01 -080018)
19
20cc_test(
21 name = "trajectory_test",
22 srcs = [
23 "trajectory_test.cc",
24 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080025 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh718c44c2018-02-17 15:38:01 -080026 deps = [
Austin Schuh0cf83482018-02-18 21:36:50 -080027 ":demo_path",
28 ":dynamics",
Austin Schuh54e5bb52018-02-19 01:09:18 -080029 ":ekf",
Austin Schuh718c44c2018-02-17 15:38:01 -080030 ":trajectory",
31 "//aos/testing:googletest",
Alex Perrycb7da4b2019-08-28 19:35:56 -070032 "@org_tuxfamily_eigen//:eigen",
Austin Schuh718c44c2018-02-17 15:38:01 -080033 ],
34)
Austin Schuh74455862018-02-17 17:14:59 -080035
36cc_library(
37 name = "dynamics",
38 srcs = [
39 "dynamics.cc",
40 ],
41 hdrs = [
42 "dynamics.h",
43 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080044 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2a3e0632018-02-19 16:24:49 -080045 visibility = ["//visibility:public"],
Austin Schuh74455862018-02-17 17:14:59 -080046 deps = [
47 "//frc971/control_loops:runge_kutta",
Brian Silverman16a923c2018-10-31 19:40:51 -070048 "@com_github_gflags_gflags//:gflags",
Alex Perrycb7da4b2019-08-28 19:35:56 -070049 "@org_tuxfamily_eigen//:eigen",
Austin Schuh74455862018-02-17 17:14:59 -080050 ],
51)
52
Austin Schuh0cf83482018-02-18 21:36:50 -080053cc_library(
54 name = "demo_path",
55 srcs = [
56 "demo_path.cc",
57 ],
58 hdrs = ["demo_path.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -080059 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh0cf83482018-02-18 21:36:50 -080060 deps = [":trajectory"],
61)
62
Austin Schuh74455862018-02-17 17:14:59 -080063cc_test(
64 name = "dynamics_test",
65 srcs = [
66 "dynamics_test.cc",
67 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080068 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh74455862018-02-17 17:14:59 -080069 deps = [
70 ":dynamics",
71 "//aos/testing:googletest",
72 ],
73)
Austin Schuh0cf83482018-02-18 21:36:50 -080074
75cc_binary(
76 name = "trajectory_plot",
77 srcs = [
78 "trajectory_plot.cc",
79 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080080 target_compatible_with = ["@platforms//cpu:x86_64"],
Austin Schuh0cf83482018-02-18 21:36:50 -080081 deps = [
Austin Schuh54e5bb52018-02-19 01:09:18 -080082 ":ekf",
Austin Schuh7dfccf62018-03-03 21:28:14 -080083 ":generated_graph",
Austin Schuh0cf83482018-02-18 21:36:50 -080084 ":trajectory",
Austin Schuhfd84c332023-02-11 18:12:22 -080085 "//frc971/analysis:in_process_plotter",
Brian Silverman16a923c2018-10-31 19:40:51 -070086 "@com_github_gflags_gflags//:gflags",
Alex Perrycb7da4b2019-08-28 19:35:56 -070087 "@org_tuxfamily_eigen//:eigen",
Austin Schuh0cf83482018-02-18 21:36:50 -080088 ],
89)
Austin Schuh54e5bb52018-02-19 01:09:18 -080090
91cc_library(
92 name = "ekf",
93 srcs = [
94 "ekf.cc",
95 ],
96 hdrs = [
97 "ekf.h",
98 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080099 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2a3e0632018-02-19 16:24:49 -0800100 visibility = ["//visibility:public"],
Austin Schuh54e5bb52018-02-19 01:09:18 -0800101 deps = [
102 ":dynamics",
103 "//frc971/control_loops:jacobian",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700104 "@org_tuxfamily_eigen//:eigen",
Austin Schuh54e5bb52018-02-19 01:09:18 -0800105 ],
106)
Parker Schuhbe36c5b2018-02-19 01:06:50 -0800107
108cc_library(
109 name = "graph",
110 srcs = ["graph.cc"],
111 hdrs = ["graph.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800112 target_compatible_with = ["@platforms//os:linux"],
Parker Schuhbe36c5b2018-02-19 01:06:50 -0800113)
114
115cc_test(
116 name = "graph_test",
117 srcs = ["graph_test.cc"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800118 target_compatible_with = ["@platforms//os:linux"],
Parker Schuhbe36c5b2018-02-19 01:06:50 -0800119 deps = [
120 ":graph",
121 "//aos/testing:googletest",
122 ],
123)
Austin Schuhcb091712018-02-21 20:01:55 -0800124
125cc_library(
126 name = "arm",
127 srcs = [
128 "arm.cc",
129 ],
130 hdrs = [
131 "arm.h",
132 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800133 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhcb091712018-02-21 20:01:55 -0800134 visibility = ["//visibility:public"],
135 deps = [
136 ":demo_path",
137 ":ekf",
Austin Schuh7dfccf62018-03-03 21:28:14 -0800138 ":generated_graph",
Austin Schuhcb091712018-02-21 20:01:55 -0800139 ":graph",
140 ":trajectory",
Austin Schuhcb091712018-02-21 20:01:55 -0800141 "//frc971/zeroing",
142 "//y2018:constants",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700143 "//y2018/control_loops/superstructure:superstructure_position_fbs",
144 "//y2018/control_loops/superstructure:superstructure_status_fbs",
Austin Schuhcb091712018-02-21 20:01:55 -0800145 ],
146)
Austin Schuh7dfccf62018-03-03 21:28:14 -0800147
148genrule(
149 name = "generated_graph_genrule",
150 outs = [
151 "generated_graph.h",
152 "generated_graph.cc",
153 ],
154 cmd = "$(location //y2018/control_loops/python:graph_codegen) $(OUTS)",
Philipp Schraderdada1072020-11-24 11:34:46 -0800155 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh7dfccf62018-03-03 21:28:14 -0800156 tools = [
157 "//y2018/control_loops/python:graph_codegen",
158 ],
159)
160
161cc_library(
162 name = "generated_graph",
163 srcs = [
164 "generated_graph.cc",
165 ],
166 hdrs = ["generated_graph.h"],
Austin Schuhcf96d322018-04-07 15:52:31 -0700167 copts = [
168 "-O1",
169 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800170 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhab15c4d2018-03-09 21:21:03 -0800171 visibility = ["//visibility:public"],
Austin Schuh7dfccf62018-03-03 21:28:14 -0800172 deps = [
173 ":graph",
174 ":trajectory",
175 ],
176)