blob: 93f50f463d57b6f8b4310d2022edae0cacdd1140 [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", "rollup_bundle", "ts_project")
Austin Schuha1d006e2022-09-14 21:50:42 -07003load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
James Kuszmaul48671362020-12-24 13:54:16 -08004load("//aos:config.bzl", "aos_config")
James Kuszmaul61a971f2020-01-01 15:06:18 -08005
Philipp Schradercc016b32021-12-30 08:59:58 -08006package(default_visibility = ["//visibility:public"])
7
James Kuszmaul7daef362019-12-31 18:28:17 -08008cc_binary(
9 name = "py_log_reader.so",
10 srcs = ["py_log_reader.cc"],
11 linkshared = True,
Philipp Schraderdada1072020-11-24 11:34:46 -080012 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul7daef362019-12-31 18:28:17 -080013 deps = [
14 "//aos:configuration",
15 "//aos:json_to_flatbuffer",
16 "//aos/events:shm_event_loop",
17 "//aos/events:simulated_event_loop",
Austin Schuhb06f03b2021-02-17 22:00:37 -080018 "//aos/events/logging:log_reader",
Philipp Schraderebb658f2022-09-17 17:31:09 -070019 "//third_party/python",
James Kuszmaul7daef362019-12-31 18:28:17 -080020 "@com_github_google_glog//:glog",
James Kuszmaul7daef362019-12-31 18:28:17 -080021 ],
22)
23
24py_test(
25 name = "log_reader_test",
26 srcs = ["log_reader_test.py"],
27 data = [
28 ":py_log_reader.so",
29 "@sample_logfile//file",
30 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080031 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul7daef362019-12-31 18:28:17 -080032 deps = ["//aos:configuration_fbs_python"],
33)
James Kuszmaul61a971f2020-01-01 15:06:18 -080034
Philipp Schrader3de4dfc2023-02-15 20:18:25 -080035ts_project(
James Kuszmaul5f5e1232020-12-22 20:58:00 -080036 name = "plot_index",
37 srcs = ["plot_index.ts"],
38 target_compatible_with = ["@platforms//os:linux"],
39 deps = [
40 "//aos:configuration_ts_fbs",
41 "//aos/network/www:demo_plot",
42 "//aos/network/www:proxy",
James Kuszmaulac2b6b42021-03-07 22:38:06 -080043 "//frc971/control_loops/drivetrain:down_estimator_plotter",
James Kuszmaulc4ae11c2020-12-26 16:26:58 -080044 "//frc971/control_loops/drivetrain:drivetrain_plotter",
milind upadhyay9bd381d2021-01-23 13:44:13 -080045 "//frc971/control_loops/drivetrain:robot_state_plotter",
James Kuszmaul73fc1352021-04-09 22:31:25 -070046 "//frc971/control_loops/drivetrain:spline_plotter",
James Kuszmaul5f5e1232020-12-22 20:58:00 -080047 "//frc971/wpilib:imu_plotter",
James Kuszmaul9c23d262021-09-25 21:50:02 -070048 "//y2020/control_loops/drivetrain:localizer_plotter",
Austin Schuh7d63eab2021-03-06 20:15:02 -080049 "//y2020/control_loops/superstructure:accelerator_plotter",
50 "//y2020/control_loops/superstructure:finisher_plotter",
Austin Schuh2efe1682021-03-06 22:47:15 -080051 "//y2020/control_loops/superstructure:hood_plotter",
James Kuszmaul78101402021-09-11 12:42:21 -070052 "//y2020/control_loops/superstructure:turret_plotter",
Sabina Leaver58f04b72021-10-06 20:52:09 -070053 "//y2021_bot3/control_loops/superstructure:superstructure_plotter",
Austin Schuh76f227c2022-02-23 16:34:08 -080054 "//y2022/control_loops/superstructure:catapult_plotter",
Milind Upadhyayeb739bb2022-03-02 10:49:21 -080055 "//y2022/control_loops/superstructure:climber_plotter",
56 "//y2022/control_loops/superstructure:intake_plotter",
Ravago Jonesb64988c2022-03-06 15:05:01 -080057 "//y2022/control_loops/superstructure:superstructure_plotter",
Milind Upadhyayeb739bb2022-03-02 10:49:21 -080058 "//y2022/control_loops/superstructure:turret_plotter",
James Kuszmaul51fa1ae2022-02-26 00:49:57 -080059 "//y2022/localizer:localizer_plotter",
James Kuszmaulb35e2342022-03-06 15:44:00 -080060 "//y2022/vision:vision_plotter",
James Kuszmaul81e71842023-09-29 15:25:13 -070061 "//y2023/control_loops/superstructure:superstructure_plotter",
James Kuszmaula8e0d6e2023-03-12 13:33:36 -070062 "//y2023/localizer:corrections_plotter",
James Kuszmaul827a6d62023-03-26 12:40:29 -070063 "//y2023/localizer:localizer_plotter",
James Kuszmaul5f5e1232020-12-22 20:58:00 -080064 ],
65)
66
67rollup_bundle(
68 name = "plot_index_bundle",
James Kuszmaul5f5e1232020-12-22 20:58:00 -080069 entry_point = "plot_index.ts",
70 target_compatible_with = ["@platforms//os:linux"],
71 deps = [
72 ":plot_index",
73 ],
74)
75
Austin Schuhfcd56942022-07-18 17:41:32 -070076genrule(
77 name = "copy_css",
78 srcs = [
79 "//aos/network/www:styles.css",
80 ],
81 outs = ["styles.css"],
82 cmd = "cp $< $@",
83)
84
James Kuszmaul5f5e1232020-12-22 20:58:00 -080085filegroup(
86 name = "plotter_files",
87 srcs = [
88 "index.html",
89 "plot_index_bundle.min.js",
Austin Schuhfcd56942022-07-18 17:41:32 -070090 "styles.css",
James Kuszmaul5f5e1232020-12-22 20:58:00 -080091 ],
92)
93
94sh_binary(
95 name = "web_plotter",
96 srcs = ["web_plotter.sh"],
97 data = [
98 ":plotter_files",
99 "//aos/network:log_web_proxy_main",
100 ],
101 target_compatible_with = ["@platforms//os:linux"],
102)
103
104sh_binary(
105 name = "live_web_plotter_demo",
106 srcs = ["live_web_plotter_demo.sh"],
107 data = [
108 ":plotter_files",
109 "//aos/network:web_proxy_main",
110 "//aos/network/www:test_config",
111 ],
112 target_compatible_with = ["@platforms//os:linux"],
113)
James Kuszmaul48671362020-12-24 13:54:16 -0800114
James Kuszmaulf01da392023-12-14 11:22:14 -0800115static_flatbuffer(
James Kuszmaul48671362020-12-24 13:54:16 -0800116 name = "plot_data_fbs",
117 srcs = [
118 "plot_data.fbs",
119 ],
James Kuszmaul48671362020-12-24 13:54:16 -0800120 target_compatible_with = ["@platforms//os:linux"],
121)
122
123flatbuffer_ts_library(
124 name = "plot_data_ts_fbs",
125 srcs = [
126 "plot_data.fbs",
127 ],
128 target_compatible_with = ["@platforms//os:linux"],
129)
130
Philipp Schrader3de4dfc2023-02-15 20:18:25 -0800131ts_project(
James Kuszmaul48671362020-12-24 13:54:16 -0800132 name = "plot_data_utils",
133 srcs = ["plot_data_utils.ts"],
134 visibility = ["//visibility:public"],
135 deps = [
136 ":plot_data_ts_fbs",
137 "//aos:configuration_ts_fbs",
138 "//aos/network/www:aos_plotter",
139 "//aos/network/www:plotter",
140 "//aos/network/www:proxy",
James Kuszmauldac091f2022-03-22 09:35:06 -0700141 "@com_github_google_flatbuffers//reflection:reflection_ts_fbs",
James Kuszmaul48671362020-12-24 13:54:16 -0800142 "@com_github_google_flatbuffers//ts:flatbuffers_ts",
143 ],
144)
145
146aos_config(
147 name = "plotter",
148 src = "plotter_config.json",
149 flatbuffers = [":plot_data_fbs"],
150 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhc5fa6d92022-02-25 14:36:28 -0800151 deps = ["//aos/events:aos_config"],
James Kuszmaul48671362020-12-24 13:54:16 -0800152)
153
154cc_library(
155 name = "in_process_plotter",
156 srcs = ["in_process_plotter.cc"],
157 hdrs = ["in_process_plotter.h"],
James Kuszmaule32fa932021-05-11 21:38:16 -0700158 data = [
159 ":plotter",
Austin Schuhaa3b0862022-07-15 14:38:41 -0700160 "//frc971/analysis/cpp_plot:cpp_plot_files",
James Kuszmaul48671362020-12-24 13:54:16 -0800161 ],
162 deps = [
163 ":plot_data_fbs",
164 "//aos/events:simulated_event_loop",
165 "//aos/network:web_proxy",
166 ],
167)
168
169cc_binary(
170 name = "in_process_plotter_demo",
171 srcs = ["in_process_plotter_demo.cc"],
James Kuszmaul48671362020-12-24 13:54:16 -0800172 deps = [
173 ":in_process_plotter",
174 "//aos:init",
175 ],
176)
Henry Speiserc82be542022-04-07 22:05:20 -0700177
178cc_binary(
James Kuszmaul14d7ea12023-12-09 15:41:14 -0800179 name = "trim_log_to_enabled",
180 srcs = [
181 "trim_log_to_enabled.cc",
182 ],
183 target_compatible_with = ["@platforms//os:linux"],
184 deps = [
185 "//aos:init",
186 "//aos/events:simulated_event_loop",
187 "//aos/events/logging:log_reader",
188 "//aos/util:simulation_logger",
189 "//frc971/input:joystick_state_fbs",
190 ],
191)
192
193cc_binary(
Henry Speiserc82be542022-04-07 22:05:20 -0700194 name = "log_to_match",
195 srcs = [
196 "log_to_match.cc",
197 ],
198 target_compatible_with = ["@platforms//os:linux"],
199 deps = [
200 "//aos:init",
201 "//aos/events:simulated_event_loop",
202 "//aos/events/logging:log_reader",
203 "//frc971/input:joystick_state_fbs",
204 ],
205)
James Kuszmaul3398d0b2023-02-11 22:55:22 -0800206
207cc_binary(
208 name = "local_foxglove",
209 srcs = ["local_foxglove.cc"],
210 data = ["@foxglove_studio"],
211 deps = [
212 "//aos:init",
213 "//aos/network:gen_embedded",
214 "//aos/seasocks:seasocks_logger",
215 "//third_party/seasocks",
216 ],
217)
James Kuszmaulf35eb982023-12-09 17:50:01 -0800218
219py_binary(
220 name = "trim_and_plot_foxglove",
221 srcs = ["trim_and_plot_foxglove.py"],
222 data = [
223 ":trim_log_to_enabled",
224 "//aos/util:log_to_mcap",
225 "@foxglove_studio",
226 ],
227 deps = ["@RangeHTTPServer"],
228)