blob: a3b1774f3aead2672b751260d481942586fa61ef [file] [log] [blame]
Philipp Schrader3de4dfc2023-02-15 20:18:25 -08001load("//tools/build_rules:js.bzl", "ts_project")
Austin Schuha1d006e2022-09-14 21:50:42 -07002load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
3load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
James Kuszmaul51fa1ae2022-02-26 00:49:57 -08004load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
James Kuszmaul51fa1ae2022-02-26 00:49:57 -08005
Philipp Schrader3de4dfc2023-02-15 20:18:25 -08006ts_project(
James Kuszmaul51fa1ae2022-02-26 00:49:57 -08007 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,
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080041 target_compatible_with = ["@platforms//os:linux"],
42 visibility = ["//visibility:public"],
James Kuszmaul9f2f53c2023-02-19 14:08:18 -080043 deps = [
44 "//frc971/control_loops:control_loops_fbs",
45 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
46 "//frc971/imu_reader:imu_failures_fbs",
47 ],
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080048)
49
James Kuszmauldac091f2022-03-22 09:35:06 -070050flatbuffer_ts_library(
51 name = "localizer_status_ts_fbs",
52 srcs = ["localizer_status.fbs"],
53 visibility = ["//visibility:public"],
54 deps = [
55 "//frc971/control_loops:control_loops_ts_fbs",
56 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
James Kuszmaul9f2f53c2023-02-19 14:08:18 -080057 "//frc971/imu_reader:imu_failures_ts_fbs",
James Kuszmauldac091f2022-03-22 09:35:06 -070058 ],
59)
60
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080061flatbuffer_cc_library(
62 name = "localizer_visualization_fbs",
63 srcs = ["localizer_visualization.fbs"],
64 gen_reflections = 1,
65 includes = [
66 ":localizer_status_fbs_includes",
67 "//frc971/control_loops:control_loops_fbs_includes",
68 "//frc971/control_loops/drivetrain:drivetrain_status_fbs_includes",
69 ],
70 visibility = ["//visibility:public"],
71)
72
73flatbuffer_ts_library(
74 name = "localizer_visualization_ts_fbs",
75 srcs = ["localizer_visualization.fbs"],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080076 visibility = ["//visibility:public"],
James Kuszmauldac091f2022-03-22 09:35:06 -070077 deps = [
78 ":localizer_status_ts_fbs",
79 "//frc971/control_loops:control_loops_ts_fbs",
80 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
81 ],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080082)
83
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080084cc_static_flatbuffer(
85 name = "localizer_schema",
86 function = "frc971::controls::LocalizerStatusSchema",
87 target = ":localizer_status_fbs_reflection_out",
88 visibility = ["//visibility:public"],
89)
90
91cc_library(
92 name = "localizer",
93 srcs = ["localizer.cc"],
94 hdrs = ["localizer.h"],
95 visibility = ["//visibility:public"],
96 deps = [
97 ":localizer_output_fbs",
98 ":localizer_status_fbs",
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080099 ":localizer_visualization_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800100 "//aos/containers:ring_buffer",
James Kuszmaul0dedb5e2022-03-05 16:02:20 -0800101 "//aos/containers:sized_array",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800102 "//aos/events:event_loop",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800103 "//aos/network:message_bridge_server_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800104 "//aos/time",
105 "//frc971/control_loops:c2d",
106 "//frc971/control_loops:control_loops_fbs",
107 "//frc971/control_loops/drivetrain:drivetrain_output_fbs",
108 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
109 "//frc971/control_loops/drivetrain:improved_down_estimator",
James Kuszmaul9a1733a2023-02-19 16:51:47 -0800110 "//frc971/control_loops/drivetrain:localization_utils",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800111 "//frc971/control_loops/drivetrain:localizer_fbs",
James Kuszmaul9f2f53c2023-02-19 14:08:18 -0800112 "//frc971/imu_reader:imu_watcher",
James Kuszmaul20014542022-04-06 21:35:44 -0700113 "//frc971/input:joystick_state_fbs",
milind-u2f101fc2023-01-21 12:28:49 -0800114 "//frc971/vision:calibration_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800115 "//frc971/wpilib:imu_batch_fbs",
116 "//frc971/wpilib:imu_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800117 "//y2022:constants",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800118 "//y2022/control_loops/superstructure:superstructure_status_fbs",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800119 "//y2022/vision:target_estimate_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800120 "@org_tuxfamily_eigen//:eigen",
121 ],
122)
123
124cc_binary(
125 name = "localizer_main",
126 srcs = ["localizer_main.cc"],
127 visibility = ["//visibility:public"],
128 deps = [
129 ":localizer",
130 "//aos:init",
131 "//aos/events:shm_event_loop",
132 "//y2022/control_loops/drivetrain:drivetrain_base",
133 ],
134)
135
136cc_test(
137 name = "localizer_test",
138 srcs = ["localizer_test.cc"],
139 data = [
140 "//y2022:aos_config",
141 ],
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800142 shard_count = 13,
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800143 deps = [
144 ":localizer",
145 "//aos/events:simulated_event_loop",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800146 "//aos/events/logging:log_writer",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800147 "//aos/testing:googletest",
148 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800149 "//y2022/control_loops/drivetrain:drivetrain_base",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800150 ],
151)
152
153cc_binary(
154 name = "localizer_replay",
155 srcs = ["localizer_replay.cc"],
156 data = [
157 "//y2022:aos_config",
158 ],
159 target_compatible_with = ["@platforms//os:linux"],
160 deps = [
161 ":localizer",
162 ":localizer_schema",
163 "//aos:configuration",
164 "//aos:init",
165 "//aos:json_to_flatbuffer",
166 "//aos/events:simulated_event_loop",
167 "//aos/events/logging:log_reader",
168 "//aos/events/logging:log_writer",
169 "//y2022/control_loops/drivetrain:drivetrain_base",
170 ],
171)
172
Ravago Jonese12b7902022-02-04 22:50:44 -0800173cc_binary(
174 name = "imu_main",
175 srcs = ["imu_main.cc"],
176 target_compatible_with = ["@platforms//os:linux"],
177 visibility = ["//visibility:public"],
178 deps = [
Ravago Jonese12b7902022-02-04 22:50:44 -0800179 "//aos:init",
180 "//aos/events:shm_event_loop",
Austin Schuh18cb1df2023-01-28 11:13:35 -0800181 "//frc971/imu_reader:imu",
182 "//y2022:constants",
Ravago Jonese12b7902022-02-04 22:50:44 -0800183 ],
184)