blob: cd587b82d5908153bbb8543e96571084a23f61ce [file] [log] [blame]
Austin Schuha1d006e2022-09-14 21:50:42 -07001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
2load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
James Kuszmaul51fa1ae2022-02-26 00:49:57 -08003load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
4load("@npm//@bazel/typescript:index.bzl", "ts_library")
5
6ts_library(
7 name = "localizer_plotter",
8 srcs = ["localizer_plotter.ts"],
9 target_compatible_with = ["@platforms//os:linux"],
10 visibility = ["//visibility:public"],
11 deps = [
12 "//aos/network/www:aos_plotter",
13 "//aos/network/www:colors",
14 "//aos/network/www:proxy",
15 "//frc971/wpilib:imu_plot_utils",
16 ],
17)
18
19flatbuffer_cc_library(
20 name = "localizer_output_fbs",
21 srcs = [
22 "localizer_output.fbs",
23 ],
24 gen_reflections = True,
25 target_compatible_with = ["@platforms//os:linux"],
26 visibility = ["//visibility:public"],
27)
28
James Kuszmaulf3ef9e12022-03-05 17:13:00 -080029flatbuffer_ts_library(
30 name = "localizer_output_ts_fbs",
31 srcs = ["localizer_output.fbs"],
James Kuszmaulf3ef9e12022-03-05 17:13:00 -080032 visibility = ["//visibility:public"],
33)
34
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080035flatbuffer_cc_library(
36 name = "localizer_status_fbs",
37 srcs = [
38 "localizer_status.fbs",
39 ],
40 gen_reflections = True,
41 includes = [
42 "//frc971/control_loops:control_loops_fbs_includes",
43 "//frc971/control_loops/drivetrain:drivetrain_status_fbs_includes",
44 ],
45 target_compatible_with = ["@platforms//os:linux"],
46 visibility = ["//visibility:public"],
47)
48
James Kuszmauldac091f2022-03-22 09:35:06 -070049flatbuffer_ts_library(
50 name = "localizer_status_ts_fbs",
51 srcs = ["localizer_status.fbs"],
52 visibility = ["//visibility:public"],
53 deps = [
54 "//frc971/control_loops:control_loops_ts_fbs",
55 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
56 ],
57)
58
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080059flatbuffer_cc_library(
60 name = "localizer_visualization_fbs",
61 srcs = ["localizer_visualization.fbs"],
62 gen_reflections = 1,
63 includes = [
64 ":localizer_status_fbs_includes",
65 "//frc971/control_loops:control_loops_fbs_includes",
66 "//frc971/control_loops/drivetrain:drivetrain_status_fbs_includes",
67 ],
68 visibility = ["//visibility:public"],
69)
70
71flatbuffer_ts_library(
72 name = "localizer_visualization_ts_fbs",
73 srcs = ["localizer_visualization.fbs"],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080074 visibility = ["//visibility:public"],
James Kuszmauldac091f2022-03-22 09:35:06 -070075 deps = [
76 ":localizer_status_ts_fbs",
77 "//frc971/control_loops:control_loops_ts_fbs",
78 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
79 ],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080080)
81
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080082cc_static_flatbuffer(
83 name = "localizer_schema",
84 function = "frc971::controls::LocalizerStatusSchema",
85 target = ":localizer_status_fbs_reflection_out",
86 visibility = ["//visibility:public"],
87)
88
89cc_library(
90 name = "localizer",
91 srcs = ["localizer.cc"],
92 hdrs = ["localizer.h"],
93 visibility = ["//visibility:public"],
94 deps = [
95 ":localizer_output_fbs",
96 ":localizer_status_fbs",
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080097 ":localizer_visualization_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080098 "//aos/containers:ring_buffer",
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080099 "//aos/containers:sized_array",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800100 "//aos/events:event_loop",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800101 "//aos/network:message_bridge_server_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800102 "//aos/time",
103 "//frc971/control_loops:c2d",
104 "//frc971/control_loops:control_loops_fbs",
105 "//frc971/control_loops/drivetrain:drivetrain_output_fbs",
106 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
107 "//frc971/control_loops/drivetrain:improved_down_estimator",
108 "//frc971/control_loops/drivetrain:localizer_fbs",
James Kuszmaul20014542022-04-06 21:35:44 -0700109 "//frc971/input:joystick_state_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800110 "//frc971/wpilib:imu_batch_fbs",
111 "//frc971/wpilib:imu_fbs",
112 "//frc971/zeroing:imu_zeroer",
113 "//frc971/zeroing:wrap",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800114 "//y2022:constants",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800115 "//y2022/control_loops/superstructure:superstructure_status_fbs",
116 "//y2022/vision:calibration_fbs",
117 "//y2022/vision:target_estimate_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800118 "@org_tuxfamily_eigen//:eigen",
119 ],
120)
121
122cc_binary(
123 name = "localizer_main",
124 srcs = ["localizer_main.cc"],
125 visibility = ["//visibility:public"],
126 deps = [
127 ":localizer",
128 "//aos:init",
129 "//aos/events:shm_event_loop",
130 "//y2022/control_loops/drivetrain:drivetrain_base",
131 ],
132)
133
134cc_test(
135 name = "localizer_test",
136 srcs = ["localizer_test.cc"],
137 data = [
138 "//y2022:aos_config",
139 ],
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800140 shard_count = 13,
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800141 deps = [
142 ":localizer",
143 "//aos/events:simulated_event_loop",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800144 "//aos/events/logging:log_writer",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800145 "//aos/testing:googletest",
146 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800147 "//y2022/control_loops/drivetrain:drivetrain_base",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800148 ],
149)
150
151cc_binary(
152 name = "localizer_replay",
153 srcs = ["localizer_replay.cc"],
154 data = [
155 "//y2022:aos_config",
156 ],
157 target_compatible_with = ["@platforms//os:linux"],
158 deps = [
159 ":localizer",
160 ":localizer_schema",
161 "//aos:configuration",
162 "//aos:init",
163 "//aos:json_to_flatbuffer",
164 "//aos/events:simulated_event_loop",
165 "//aos/events/logging:log_reader",
166 "//aos/events/logging:log_writer",
167 "//y2022/control_loops/drivetrain:drivetrain_base",
168 ],
169)
170
Ravago Jonese12b7902022-02-04 22:50:44 -0800171cc_library(
172 name = "imu",
173 srcs = [
174 "imu.cc",
175 ],
176 hdrs = [
177 "imu.h",
178 ],
179 target_compatible_with = ["@platforms//os:linux"],
180 deps = [
181 "//aos/events:epoll",
182 "//aos/events:shm_event_loop",
183 "//aos/util:crc32",
184 "//frc971/wpilib:imu_batch_fbs",
185 "//frc971/wpilib:imu_fbs",
186 "//y2022:constants",
187 "@com_github_google_glog//:glog",
188 "@com_google_absl//absl/types:span",
189 ],
190)
191
192cc_binary(
193 name = "imu_main",
194 srcs = ["imu_main.cc"],
195 target_compatible_with = ["@platforms//os:linux"],
196 visibility = ["//visibility:public"],
197 deps = [
198 ":imu",
199 "//aos:init",
200 "//aos/events:shm_event_loop",
201 ],
202)