blob: 63f720f3cf9eb198385b6f1a85d628753068f7b5 [file] [log] [blame]
James Kuszmaulf01da392023-12-14 11:22:14 -08001load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
Philipp Schrader3de4dfc2023-02-15 20:18:25 -08002load("//tools/build_rules:js.bzl", "ts_project")
Austin Schuha1d006e2022-09-14 21:50:42 -07003load("@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
James Kuszmaulf01da392023-12-14 11:22:14 -080019static_flatbuffer(
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080020 name = "localizer_status_fbs",
21 srcs = [
22 "localizer_status.fbs",
23 ],
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080024 target_compatible_with = ["@platforms//os:linux"],
25 visibility = ["//visibility:public"],
James Kuszmaul9f2f53c2023-02-19 14:08:18 -080026 deps = [
27 "//frc971/control_loops:control_loops_fbs",
28 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
29 "//frc971/imu_reader:imu_failures_fbs",
30 ],
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080031)
32
James Kuszmauldac091f2022-03-22 09:35:06 -070033flatbuffer_ts_library(
34 name = "localizer_status_ts_fbs",
35 srcs = ["localizer_status.fbs"],
36 visibility = ["//visibility:public"],
37 deps = [
38 "//frc971/control_loops:control_loops_ts_fbs",
39 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
James Kuszmaul9f2f53c2023-02-19 14:08:18 -080040 "//frc971/imu_reader:imu_failures_ts_fbs",
James Kuszmauldac091f2022-03-22 09:35:06 -070041 ],
42)
43
James Kuszmaulf01da392023-12-14 11:22:14 -080044static_flatbuffer(
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080045 name = "localizer_visualization_fbs",
46 srcs = ["localizer_visualization.fbs"],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080047 visibility = ["//visibility:public"],
James Kuszmaulf01da392023-12-14 11:22:14 -080048 deps = [
49 ":localizer_status_fbs",
50 "//frc971/control_loops:control_loops_fbs",
51 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
52 ],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080053)
54
55flatbuffer_ts_library(
56 name = "localizer_visualization_ts_fbs",
57 srcs = ["localizer_visualization.fbs"],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080058 visibility = ["//visibility:public"],
James Kuszmauldac091f2022-03-22 09:35:06 -070059 deps = [
60 ":localizer_status_ts_fbs",
61 "//frc971/control_loops:control_loops_ts_fbs",
62 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
63 ],
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080064)
65
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080066cc_static_flatbuffer(
67 name = "localizer_schema",
68 function = "frc971::controls::LocalizerStatusSchema",
69 target = ":localizer_status_fbs_reflection_out",
70 visibility = ["//visibility:public"],
71)
72
73cc_library(
74 name = "localizer",
75 srcs = ["localizer.cc"],
76 hdrs = ["localizer.h"],
77 visibility = ["//visibility:public"],
78 deps = [
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080079 ":localizer_status_fbs",
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080080 ":localizer_visualization_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080081 "//aos/containers:ring_buffer",
James Kuszmaul0dedb5e2022-03-05 16:02:20 -080082 "//aos/containers:sized_array",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080083 "//aos/events:event_loop",
James Kuszmaul8c4f6592022-02-26 15:49:30 -080084 "//aos/network:message_bridge_server_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080085 "//aos/time",
86 "//frc971/control_loops:c2d",
87 "//frc971/control_loops:control_loops_fbs",
88 "//frc971/control_loops/drivetrain:drivetrain_output_fbs",
89 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
90 "//frc971/control_loops/drivetrain:improved_down_estimator",
91 "//frc971/control_loops/drivetrain:localizer_fbs",
James Kuszmaule3df1ed2023-02-20 16:21:17 -080092 "//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
93 "//frc971/control_loops/drivetrain/localization:utils",
James Kuszmaul9f2f53c2023-02-19 14:08:18 -080094 "//frc971/imu_reader:imu_watcher",
James Kuszmaul20014542022-04-06 21:35:44 -070095 "//frc971/input:joystick_state_fbs",
milind-u2f101fc2023-01-21 12:28:49 -080096 "//frc971/vision:calibration_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080097 "//frc971/wpilib:imu_batch_fbs",
98 "//frc971/wpilib:imu_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080099 "//y2022:constants",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800100 "//y2022/control_loops/superstructure:superstructure_status_fbs",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800101 "//y2022/vision:target_estimate_fbs",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800102 "@org_tuxfamily_eigen//:eigen",
103 ],
104)
105
106cc_binary(
107 name = "localizer_main",
108 srcs = ["localizer_main.cc"],
109 visibility = ["//visibility:public"],
110 deps = [
111 ":localizer",
112 "//aos:init",
113 "//aos/events:shm_event_loop",
114 "//y2022/control_loops/drivetrain:drivetrain_base",
115 ],
116)
117
118cc_test(
119 name = "localizer_test",
120 srcs = ["localizer_test.cc"],
121 data = [
122 "//y2022:aos_config",
123 ],
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800124 shard_count = 13,
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800125 deps = [
126 ":localizer",
127 "//aos/events:simulated_event_loop",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800128 "//aos/events/logging:log_writer",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800129 "//aos/testing:googletest",
130 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
James Kuszmaul8c4f6592022-02-26 15:49:30 -0800131 "//y2022/control_loops/drivetrain:drivetrain_base",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800132 ],
133)
134
135cc_binary(
136 name = "localizer_replay",
137 srcs = ["localizer_replay.cc"],
138 data = [
139 "//y2022:aos_config",
140 ],
141 target_compatible_with = ["@platforms//os:linux"],
142 deps = [
143 ":localizer",
144 ":localizer_schema",
145 "//aos:configuration",
146 "//aos:init",
147 "//aos:json_to_flatbuffer",
148 "//aos/events:simulated_event_loop",
149 "//aos/events/logging:log_reader",
150 "//aos/events/logging:log_writer",
James Kuszmaule4853542023-05-15 20:35:48 -0700151 "//aos/util:simulation_logger",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -0800152 "//y2022/control_loops/drivetrain:drivetrain_base",
153 ],
154)
155
Ravago Jonese12b7902022-02-04 22:50:44 -0800156cc_binary(
157 name = "imu_main",
158 srcs = ["imu_main.cc"],
159 target_compatible_with = ["@platforms//os:linux"],
160 visibility = ["//visibility:public"],
161 deps = [
Ravago Jonese12b7902022-02-04 22:50:44 -0800162 "//aos:init",
163 "//aos/events:shm_event_loop",
Austin Schuh18cb1df2023-01-28 11:13:35 -0800164 "//frc971/imu_reader:imu",
165 "//y2022:constants",
Ravago Jonese12b7902022-02-04 22:50:44 -0800166 ],
167)