blob: c90f0e6443303708de640f9d649a2e78f1bad985 [file] [log] [blame]
Austin Schuh9f164e92022-12-29 16:15:28 -08001load("//frc971:downloader.bzl", "robot_downloader")
2load("//aos:config.bzl", "aos_config")
3load("//tools/build_rules:template.bzl", "jinja2_template")
4
5robot_downloader(
6 name = "pi_download",
7 binaries = [
8 "//y2023/vision:viewer",
9 "//y2022/localizer:imu_main",
10 "//y2022/localizer:localizer_main",
11 "//aos/events/logging:log_cat",
12 ],
13 data = [
14 ":aos_config",
15 ],
16 dirs = [
17 "//y2022/www:www_files",
18 ],
19 start_binaries = [
20 "//aos/events/logging:logger_main",
21 "//aos/network:message_bridge_client",
22 "//aos/network:message_bridge_server",
23 "//aos/network:web_proxy_main",
24 "//y2023/vision:camera_reader",
25 ],
26 target_compatible_with = ["//tools/platforms/hardware:raspberry_pi"],
27 target_type = "pi",
28)
29
30aos_config(
31 name = "aos_config",
32 src = "y2023.json",
33 flatbuffers = [
34 "//aos/network:message_bridge_client_fbs",
35 "//aos/network:message_bridge_server_fbs",
36 "//aos/network:timestamp_fbs",
37 "//frc971/input:robot_state_fbs",
38 "//frc971/vision:vision_fbs",
39 ],
40 target_compatible_with = ["@platforms//os:linux"],
41 visibility = ["//visibility:public"],
42 deps = [
43 ":config_imu",
44 ":config_logger",
45 ":config_pi1",
46 ":config_pi2",
47 ":config_pi3",
48 ":config_pi4",
49 ":config_roborio",
50 ],
51)
52
53[
54 aos_config(
55 name = "config_" + pi,
56 src = "y2023_" + pi + ".json",
57 flatbuffers = [
58 "//aos/network:message_bridge_client_fbs",
59 "//aos/network:message_bridge_server_fbs",
60 "//aos/network:timestamp_fbs",
61 "//aos/network:remote_message_fbs",
62 "//frc971/vision:vision_fbs",
63 ],
64 target_compatible_with = ["@platforms//os:linux"],
65 visibility = ["//visibility:public"],
66 deps = [
67 "//aos/events:aos_config",
68 "//frc971/control_loops/drivetrain:aos_config",
69 "//frc971/input:aos_config",
70 ],
71 )
72 for pi in [
73 "pi1",
74 "pi2",
75 "pi3",
76 "pi4",
77 ]
78]
79
80aos_config(
81 name = "config_imu",
82 src = "y2023_imu.json",
83 flatbuffers = [
84 "//aos/network:message_bridge_client_fbs",
85 "//aos/network:message_bridge_server_fbs",
86 "//aos/network:timestamp_fbs",
87 "//aos/network:remote_message_fbs",
88 ],
89 target_compatible_with = ["@platforms//os:linux"],
90 visibility = ["//visibility:public"],
91 deps = [
92 "//aos/events:aos_config",
93 "//frc971/control_loops/drivetrain:aos_config",
94 ],
95)
96
97aos_config(
98 name = "config_logger",
99 src = "y2023_logger.json",
100 flatbuffers = [
101 "//aos/network:message_bridge_client_fbs",
102 "//aos/network:message_bridge_server_fbs",
103 "//aos/network:timestamp_fbs",
104 "//aos/network:remote_message_fbs",
105 "//frc971/vision:vision_fbs",
106 ],
107 target_compatible_with = ["@platforms//os:linux"],
108 visibility = ["//visibility:public"],
109 deps = [
110 "//aos/events:aos_config",
111 "//frc971/control_loops/drivetrain:aos_config",
112 "//frc971/input:aos_config",
113 ],
114)
115
116aos_config(
117 name = "config_roborio",
118 src = "y2023_roborio.json",
119 flatbuffers = [
120 "//aos/network:remote_message_fbs",
121 "//aos/network:message_bridge_client_fbs",
122 "//aos/network:message_bridge_server_fbs",
123 "//aos/network:timestamp_fbs",
124 "//y2019/control_loops/drivetrain:target_selector_fbs",
125 ],
126 target_compatible_with = ["@platforms//os:linux"],
127 deps = [
128 "//aos/events:aos_config",
129 "//frc971/autonomous:aos_config",
130 "//frc971/control_loops/drivetrain:aos_config",
131 "//frc971/input:aos_config",
132 "//frc971/wpilib:aos_config",
133 ],
134)
135
136[
137 jinja2_template(
138 name = "y2023_pi" + str(num) + ".json",
139 src = "y2023_pi_template.json",
140 parameters = {"NUM": str(num)},
141 target_compatible_with = ["@platforms//os:linux"],
142 )
143 for num in range(1, 6)
144]