blob: 38c8c9dd062a7c1065e5b1a22b4722ec614449fe [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",
28 ],
29)
30
31flatbuffer_ts_library(
32 name = "status_ts_fbs",
33 srcs = ["status.fbs"],
34 visibility = ["//visibility:public"],
35 deps = [
36 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
37 "//frc971/imu_reader:imu_failures_ts_fbs",
38 ],
39)
40
41static_flatbuffer(
42 name = "visualization_fbs",
43 srcs = [
44 "visualization.fbs",
45 ],
46 visibility = ["//visibility:public"],
47 deps = [
48 ":status_fbs",
49 ],
50)
51
52flatbuffer_ts_library(
53 name = "visualization_ts_fbs",
54 srcs = ["visualization.fbs"],
55 visibility = ["//visibility:public"],
56 deps = [
57 ":status_ts_fbs",
58 ],
59)
60
61cc_library(
62 name = "localizer",
63 srcs = ["localizer.cc"],
64 hdrs = ["localizer.h"],
65 visibility = ["//visibility:public"],
66 deps = [
67 ":status_fbs",
68 ":visualization_fbs",
69 "//aos/containers:sized_array",
70 "//aos/events:event_loop",
71 "//aos/network:message_bridge_client_fbs",
72 "//frc971/constants:constants_sender_lib",
73 "//frc971/control_loops:pose",
74 "//frc971/control_loops/drivetrain:hybrid_ekf",
75 "//frc971/control_loops/drivetrain:improved_down_estimator",
76 "//frc971/control_loops/drivetrain:localizer_fbs",
77 "//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
78 "//frc971/control_loops/drivetrain/localization:utils",
79 "//frc971/imu_reader:imu_watcher",
80 "//frc971/vision:target_map_fbs",
81 "//frc971/vision:target_map_utils",
82 "//y2024:constants",
83 "//y2024/constants:constants_fbs",
84 ],
85)
86
87cc_test(
88 name = "localizer_test",
89 srcs = ["localizer_test.cc"],
90 data = ["//y2024:aos_config"],
91 deps = [
92 ":localizer",
93 ":status_fbs",
94 "//aos/events:simulated_event_loop",
95 "//aos/events/logging:log_writer",
96 "//aos/testing:googletest",
97 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
98 "//frc971/control_loops/drivetrain:localizer_fbs",
99 "//frc971/control_loops/drivetrain/localization:utils",
100 "//y2024/constants:simulated_constants_sender",
101 "//y2024/control_loops/drivetrain:drivetrain_base",
102 ],
103)
104
105cc_binary(
106 name = "localizer_main",
107 srcs = ["localizer_main.cc"],
108 visibility = ["//visibility:public"],
109 deps = [
110 ":localizer",
111 "//aos:init",
112 "//aos/events:shm_event_loop",
113 "//frc971/constants:constants_sender_lib",
114 "//y2024/control_loops/drivetrain:drivetrain_base",
115 ],
116)
117
118ts_project(
119 name = "corrections_plotter",
120 srcs = ["corrections_plotter.ts"],
121 target_compatible_with = ["@platforms//os:linux"],
122 visibility = ["//visibility:public"],
123 deps = [
124 ":visualization_ts_fbs",
125 "//aos/network/www:aos_plotter",
126 "//aos/network/www:colors",
127 "//aos/network/www:proxy",
128 ],
129)
130
131cc_binary(
132 name = "localizer_replay",
133 srcs = ["localizer_replay.cc"],
134 data = [
135 "//y2024:aos_config",
136 ],
137 target_compatible_with = ["@platforms//os:linux"],
138 deps = [
139 ":localizer",
140 "//aos:configuration",
141 "//aos:init",
142 "//aos:json_to_flatbuffer",
143 "//aos/events:simulated_event_loop",
144 "//aos/events/logging:log_reader",
145 "//aos/events/logging:log_writer",
146 "//aos/util:simulation_logger",
147 "//y2024/control_loops/drivetrain:drivetrain_base",
148 ],
149)