blob: 43c448149d2a4db43f12d873f5e557ad12701630 [file] [log] [blame]
James Kuszmaul04a343c2023-02-20 16:38:22 -08001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
James Kuszmaula8e0d6e2023-03-12 13:33:36 -07002load("//tools/build_rules:js.bzl", "ts_project")
James Kuszmaul827a6d62023-03-26 12:40:29 -07003load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
4
5ts_project(
6 name = "localizer_plotter",
7 srcs = ["localizer_plotter.ts"],
8 target_compatible_with = ["@platforms//os:linux"],
9 visibility = ["//visibility:public"],
10 deps = [
11 "//aos/network/www:aos_plotter",
12 "//aos/network/www:colors",
13 "//aos/network/www:proxy",
14 "//frc971/wpilib:imu_plot_utils",
15 ],
16)
James Kuszmaul04a343c2023-02-20 16:38:22 -080017
18flatbuffer_cc_library(
19 name = "status_fbs",
20 srcs = [
21 "status.fbs",
22 ],
23 gen_reflections = True,
24 target_compatible_with = ["@platforms//os:linux"],
25 visibility = ["//visibility:public"],
26 deps = [
27 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
28 "//frc971/imu_reader:imu_failures_fbs",
29 ],
30)
31
32flatbuffer_ts_library(
33 name = "status_ts_fbs",
34 srcs = ["status.fbs"],
35 visibility = ["//visibility:public"],
36 deps = [
37 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
38 "//frc971/imu_reader:imu_failures_ts_fbs",
39 ],
40)
41
42flatbuffer_cc_library(
43 name = "visualization_fbs",
44 srcs = [
45 "visualization.fbs",
46 ],
47 gen_reflections = True,
James Kuszmaul04a343c2023-02-20 16:38:22 -080048 visibility = ["//visibility:public"],
49 deps = [
50 ":status_fbs",
51 ],
52)
53
54flatbuffer_ts_library(
55 name = "visualization_ts_fbs",
56 srcs = ["visualization.fbs"],
57 visibility = ["//visibility:public"],
58 deps = [
59 ":status_ts_fbs",
60 ],
61)
62
James Kuszmaul18008f82023-02-23 20:52:50 -080063flatbuffer_cc_library(
64 name = "scoring_map_fbs",
65 srcs = [
66 "scoring_map.fbs",
67 ],
68 gen_reflections = True,
69 visibility = ["//visibility:public"],
70 deps = [
71 "//frc971/vision:target_map_fbs",
72 ],
73)
74
75flatbuffer_cc_library(
76 name = "relative_scoring_map_fbs",
77 srcs = [
78 "relative_scoring_map.fbs",
79 ],
80 gen_reflections = True,
81 visibility = ["//visibility:public"],
82 deps = [
83 ":scoring_map_fbs",
84 ],
85)
86
87cc_library(
88 name = "utils",
89 srcs = ["utils.cc"],
90 hdrs = ["utils.h"],
milind-u607f3232023-02-26 15:22:40 -080091 visibility = ["//visibility:public"],
James Kuszmaul18008f82023-02-23 20:52:50 -080092 deps = [
93 "//frc971/vision:target_map_fbs",
94 "@org_tuxfamily_eigen//:eigen",
95 ],
96)
97
98cc_library(
99 name = "map_expander_lib",
100 srcs = ["map_expander_lib.cc"],
101 hdrs = ["map_expander_lib.h"],
102 deps = [
103 ":relative_scoring_map_fbs",
104 ":scoring_map_fbs",
105 ":utils",
106 "//aos:flatbuffers",
107 "//aos:json_to_flatbuffer",
108 ],
109)
110
111cc_binary(
112 name = "map_expander",
113 srcs = ["map_expander.cc"],
114 data = [
115 "//y2023/constants:scoring_map",
116 "//y2023/vision/maps",
117 ],
118 deps = [
119 ":map_expander_lib",
120 "//aos:init",
121 ],
122)
123
124cc_test(
125 name = "map_expander_lib_test",
126 srcs = ["map_expander_lib_test.cc"],
127 data = [
128 "//y2023/constants:scoring_map",
129 "//y2023/vision/maps",
130 ],
131 deps = [
132 ":map_expander_lib",
133 "//aos/testing:flatbuffer_eq",
134 "//aos/testing:googletest",
135 ],
136)
137
James Kuszmaul04a343c2023-02-20 16:38:22 -0800138cc_library(
139 name = "localizer",
140 srcs = ["localizer.cc"],
141 hdrs = ["localizer.h"],
milind-ud4051fe2023-02-25 18:00:05 -0800142 visibility = ["//visibility:public"],
James Kuszmaul04a343c2023-02-20 16:38:22 -0800143 deps = [
144 ":status_fbs",
James Kuszmaul18008f82023-02-23 20:52:50 -0800145 ":utils",
James Kuszmaul04a343c2023-02-20 16:38:22 -0800146 ":visualization_fbs",
147 "//aos/containers:sized_array",
148 "//aos/events:event_loop",
149 "//frc971/constants:constants_sender_lib",
150 "//frc971/control_loops:pose",
151 "//frc971/control_loops/drivetrain:hybrid_ekf",
152 "//frc971/control_loops/drivetrain:improved_down_estimator",
153 "//frc971/control_loops/drivetrain:localizer_fbs",
154 "//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
155 "//frc971/control_loops/drivetrain/localization:utils",
156 "//frc971/imu_reader:imu_watcher",
157 "//frc971/vision:target_map_fbs",
158 "//y2023:constants",
159 "//y2023/constants:constants_fbs",
160 ],
161)
162
163cc_test(
164 name = "localizer_test",
165 srcs = ["localizer_test.cc"],
166 data = ["//y2023:aos_config"],
167 deps = [
168 ":localizer",
169 ":status_fbs",
James Kuszmaul18008f82023-02-23 20:52:50 -0800170 ":utils",
James Kuszmaul04a343c2023-02-20 16:38:22 -0800171 "//aos/events:simulated_event_loop",
172 "//aos/events/logging:log_writer",
173 "//aos/testing:googletest",
174 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
175 "//frc971/control_loops/drivetrain:localizer_fbs",
176 "//y2023/constants:simulated_constants_sender",
177 "//y2023/control_loops/drivetrain:drivetrain_base",
178 ],
179)
180
181cc_binary(
182 name = "localizer_main",
183 srcs = ["localizer_main.cc"],
184 visibility = ["//visibility:public"],
185 deps = [
186 ":localizer",
187 "//aos:init",
188 "//aos/events:shm_event_loop",
189 "//frc971/constants:constants_sender_lib",
190 "//y2023/control_loops/drivetrain:drivetrain_base",
191 ],
192)
James Kuszmaula8e0d6e2023-03-12 13:33:36 -0700193
194ts_project(
195 name = "corrections_plotter",
196 srcs = ["corrections_plotter.ts"],
197 target_compatible_with = ["@platforms//os:linux"],
198 visibility = ["//visibility:public"],
199 deps = [
200 ":visualization_ts_fbs",
201 "//aos/network/www:aos_plotter",
202 "//aos/network/www:colors",
203 "//aos/network/www:proxy",
204 ],
205)
James Kuszmaul6e0d8652023-03-12 14:02:26 -0700206
207cc_binary(
208 name = "localizer_replay",
209 srcs = ["localizer_replay.cc"],
210 data = [
211 "//y2023:aos_config",
212 ],
213 target_compatible_with = ["@platforms//os:linux"],
214 deps = [
215 ":localizer",
216 "//aos:configuration",
217 "//aos:init",
218 "//aos:json_to_flatbuffer",
219 "//aos/events:simulated_event_loop",
220 "//aos/events/logging:log_reader",
221 "//aos/events/logging:log_writer",
222 "//y2023/control_loops/drivetrain:drivetrain_base",
223 ],
224)