blob: 6040e5ade44433f9d4e726756d83502c221be609 [file] [log] [blame]
Yash Maheshwarie0b25c52024-05-22 20:23:36 -07001load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
2load("//tools/build_rules:template.bzl", "jinja2_template")
3load("//y2024_swerve/constants:validator.bzl", "constants_json")
4
5cc_library(
6 name = "simulated_constants_sender",
7 srcs = ["simulated_constants_sender.cc"],
8 hdrs = ["simulated_constants_sender.h"],
9 data = [":test_constants.json"],
10 visibility = ["//y2024_swerve:__subpackages__"],
11 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(
21 name = "test_constants_unvalidated.json",
22 src = "test_constants.jinja2.json",
23 includes = glob([
24 "test_data/*.json",
25 ]) + [
26 "common.jinja2",
27 "common.json",
28 "//y2024_swerve/constants/calib_files",
29 "//y2024_swerve/vision/maps",
30 ],
31 parameters = {},
32 visibility = ["//visibility:public"],
33)
34
35jinja2_template(
36 name = "constants_unvalidated.json",
37 src = "constants.jinja2.json",
38 includes = [
39 "6971.json",
40 "7971.json",
41 "common.jinja2",
42 "common.json",
43 "//y2024_swerve/constants/calib_files",
44 "//y2024_swerve/vision/maps",
45 ],
46 parameters = {},
47 visibility = ["//visibility:public"],
48)
49
50static_flatbuffer(
51 name = "constants_fbs",
52 srcs = ["constants.fbs"],
53 visibility = ["//visibility:public"],
54 deps = [
55 "//frc971/control_loops:profiled_subsystem_fbs",
56 "//frc971/control_loops/drivetrain:drivetrain_config_fbs",
57 "//frc971/vision:calibration_fbs",
58 "//frc971/vision:target_map_fbs",
Nikolai Sohmersce9ee6e2024-07-06 17:16:20 -070059 "//frc971/wpilib/swerve:swerve_constants_fbs",
Yash Maheshwarie0b25c52024-05-22 20:23:36 -070060 "//frc971/zeroing:constants_fbs",
61 ],
62)
63
64static_flatbuffer(
65 name = "constants_list_fbs",
66 srcs = ["constants_list.fbs"],
67 visibility = ["//visibility:public"],
68 deps = [":constants_fbs"],
69)
70
71cc_binary(
72 name = "constants_sender",
73 srcs = ["constants_sender.cc"],
74 visibility = ["//visibility:public"],
75 deps = [
76 ":constants_fbs",
77 ":constants_list_fbs",
78 "//aos:init",
79 "//aos/events:shm_event_loop",
80 "//aos/testing:path",
81 "//frc971/constants:constants_sender_lib",
82 ],
83)
84
85cc_binary(
86 name = "constants_formatter",
87 srcs = ["constants_formatter.cc"],
88 data = [":constants_unvalidated.json"],
89 visibility = ["//visibility:public"],
90 deps = [
91 ":constants_list_fbs",
92 "//aos:init",
93 "//aos:json_to_flatbuffer",
Austin Schuh99f7c6a2024-06-25 22:07:44 -070094 "@com_google_absl//absl/log",
95 "@com_google_absl//absl/log:check",
Yash Maheshwarie0b25c52024-05-22 20:23:36 -070096 ],
97)
98
99constants_json(
100 name = "constants_json",
101 src = ":constants_unvalidated.json",
102 out = "constants.json",
103)
104
105constants_json(
106 name = "test_constants_json",
107 src = ":test_constants_unvalidated.json",
108 out = "test_constants.json",
109)