blob: 60764ce19bc1f92bc12642253bf3bef9eaca6a25 [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",
Austin Schuh3e1d3b62023-01-08 13:52:31 -080024 "//aos/starter:irq_affinity",
Austin Schuh9f164e92022-12-29 16:15:28 -080025 "//y2023/vision:camera_reader",
26 ],
27 target_compatible_with = ["//tools/platforms/hardware:raspberry_pi"],
28 target_type = "pi",
29)
30
31aos_config(
32 name = "aos_config",
33 src = "y2023.json",
34 flatbuffers = [
35 "//aos/network:message_bridge_client_fbs",
36 "//aos/network:message_bridge_server_fbs",
37 "//aos/network:timestamp_fbs",
38 "//frc971/input:robot_state_fbs",
39 "//frc971/vision:vision_fbs",
40 ],
41 target_compatible_with = ["@platforms//os:linux"],
42 visibility = ["//visibility:public"],
43 deps = [
44 ":config_imu",
45 ":config_logger",
46 ":config_pi1",
47 ":config_pi2",
48 ":config_pi3",
49 ":config_pi4",
50 ":config_roborio",
51 ],
52)
53
54[
55 aos_config(
56 name = "config_" + pi,
57 src = "y2023_" + pi + ".json",
58 flatbuffers = [
59 "//aos/network:message_bridge_client_fbs",
60 "//aos/network:message_bridge_server_fbs",
61 "//aos/network:timestamp_fbs",
62 "//aos/network:remote_message_fbs",
63 "//frc971/vision:vision_fbs",
64 ],
65 target_compatible_with = ["@platforms//os:linux"],
66 visibility = ["//visibility:public"],
67 deps = [
68 "//aos/events:aos_config",
69 "//frc971/control_loops/drivetrain:aos_config",
70 "//frc971/input:aos_config",
71 ],
72 )
73 for pi in [
74 "pi1",
75 "pi2",
76 "pi3",
77 "pi4",
78 ]
79]
80
81aos_config(
82 name = "config_imu",
83 src = "y2023_imu.json",
84 flatbuffers = [
85 "//aos/network:message_bridge_client_fbs",
86 "//aos/network:message_bridge_server_fbs",
87 "//aos/network:timestamp_fbs",
88 "//aos/network:remote_message_fbs",
89 ],
90 target_compatible_with = ["@platforms//os:linux"],
91 visibility = ["//visibility:public"],
92 deps = [
93 "//aos/events:aos_config",
94 "//frc971/control_loops/drivetrain:aos_config",
95 ],
96)
97
98aos_config(
99 name = "config_logger",
100 src = "y2023_logger.json",
101 flatbuffers = [
102 "//aos/network:message_bridge_client_fbs",
103 "//aos/network:message_bridge_server_fbs",
104 "//aos/network:timestamp_fbs",
105 "//aos/network:remote_message_fbs",
106 "//frc971/vision:vision_fbs",
107 ],
108 target_compatible_with = ["@platforms//os:linux"],
109 visibility = ["//visibility:public"],
110 deps = [
111 "//aos/events:aos_config",
112 "//frc971/control_loops/drivetrain:aos_config",
113 "//frc971/input:aos_config",
114 ],
115)
116
117aos_config(
118 name = "config_roborio",
119 src = "y2023_roborio.json",
120 flatbuffers = [
121 "//aos/network:remote_message_fbs",
122 "//aos/network:message_bridge_client_fbs",
123 "//aos/network:message_bridge_server_fbs",
124 "//aos/network:timestamp_fbs",
125 "//y2019/control_loops/drivetrain:target_selector_fbs",
126 ],
127 target_compatible_with = ["@platforms//os:linux"],
128 deps = [
129 "//aos/events:aos_config",
130 "//frc971/autonomous:aos_config",
131 "//frc971/control_loops/drivetrain:aos_config",
132 "//frc971/input:aos_config",
133 "//frc971/wpilib:aos_config",
134 ],
135)
136
137[
138 jinja2_template(
139 name = "y2023_pi" + str(num) + ".json",
140 src = "y2023_pi_template.json",
141 parameters = {"NUM": str(num)},
142 target_compatible_with = ["@platforms//os:linux"],
143 )
144 for num in range(1, 6)
145]