blob: 243259a72a4eb38f608db3926b1dfa997567231b [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",
James Kuszmaul20014542022-04-06 21:35:44 -0700108 "//frc971/input:joystick_state_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800109 "//frc971/wpilib:imu_batch_fbs",
110 "//frc971/wpilib:imu_fbs",
111 "//frc971/zeroing:imu_zeroer",
112 "//frc971/zeroing:wrap",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800113 "//y2022:constants",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800114 "//y2022/control_loops/superstructure:superstructure_status_fbs",
115 "//y2022/vision:calibration_fbs",
116 "//y2022/vision:target_estimate_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800117 "@org_tuxfamily_eigen//:eigen",
118 ],
119)
120
121cc_binary(
122 name = "localizer_main",
123 srcs = ["localizer_main.cc"],
124 visibility = ["//visibility:public"],
125 deps = [
126 ":localizer",
127 "//aos:init",
128 "//aos/events:shm_event_loop",
129 "//y2022/control_loops/drivetrain:drivetrain_base",
130 ],
131)
132
133cc_test(
134 name = "localizer_test",
135 srcs = ["localizer_test.cc"],
136 data = [
137 "//y2022:aos_config",
138 ],
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800139 shard_count = 13,
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800140 deps = [
141 ":localizer",
142 "//aos/events:simulated_event_loop",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800143 "//aos/events/logging:log_writer",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800144 "//aos/testing:googletest",
145 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800146 "//y2022/control_loops/drivetrain:drivetrain_base",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800147 ],
148)
149
150cc_binary(
151 name = "localizer_replay",
152 srcs = ["localizer_replay.cc"],
153 data = [
154 "//y2022:aos_config",
155 ],
156 target_compatible_with = ["@platforms//os:linux"],
157 deps = [
158 ":localizer",
159 ":localizer_schema",
160 "//aos:configuration",
161 "//aos:init",
162 "//aos:json_to_flatbuffer",
163 "//aos/events:simulated_event_loop",
164 "//aos/events/logging:log_reader",
165 "//aos/events/logging:log_writer",
166 "//y2022/control_loops/drivetrain:drivetrain_base",
167 ],
168)
169
Ravago Jonese12b7902022-02-04 22:50:44 -0800170cc_library(
171 name = "imu",
172 srcs = [
173 "imu.cc",
174 ],
175 hdrs = [
176 "imu.h",
177 ],
178 target_compatible_with = ["@platforms//os:linux"],
179 deps = [
180 "//aos/events:epoll",
181 "//aos/events:shm_event_loop",
182 "//aos/util:crc32",
183 "//frc971/wpilib:imu_batch_fbs",
184 "//frc971/wpilib:imu_fbs",
185 "//y2022:constants",
186 "@com_github_google_glog//:glog",
187 "@com_google_absl//absl/types:span",
188 ],
189)
190
191cc_binary(
192 name = "imu_main",
193 srcs = ["imu_main.cc"],
194 target_compatible_with = ["@platforms//os:linux"],
195 visibility = ["//visibility:public"],
196 deps = [
197 ":imu",
198 "//aos:init",
199 "//aos/events:shm_event_loop",
200 ],
201)