blob: edc3791458ff2282f11145ea428c034c65c172ba [file] [log] [blame]
James Kuszmaul0dedb5e2022-03-05 16:02:20 -08001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
James Kuszmaul51fa1ae2022-02-26 00:49:57 -08002load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
3load("@npm//@bazel/typescript:index.bzl", "ts_library")
4
5ts_library(
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)
17
18flatbuffer_cc_library(
19 name = "localizer_output_fbs",
20 srcs = [
21 "localizer_output.fbs",
22 ],
23 gen_reflections = True,
24 target_compatible_with = ["@platforms//os:linux"],
25 visibility = ["//visibility:public"],
26)
27
James Kuszmaulf3ef9e12022-03-05 17:13:00 -080028flatbuffer_ts_library(
29 name = "localizer_output_ts_fbs",
30 srcs = ["localizer_output.fbs"],
James Kuszmaulf3ef9e12022-03-05 17:13:00 -080031 visibility = ["//visibility:public"],
32)
33
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080034flatbuffer_cc_library(
35 name = "localizer_status_fbs",
36 srcs = [
37 "localizer_status.fbs",
38 ],
39 gen_reflections = True,
40 includes = [
41 "//frc971/control_loops:control_loops_fbs_includes",
42 "//frc971/control_loops/drivetrain:drivetrain_status_fbs_includes",
43 ],
44 target_compatible_with = ["@platforms//os:linux"],
45 visibility = ["//visibility:public"],
46)
47
James Kuszmauldac091f2022-03-22 09:35:06 -070048flatbuffer_ts_library(
49 name = "localizer_status_ts_fbs",
50 srcs = ["localizer_status.fbs"],
51 visibility = ["//visibility:public"],
52 deps = [
53 "//frc971/control_loops:control_loops_ts_fbs",
54 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
55 ],
56)
57
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080058flatbuffer_cc_library(
59 name = "localizer_visualization_fbs",
60 srcs = ["localizer_visualization.fbs"],
61 gen_reflections = 1,
62 includes = [
63 ":localizer_status_fbs_includes",
64 "//frc971/control_loops:control_loops_fbs_includes",
65 "//frc971/control_loops/drivetrain:drivetrain_status_fbs_includes",
66 ],
67 visibility = ["//visibility:public"],
68)
69
70flatbuffer_ts_library(
71 name = "localizer_visualization_ts_fbs",
72 srcs = ["localizer_visualization.fbs"],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080073 visibility = ["//visibility:public"],
James Kuszmauldac091f2022-03-22 09:35:06 -070074 deps = [
75 ":localizer_status_ts_fbs",
76 "//frc971/control_loops:control_loops_ts_fbs",
77 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
78 ],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080079)
80
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080081cc_static_flatbuffer(
82 name = "localizer_schema",
83 function = "frc971::controls::LocalizerStatusSchema",
84 target = ":localizer_status_fbs_reflection_out",
85 visibility = ["//visibility:public"],
86)
87
88cc_library(
89 name = "localizer",
90 srcs = ["localizer.cc"],
91 hdrs = ["localizer.h"],
92 visibility = ["//visibility:public"],
93 deps = [
94 ":localizer_output_fbs",
95 ":localizer_status_fbs",
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080096 ":localizer_visualization_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080097 "//aos/containers:ring_buffer",
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080098 "//aos/containers:sized_array",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080099 "//aos/events:event_loop",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800100 "//aos/network:message_bridge_server_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800101 "//aos/time",
102 "//frc971/control_loops:c2d",
103 "//frc971/control_loops:control_loops_fbs",
104 "//frc971/control_loops/drivetrain:drivetrain_output_fbs",
105 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
106 "//frc971/control_loops/drivetrain:improved_down_estimator",
107 "//frc971/control_loops/drivetrain:localizer_fbs",
108 "//frc971/wpilib:imu_batch_fbs",
109 "//frc971/wpilib:imu_fbs",
110 "//frc971/zeroing:imu_zeroer",
111 "//frc971/zeroing:wrap",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800112 "//y2022:constants",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800113 "//y2022/control_loops/superstructure:superstructure_status_fbs",
114 "//y2022/vision:calibration_fbs",
115 "//y2022/vision:target_estimate_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800116 "@org_tuxfamily_eigen//:eigen",
117 ],
118)
119
120cc_binary(
121 name = "localizer_main",
122 srcs = ["localizer_main.cc"],
123 visibility = ["//visibility:public"],
124 deps = [
125 ":localizer",
126 "//aos:init",
127 "//aos/events:shm_event_loop",
128 "//y2022/control_loops/drivetrain:drivetrain_base",
129 ],
130)
131
132cc_test(
133 name = "localizer_test",
134 srcs = ["localizer_test.cc"],
135 data = [
136 "//y2022:aos_config",
137 ],
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800138 shard_count = 13,
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800139 deps = [
140 ":localizer",
141 "//aos/events:simulated_event_loop",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800142 "//aos/events/logging:log_writer",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800143 "//aos/testing:googletest",
144 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800145 "//y2022/control_loops/drivetrain:drivetrain_base",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800146 ],
147)
148
149cc_binary(
150 name = "localizer_replay",
151 srcs = ["localizer_replay.cc"],
152 data = [
153 "//y2022:aos_config",
154 ],
155 target_compatible_with = ["@platforms//os:linux"],
156 deps = [
157 ":localizer",
158 ":localizer_schema",
159 "//aos:configuration",
160 "//aos:init",
161 "//aos:json_to_flatbuffer",
162 "//aos/events:simulated_event_loop",
163 "//aos/events/logging:log_reader",
164 "//aos/events/logging:log_writer",
165 "//y2022/control_loops/drivetrain:drivetrain_base",
166 ],
167)
168
Ravago Jonese12b7902022-02-04 22:50:44 -0800169cc_library(
170 name = "imu",
171 srcs = [
172 "imu.cc",
173 ],
174 hdrs = [
175 "imu.h",
176 ],
177 target_compatible_with = ["@platforms//os:linux"],
178 deps = [
179 "//aos/events:epoll",
180 "//aos/events:shm_event_loop",
181 "//aos/util:crc32",
182 "//frc971/wpilib:imu_batch_fbs",
183 "//frc971/wpilib:imu_fbs",
184 "//y2022:constants",
185 "@com_github_google_glog//:glog",
186 "@com_google_absl//absl/types:span",
187 ],
188)
189
190cc_binary(
191 name = "imu_main",
192 srcs = ["imu_main.cc"],
193 target_compatible_with = ["@platforms//os:linux"],
194 visibility = ["//visibility:public"],
195 deps = [
196 ":imu",
197 "//aos:init",
198 "//aos/events:shm_event_loop",
199 ],
200)