blob: d97d4a3d3b11c72a091b4bb9d52baa760114ff56 [file] [log] [blame]
James Kuszmaul04a343c2023-02-20 16:38:22 -08001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
2load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
3
4flatbuffer_cc_library(
5 name = "status_fbs",
6 srcs = [
7 "status.fbs",
8 ],
9 gen_reflections = True,
10 target_compatible_with = ["@platforms//os:linux"],
11 visibility = ["//visibility:public"],
12 deps = [
13 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
14 "//frc971/imu_reader:imu_failures_fbs",
15 ],
16)
17
18flatbuffer_ts_library(
19 name = "status_ts_fbs",
20 srcs = ["status.fbs"],
21 visibility = ["//visibility:public"],
22 deps = [
23 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
24 "//frc971/imu_reader:imu_failures_ts_fbs",
25 ],
26)
27
28flatbuffer_cc_library(
29 name = "visualization_fbs",
30 srcs = [
31 "visualization.fbs",
32 ],
33 gen_reflections = True,
James Kuszmaul04a343c2023-02-20 16:38:22 -080034 visibility = ["//visibility:public"],
35 deps = [
36 ":status_fbs",
37 ],
38)
39
40flatbuffer_ts_library(
41 name = "visualization_ts_fbs",
42 srcs = ["visualization.fbs"],
43 visibility = ["//visibility:public"],
44 deps = [
45 ":status_ts_fbs",
46 ],
47)
48
James Kuszmaul18008f82023-02-23 20:52:50 -080049flatbuffer_cc_library(
50 name = "scoring_map_fbs",
51 srcs = [
52 "scoring_map.fbs",
53 ],
54 gen_reflections = True,
55 visibility = ["//visibility:public"],
56 deps = [
57 "//frc971/vision:target_map_fbs",
58 ],
59)
60
61flatbuffer_cc_library(
62 name = "relative_scoring_map_fbs",
63 srcs = [
64 "relative_scoring_map.fbs",
65 ],
66 gen_reflections = True,
67 visibility = ["//visibility:public"],
68 deps = [
69 ":scoring_map_fbs",
70 ],
71)
72
73cc_library(
74 name = "utils",
75 srcs = ["utils.cc"],
76 hdrs = ["utils.h"],
milind-u607f3232023-02-26 15:22:40 -080077 visibility = ["//visibility:public"],
James Kuszmaul18008f82023-02-23 20:52:50 -080078 deps = [
79 "//frc971/vision:target_map_fbs",
80 "@org_tuxfamily_eigen//:eigen",
81 ],
82)
83
84cc_library(
85 name = "map_expander_lib",
86 srcs = ["map_expander_lib.cc"],
87 hdrs = ["map_expander_lib.h"],
88 deps = [
89 ":relative_scoring_map_fbs",
90 ":scoring_map_fbs",
91 ":utils",
92 "//aos:flatbuffers",
93 "//aos:json_to_flatbuffer",
94 ],
95)
96
97cc_binary(
98 name = "map_expander",
99 srcs = ["map_expander.cc"],
100 data = [
101 "//y2023/constants:scoring_map",
102 "//y2023/vision/maps",
103 ],
104 deps = [
105 ":map_expander_lib",
106 "//aos:init",
107 ],
108)
109
110cc_test(
111 name = "map_expander_lib_test",
112 srcs = ["map_expander_lib_test.cc"],
113 data = [
114 "//y2023/constants:scoring_map",
115 "//y2023/vision/maps",
116 ],
117 deps = [
118 ":map_expander_lib",
119 "//aos/testing:flatbuffer_eq",
120 "//aos/testing:googletest",
121 ],
122)
123
James Kuszmaul04a343c2023-02-20 16:38:22 -0800124cc_library(
125 name = "localizer",
126 srcs = ["localizer.cc"],
127 hdrs = ["localizer.h"],
milind-ud4051fe2023-02-25 18:00:05 -0800128 visibility = ["//visibility:public"],
James Kuszmaul04a343c2023-02-20 16:38:22 -0800129 deps = [
130 ":status_fbs",
James Kuszmaul18008f82023-02-23 20:52:50 -0800131 ":utils",
James Kuszmaul04a343c2023-02-20 16:38:22 -0800132 ":visualization_fbs",
133 "//aos/containers:sized_array",
134 "//aos/events:event_loop",
135 "//frc971/constants:constants_sender_lib",
136 "//frc971/control_loops:pose",
137 "//frc971/control_loops/drivetrain:hybrid_ekf",
138 "//frc971/control_loops/drivetrain:improved_down_estimator",
139 "//frc971/control_loops/drivetrain:localizer_fbs",
140 "//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
141 "//frc971/control_loops/drivetrain/localization:utils",
142 "//frc971/imu_reader:imu_watcher",
143 "//frc971/vision:target_map_fbs",
144 "//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 Kuszmaul18008f82023-02-23 20:52:50 -0800156 ":utils",
James Kuszmaul04a343c2023-02-20 16:38:22 -0800157 "//aos/events:simulated_event_loop",
158 "//aos/events/logging:log_writer",
159 "//aos/testing:googletest",
160 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
161 "//frc971/control_loops/drivetrain:localizer_fbs",
162 "//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)