blob: 7cb0b4d8761e26719e39572e7bdc3493cff0c954 [file] [log] [blame]
Lee Mracek3e16a862019-01-24 11:15:36 -05001package(default_visibility = ["//visibility:public"])
2
James Kuszmaul5f5e1232020-12-22 20:58:00 -08003load("@npm_bazel_typescript//:defs.bzl", "ts_library")
James Kuszmaul61a971f2020-01-01 15:06:18 -08004load("@com_google_protobuf//:protobuf.bzl", "py_proto_library")
James Kuszmaul5f5e1232020-12-22 20:58:00 -08005load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary", "rollup_bundle")
James Kuszmaul48671362020-12-24 13:54:16 -08006load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
7load("//aos:config.bzl", "aos_config")
James Kuszmaul61a971f2020-01-01 15:06:18 -08008
James Kuszmaul7daef362019-12-31 18:28:17 -08009cc_binary(
10 name = "py_log_reader.so",
11 srcs = ["py_log_reader.cc"],
12 linkshared = True,
Philipp Schraderdada1072020-11-24 11:34:46 -080013 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul7daef362019-12-31 18:28:17 -080014 deps = [
15 "//aos:configuration",
16 "//aos:json_to_flatbuffer",
17 "//aos/events:shm_event_loop",
18 "//aos/events:simulated_event_loop",
Austin Schuhb06f03b2021-02-17 22:00:37 -080019 "//aos/events/logging:log_reader",
James Kuszmaul7daef362019-12-31 18:28:17 -080020 "@com_github_google_glog//:glog",
Austin Schuh085eab92020-11-26 13:54:51 -080021 "@python_repo//:python3.7_lib",
James Kuszmaul7daef362019-12-31 18:28:17 -080022 ],
23)
24
25py_test(
26 name = "log_reader_test",
27 srcs = ["log_reader_test.py"],
28 data = [
29 ":py_log_reader.so",
30 "@sample_logfile//file",
31 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080032 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul7daef362019-12-31 18:28:17 -080033 deps = ["//aos:configuration_fbs_python"],
34)
James Kuszmaul61a971f2020-01-01 15:06:18 -080035
James Kuszmaul5f5e1232020-12-22 20:58:00 -080036ts_library(
37 name = "plot_index",
38 srcs = ["plot_index.ts"],
39 target_compatible_with = ["@platforms//os:linux"],
40 deps = [
James Kuszmaul48671362020-12-24 13:54:16 -080041 ":plot_data_utils",
James Kuszmaul5f5e1232020-12-22 20:58:00 -080042 "//aos:configuration_ts_fbs",
43 "//aos/network/www:demo_plot",
44 "//aos/network/www:proxy",
James Kuszmaulac2b6b42021-03-07 22:38:06 -080045 "//frc971/control_loops/drivetrain:down_estimator_plotter",
James Kuszmaulc4ae11c2020-12-26 16:26:58 -080046 "//frc971/control_loops/drivetrain:drivetrain_plotter",
milind upadhyay9bd381d2021-01-23 13:44:13 -080047 "//frc971/control_loops/drivetrain:robot_state_plotter",
James Kuszmaul73fc1352021-04-09 22:31:25 -070048 "//frc971/control_loops/drivetrain:spline_plotter",
James Kuszmaul5f5e1232020-12-22 20:58:00 -080049 "//frc971/wpilib:imu_plotter",
Austin Schuh7d63eab2021-03-06 20:15:02 -080050 "//y2020/control_loops/superstructure:accelerator_plotter",
51 "//y2020/control_loops/superstructure:finisher_plotter",
Austin Schuh2efe1682021-03-06 22:47:15 -080052 "//y2020/control_loops/superstructure:hood_plotter",
James Kuszmaul5f5e1232020-12-22 20:58:00 -080053 ],
54)
55
56rollup_bundle(
57 name = "plot_index_bundle",
58 enable_code_splitting = False,
59 entry_point = "plot_index.ts",
60 target_compatible_with = ["@platforms//os:linux"],
61 deps = [
62 ":plot_index",
63 ],
64)
65
66filegroup(
67 name = "plotter_files",
68 srcs = [
69 "index.html",
70 "plot_index_bundle.min.js",
71 ],
72)
73
74sh_binary(
75 name = "web_plotter",
76 srcs = ["web_plotter.sh"],
77 data = [
78 ":plotter_files",
79 "//aos/network:log_web_proxy_main",
80 ],
81 target_compatible_with = ["@platforms//os:linux"],
82)
83
84sh_binary(
85 name = "live_web_plotter_demo",
86 srcs = ["live_web_plotter_demo.sh"],
87 data = [
88 ":plotter_files",
89 "//aos/network:web_proxy_main",
90 "//aos/network/www:test_config",
91 ],
92 target_compatible_with = ["@platforms//os:linux"],
93)
James Kuszmaul48671362020-12-24 13:54:16 -080094
95flatbuffer_cc_library(
96 name = "plot_data_fbs",
97 srcs = [
98 "plot_data.fbs",
99 ],
100 gen_reflections = 1,
101 target_compatible_with = ["@platforms//os:linux"],
102)
103
104flatbuffer_ts_library(
105 name = "plot_data_ts_fbs",
106 srcs = [
107 "plot_data.fbs",
108 ],
109 target_compatible_with = ["@platforms//os:linux"],
110)
111
112ts_library(
113 name = "plot_data_utils",
114 srcs = ["plot_data_utils.ts"],
115 visibility = ["//visibility:public"],
116 deps = [
117 ":plot_data_ts_fbs",
118 "//aos:configuration_ts_fbs",
119 "//aos/network/www:aos_plotter",
120 "//aos/network/www:plotter",
121 "//aos/network/www:proxy",
122 "@com_github_google_flatbuffers//ts:flatbuffers_ts",
123 ],
124)
125
126aos_config(
127 name = "plotter",
128 src = "plotter_config.json",
129 flatbuffers = [":plot_data_fbs"],
130 target_compatible_with = ["@platforms//os:linux"],
131 deps = ["//aos/events:config"],
132)
133
134cc_library(
135 name = "in_process_plotter",
136 srcs = ["in_process_plotter.cc"],
137 hdrs = ["in_process_plotter.h"],
James Kuszmaule32fa932021-05-11 21:38:16 -0700138 data = [
139 ":plotter",
140 ":plotter_files",
James Kuszmaul48671362020-12-24 13:54:16 -0800141 ],
142 deps = [
143 ":plot_data_fbs",
144 "//aos/events:simulated_event_loop",
145 "//aos/network:web_proxy",
146 ],
147)
148
149cc_binary(
150 name = "in_process_plotter_demo",
151 srcs = ["in_process_plotter_demo.cc"],
James Kuszmaul48671362020-12-24 13:54:16 -0800152 deps = [
153 ":in_process_plotter",
154 "//aos:init",
155 ],
156)