blob: 824813aa658005f8f5aac83c0addfbc7617a732d [file] [log] [blame]
Austin Schuh8f99c822024-05-05 22:43:40 -07001load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
James Kuszmaulf01da392023-12-14 11:22:14 -08002load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
James Kuszmaula8e0d6e2023-03-12 13:33:36 -07003load("//tools/build_rules:js.bzl", "ts_project")
James Kuszmaul827a6d62023-03-26 12:40:29 -07004
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
James Kuszmaulf01da392023-12-14 11:22:14 -080018static_flatbuffer(
James Kuszmaul04a343c2023-02-20 16:38:22 -080019 name = "status_fbs",
20 srcs = [
21 "status.fbs",
22 ],
James Kuszmaul04a343c2023-02-20 16:38:22 -080023 target_compatible_with = ["@platforms//os:linux"],
24 visibility = ["//visibility:public"],
25 deps = [
26 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
27 "//frc971/imu_reader:imu_failures_fbs",
28 ],
29)
30
31flatbuffer_ts_library(
32 name = "status_ts_fbs",
33 srcs = ["status.fbs"],
34 visibility = ["//visibility:public"],
35 deps = [
36 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
37 "//frc971/imu_reader:imu_failures_ts_fbs",
38 ],
39)
40
James Kuszmaulf01da392023-12-14 11:22:14 -080041static_flatbuffer(
James Kuszmaul04a343c2023-02-20 16:38:22 -080042 name = "visualization_fbs",
43 srcs = [
44 "visualization.fbs",
45 ],
James Kuszmaul04a343c2023-02-20 16:38:22 -080046 visibility = ["//visibility:public"],
47 deps = [
48 ":status_fbs",
49 ],
50)
51
52flatbuffer_ts_library(
53 name = "visualization_ts_fbs",
54 srcs = ["visualization.fbs"],
55 visibility = ["//visibility:public"],
56 deps = [
57 ":status_ts_fbs",
58 ],
59)
60
James Kuszmaulf01da392023-12-14 11:22:14 -080061static_flatbuffer(
James Kuszmaul18008f82023-02-23 20:52:50 -080062 name = "scoring_map_fbs",
63 srcs = [
64 "scoring_map.fbs",
65 ],
James Kuszmaul18008f82023-02-23 20:52:50 -080066 visibility = ["//visibility:public"],
67 deps = [
68 "//frc971/vision:target_map_fbs",
69 ],
70)
71
James Kuszmaulf01da392023-12-14 11:22:14 -080072static_flatbuffer(
James Kuszmaul18008f82023-02-23 20:52:50 -080073 name = "relative_scoring_map_fbs",
74 srcs = [
75 "relative_scoring_map.fbs",
76 ],
James Kuszmaul18008f82023-02-23 20:52:50 -080077 visibility = ["//visibility:public"],
78 deps = [
79 ":scoring_map_fbs",
80 ],
81)
82
83cc_library(
James Kuszmaul18008f82023-02-23 20:52:50 -080084 name = "map_expander_lib",
85 srcs = ["map_expander_lib.cc"],
86 hdrs = ["map_expander_lib.h"],
87 deps = [
88 ":relative_scoring_map_fbs",
89 ":scoring_map_fbs",
James Kuszmaul18008f82023-02-23 20:52:50 -080090 "//aos:flatbuffers",
91 "//aos:json_to_flatbuffer",
James Kuszmaul9c3db182024-02-09 22:02:18 -080092 "//frc971/vision:target_map_utils",
James Kuszmaul18008f82023-02-23 20:52:50 -080093 ],
94)
95
96cc_binary(
97 name = "map_expander",
98 srcs = ["map_expander.cc"],
99 data = [
100 "//y2023/constants:scoring_map",
101 "//y2023/vision/maps",
102 ],
103 deps = [
104 ":map_expander_lib",
105 "//aos:init",
106 ],
107)
108
109cc_test(
110 name = "map_expander_lib_test",
111 srcs = ["map_expander_lib_test.cc"],
112 data = [
113 "//y2023/constants:scoring_map",
114 "//y2023/vision/maps",
115 ],
116 deps = [
117 ":map_expander_lib",
118 "//aos/testing:flatbuffer_eq",
119 "//aos/testing:googletest",
120 ],
121)
122
James Kuszmaul04a343c2023-02-20 16:38:22 -0800123cc_library(
124 name = "localizer",
125 srcs = ["localizer.cc"],
126 hdrs = ["localizer.h"],
milind-ud4051fe2023-02-25 18:00:05 -0800127 visibility = ["//visibility:public"],
James Kuszmaul04a343c2023-02-20 16:38:22 -0800128 deps = [
129 ":status_fbs",
130 ":visualization_fbs",
131 "//aos/containers:sized_array",
132 "//aos/events:event_loop",
Maxwell Henderson85d81872023-04-07 18:21:59 -0700133 "//aos/network:message_bridge_client_fbs",
James Kuszmaul04a343c2023-02-20 16:38:22 -0800134 "//frc971/constants:constants_sender_lib",
135 "//frc971/control_loops:pose",
136 "//frc971/control_loops/drivetrain:hybrid_ekf",
137 "//frc971/control_loops/drivetrain:improved_down_estimator",
138 "//frc971/control_loops/drivetrain:localizer_fbs",
139 "//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
140 "//frc971/control_loops/drivetrain/localization:utils",
141 "//frc971/imu_reader:imu_watcher",
142 "//frc971/vision:target_map_fbs",
James Kuszmaul9c3db182024-02-09 22:02:18 -0800143 "//frc971/vision:target_map_utils",
James Kuszmaul04a343c2023-02-20 16:38:22 -0800144 "//y2023:constants",
145 "//y2023/constants:constants_fbs",
146 ],
147)
148
149cc_test(
150 name = "localizer_test",
151 srcs = ["localizer_test.cc"],
152 data = ["//y2023:aos_config"],
153 deps = [
154 ":localizer",
155 ":status_fbs",
James Kuszmaul04a343c2023-02-20 16:38:22 -0800156 "//aos/events:simulated_event_loop",
157 "//aos/events/logging:log_writer",
158 "//aos/testing:googletest",
159 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
160 "//frc971/control_loops/drivetrain:localizer_fbs",
James Kuszmaul9c3db182024-02-09 22:02:18 -0800161 "//frc971/vision:target_map_utils",
James Kuszmaul04a343c2023-02-20 16:38:22 -0800162 "//y2023/constants:simulated_constants_sender",
163 "//y2023/control_loops/drivetrain:drivetrain_base",
164 ],
165)
166
167cc_binary(
168 name = "localizer_main",
169 srcs = ["localizer_main.cc"],
170 visibility = ["//visibility:public"],
171 deps = [
172 ":localizer",
173 "//aos:init",
174 "//aos/events:shm_event_loop",
175 "//frc971/constants:constants_sender_lib",
176 "//y2023/control_loops/drivetrain:drivetrain_base",
177 ],
178)
James Kuszmaula8e0d6e2023-03-12 13:33:36 -0700179
180ts_project(
181 name = "corrections_plotter",
182 srcs = ["corrections_plotter.ts"],
183 target_compatible_with = ["@platforms//os:linux"],
184 visibility = ["//visibility:public"],
185 deps = [
186 ":visualization_ts_fbs",
187 "//aos/network/www:aos_plotter",
188 "//aos/network/www:colors",
189 "//aos/network/www:proxy",
190 ],
191)
James Kuszmaul6e0d8652023-03-12 14:02:26 -0700192
193cc_binary(
194 name = "localizer_replay",
195 srcs = ["localizer_replay.cc"],
196 data = [
197 "//y2023:aos_config",
198 ],
199 target_compatible_with = ["@platforms//os:linux"],
200 deps = [
201 ":localizer",
202 "//aos:configuration",
203 "//aos:init",
204 "//aos:json_to_flatbuffer",
205 "//aos/events:simulated_event_loop",
206 "//aos/events/logging:log_reader",
207 "//aos/events/logging:log_writer",
James Kuszmaule4853542023-05-15 20:35:48 -0700208 "//aos/util:simulation_logger",
James Kuszmaul6e0d8652023-03-12 14:02:26 -0700209 "//y2023/control_loops/drivetrain:drivetrain_base",
210 ],
211)