blob: 5e2581acbef01e42630192deda80edfbab6df48a [file] [log] [blame]
James Kuszmaul313e9ce2024-02-11 17:47:33 -08001load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
2load("//tools/build_rules:js.bzl", "ts_project")
3load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
4
5ts_project(
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
18static_flatbuffer(
19 name = "status_fbs",
20 srcs = [
21 "status.fbs",
22 ],
23 target_compatible_with = ["@platforms//os:linux"],
24 visibility = ["//visibility:public"],
25 deps = [
26 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
27 "//frc971/imu_reader:imu_failures_fbs",
James Kuszmaul86116c22024-03-15 22:50:34 -070028 "//frc971/math:matrix_fbs",
James Kuszmaul313e9ce2024-02-11 17:47:33 -080029 ],
30)
31
32flatbuffer_ts_library(
33 name = "status_ts_fbs",
34 srcs = ["status.fbs"],
35 visibility = ["//visibility:public"],
36 deps = [
37 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
38 "//frc971/imu_reader:imu_failures_ts_fbs",
James Kuszmaul86116c22024-03-15 22:50:34 -070039 "//frc971/math:matrix_ts_fbs",
James Kuszmaul313e9ce2024-02-11 17:47:33 -080040 ],
41)
42
43static_flatbuffer(
44 name = "visualization_fbs",
45 srcs = [
46 "visualization.fbs",
47 ],
48 visibility = ["//visibility:public"],
49 deps = [
50 ":status_fbs",
51 ],
52)
53
54flatbuffer_ts_library(
55 name = "visualization_ts_fbs",
56 srcs = ["visualization.fbs"],
57 visibility = ["//visibility:public"],
58 deps = [
59 ":status_ts_fbs",
60 ],
61)
62
63cc_library(
64 name = "localizer",
65 srcs = ["localizer.cc"],
66 hdrs = ["localizer.h"],
67 visibility = ["//visibility:public"],
68 deps = [
69 ":status_fbs",
70 ":visualization_fbs",
71 "//aos/containers:sized_array",
72 "//aos/events:event_loop",
73 "//aos/network:message_bridge_client_fbs",
74 "//frc971/constants:constants_sender_lib",
75 "//frc971/control_loops:pose",
76 "//frc971/control_loops/drivetrain:hybrid_ekf",
77 "//frc971/control_loops/drivetrain:improved_down_estimator",
78 "//frc971/control_loops/drivetrain:localizer_fbs",
79 "//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
80 "//frc971/control_loops/drivetrain/localization:utils",
81 "//frc971/imu_reader:imu_watcher",
James Kuszmaul86116c22024-03-15 22:50:34 -070082 "//frc971/math:flatbuffers_matrix",
James Kuszmaul313e9ce2024-02-11 17:47:33 -080083 "//frc971/vision:target_map_fbs",
84 "//frc971/vision:target_map_utils",
85 "//y2024:constants",
86 "//y2024/constants:constants_fbs",
87 ],
88)
89
90cc_test(
91 name = "localizer_test",
92 srcs = ["localizer_test.cc"],
93 data = ["//y2024:aos_config"],
94 deps = [
95 ":localizer",
96 ":status_fbs",
97 "//aos/events:simulated_event_loop",
98 "//aos/events/logging:log_writer",
99 "//aos/testing:googletest",
100 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
101 "//frc971/control_loops/drivetrain:localizer_fbs",
102 "//frc971/control_loops/drivetrain/localization:utils",
103 "//y2024/constants:simulated_constants_sender",
104 "//y2024/control_loops/drivetrain:drivetrain_base",
105 ],
106)
107
108cc_binary(
109 name = "localizer_main",
110 srcs = ["localizer_main.cc"],
111 visibility = ["//visibility:public"],
112 deps = [
113 ":localizer",
114 "//aos:init",
115 "//aos/events:shm_event_loop",
116 "//frc971/constants:constants_sender_lib",
117 "//y2024/control_loops/drivetrain:drivetrain_base",
118 ],
119)
120
121ts_project(
122 name = "corrections_plotter",
123 srcs = ["corrections_plotter.ts"],
124 target_compatible_with = ["@platforms//os:linux"],
125 visibility = ["//visibility:public"],
126 deps = [
127 ":visualization_ts_fbs",
128 "//aos/network/www:aos_plotter",
129 "//aos/network/www:colors",
130 "//aos/network/www:proxy",
131 ],
132)
133
134cc_binary(
135 name = "localizer_replay",
136 srcs = ["localizer_replay.cc"],
137 data = [
138 "//y2024:aos_config",
James Kuszmaul86116c22024-03-15 22:50:34 -0700139 "//y2024/constants:constants.json",
James Kuszmaul313e9ce2024-02-11 17:47:33 -0800140 ],
141 target_compatible_with = ["@platforms//os:linux"],
142 deps = [
143 ":localizer",
144 "//aos:configuration",
145 "//aos:init",
146 "//aos:json_to_flatbuffer",
147 "//aos/events:simulated_event_loop",
148 "//aos/events/logging:log_reader",
149 "//aos/events/logging:log_writer",
150 "//aos/util:simulation_logger",
James Kuszmaul86116c22024-03-15 22:50:34 -0700151 "//frc971/constants:constants_sender_lib",
152 "//frc971/imu_fdcan:dual_imu_blender_lib",
153 "//y2024/constants:simulated_constants_sender",
James Kuszmaul313e9ce2024-02-11 17:47:33 -0800154 "//y2024/control_loops/drivetrain:drivetrain_base",
155 ],
156)
James Kuszmaulecafe1f2024-02-27 20:29:53 -0800157
158cc_binary(
159 name = "localizer_logger",
160 srcs = [
161 "localizer_logger.cc",
162 ],
163 target_compatible_with = ["@platforms//os:linux"],
164 visibility = ["//visibility:public"],
165 deps = [
166 "//aos:configuration",
167 "//aos:init",
168 "//aos/events:shm_event_loop",
169 "//aos/events/logging:log_writer",
170 "//aos/events/logging:snappy_encoder",
171 "//aos/logging:log_namer",
172 "@com_github_gflags_gflags//:gflags",
173 "@com_github_google_glog//:glog",
174 ],
175)