blob: 5bece6603cf431a27a31a24a839005b321f3e63f [file] [log] [blame]
James Kuszmaul630ab1d2024-01-09 16:38:57 -08001load("@aspect_bazel_lib//lib:run_binary.bzl", "run_binary")
Austin Schuh8f99c822024-05-05 22:43:40 -07002load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
James Kuszmauld67f6d22023-02-05 17:37:25 -08003load("//tools/build_rules:template.bzl", "jinja2_template")
4
5cc_library(
6 name = "simulated_constants_sender",
James Kuszmaul04a343c2023-02-20 16:38:22 -08007 srcs = ["simulated_constants_sender.cc"],
8 hdrs = ["simulated_constants_sender.h"],
9 data = [":test_constants.json"],
10 visibility = ["//y2023:__subpackages__"],
James Kuszmauld67f6d22023-02-05 17:37:25 -080011 deps = [
12 ":constants_fbs",
13 ":constants_list_fbs",
14 "//aos/events:simulated_event_loop",
15 "//aos/testing:path",
16 "//frc971/constants:constants_sender_lib",
17 ],
18)
19
20jinja2_template(
James Kuszmaul04a343c2023-02-20 16:38:22 -080021 name = "test_constants.json",
James Kuszmaul04a343c2023-02-20 16:38:22 -080022 src = "test_constants.jinja2.json",
James Kuszmaul630ab1d2024-01-09 16:38:57 -080023 includes = glob([
24 "test_data/*.json",
25 ]) + [
26 ":wrist_common_zeroing.json",
27 "//y2023/control_loops/superstructure/wrist:wrist_json",
28 ],
James Kuszmaul04a343c2023-02-20 16:38:22 -080029 parameters = {},
30 visibility = ["//visibility:public"],
31)
32
33jinja2_template(
James Kuszmauld67f6d22023-02-05 17:37:25 -080034 name = "constants.json",
35 src = "constants.jinja2.json",
Yash Chainani2ac8cb62023-01-14 16:36:36 -080036 includes = [
37 "7971.json",
Jim Ostrowskiab5ba522023-02-12 17:34:28 -080038 "971.json",
James Kuszmaul01232ed2023-02-22 17:08:23 -080039 "9971.json",
James Kuszmaul202e4382023-03-05 14:56:55 -080040 "common.json",
James Kuszmaul18008f82023-02-23 20:52:50 -080041 ":scoring_map",
James Kuszmaul630ab1d2024-01-09 16:38:57 -080042 ":wrist_common_zeroing.json",
43 "//y2023/control_loops/superstructure/wrist:wrist_json",
Yash Chainani2ac8cb62023-01-14 16:36:36 -080044 "//y2023/vision/calib_files",
45 "//y2023/vision/maps",
46 ],
James Kuszmauld67f6d22023-02-05 17:37:25 -080047 parameters = {},
48 visibility = ["//visibility:public"],
49)
50
James Kuszmaul18008f82023-02-23 20:52:50 -080051filegroup(
52 name = "scoring_map",
53 srcs = [
54 "relative_scoring_map.json",
55 "scoring_map.json",
56 ],
57 visibility = ["//y2023:__subpackages__"],
58)
59
James Kuszmaulf01da392023-12-14 11:22:14 -080060static_flatbuffer(
James Kuszmauld67f6d22023-02-05 17:37:25 -080061 name = "constants_fbs",
62 srcs = ["constants.fbs"],
James Kuszmauld67f6d22023-02-05 17:37:25 -080063 visibility = ["//visibility:public"],
Yash Chainani2ac8cb62023-01-14 16:36:36 -080064 deps = [
James Kuszmaul630ab1d2024-01-09 16:38:57 -080065 "//frc971/control_loops:profiled_subsystem_fbs",
66 "//frc971/control_loops:state_feedback_loop_fbs",
Yash Chainani2ac8cb62023-01-14 16:36:36 -080067 "//frc971/vision:calibration_fbs",
68 "//frc971/vision:target_map_fbs",
James Kuszmaul630ab1d2024-01-09 16:38:57 -080069 "//frc971/zeroing:constants_fbs",
James Kuszmaul667b0592023-02-25 16:32:59 -080070 "//y2023/localizer:scoring_map_fbs",
Yash Chainani2ac8cb62023-01-14 16:36:36 -080071 ],
James Kuszmauld67f6d22023-02-05 17:37:25 -080072)
73
James Kuszmaulf01da392023-12-14 11:22:14 -080074static_flatbuffer(
James Kuszmauld67f6d22023-02-05 17:37:25 -080075 name = "constants_list_fbs",
76 srcs = ["constants_list.fbs"],
James Kuszmauld67f6d22023-02-05 17:37:25 -080077 visibility = ["//visibility:public"],
78 deps = [":constants_fbs"],
79)
80
81cc_binary(
82 name = "constants_sender",
83 srcs = ["constants_sender.cc"],
84 visibility = ["//visibility:public"],
85 deps = [
86 ":constants_fbs",
87 ":constants_list_fbs",
88 "//aos:init",
89 "//aos/events:shm_event_loop",
90 "//aos/testing:path",
91 "//frc971/constants:constants_sender_lib",
92 ],
93)
James Kuszmaul630ab1d2024-01-09 16:38:57 -080094
95cc_binary(
96 name = "json_codegen",
97 srcs = ["json_codegen.cc"],
98 deps = [
99 "//aos/util:file",
100 "//y2023:constants",
101 ],
102)
103
104run_binary(
105 name = "wrist_json_codegen",
106 outs = ["wrist_common_zeroing.json"],
107 args = ["$(location :wrist_common_zeroing.json)"],
108 tool = ":json_codegen",
109)