blob: 323bd49e4e9dd57f46122eb41d4ff142c4d540e4 [file] [log] [blame]
James (Peilun) Lia70e5752024-09-18 20:43:00 -07001load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
2load("//tools/build_rules:template.bzl", "jinja2_template")
3load("//y2024_bot3/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_bot3:__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_bot3/constants/calib_files",
James (Peilun) Lie9ee3e62024-11-03 21:24:21 -080029 "//y2024_bot3/control_loops/superstructure/arm:arm_json",
James (Peilun) Lia70e5752024-09-18 20:43:00 -070030 "//y2024_bot3/vision/maps",
31 ],
32 parameters = {},
33 visibility = ["//visibility:public"],
34)
35
36jinja2_template(
37 name = "constants_unvalidated.json",
38 src = "constants.jinja2.json",
39 includes = [
40 "9971.json",
41 "common.jinja2",
42 "common.json",
43 "//y2024_bot3/constants/calib_files",
James (Peilun) Lie9ee3e62024-11-03 21:24:21 -080044 "//y2024_bot3/control_loops/superstructure/arm:arm_json",
James (Peilun) Lia70e5752024-09-18 20:43:00 -070045 "//y2024_bot3/vision/maps",
46 ],
47 parameters = {},
48 visibility = ["//visibility:public"],
49)
50
51static_flatbuffer(
52 name = "constants_fbs",
53 srcs = ["constants.fbs"],
54 visibility = ["//visibility:public"],
55 deps = [
56 "//frc971/control_loops:profiled_subsystem_fbs",
57 "//frc971/vision:calibration_fbs",
58 "//frc971/vision:target_map_fbs",
59 "//frc971/zeroing:constants_fbs",
60 ],
61)
62
63static_flatbuffer(
64 name = "constants_list_fbs",
65 srcs = ["constants_list.fbs"],
66 visibility = ["//visibility:public"],
67 deps = [":constants_fbs"],
68)
69
70cc_binary(
71 name = "constants_sender",
72 srcs = ["constants_sender.cc"],
73 visibility = ["//visibility:public"],
74 deps = [
75 ":constants_fbs",
76 ":constants_list_fbs",
77 "//aos:init",
78 "//aos/events:shm_event_loop",
79 "//aos/testing:path",
80 "//frc971/constants:constants_sender_lib",
81 ],
82)
83
84cc_binary(
85 name = "constants_formatter",
86 srcs = ["constants_formatter.cc"],
87 data = [":constants_unvalidated.json"],
88 visibility = ["//visibility:public"],
89 deps = [
90 ":constants_list_fbs",
91 "//aos:init",
92 "//aos:json_to_flatbuffer",
93 "@com_google_absl//absl/log",
94 "@com_google_absl//absl/log:check",
95 ],
96)
97
98constants_json(
99 name = "constants_json",
100 src = ":constants_unvalidated.json",
101 out = "constants.json",
102)
103
104constants_json(
105 name = "test_constants_json",
106 src = ":test_constants_unvalidated.json",
107 out = "test_constants.json",
108)