blob: 078d6163c0ade0f070a6751dc07e4f932b21a637 [file] [log] [blame]
Niko Sohmers3860f8a2024-01-12 21:05:19 -08001load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
2load("//tools/build_rules:template.bzl", "jinja2_template")
3
4cc_library(
5 name = "simulated_constants_sender",
6 srcs = ["simulated_constants_sender.cc"],
7 hdrs = ["simulated_constants_sender.h"],
8 data = [":test_constants.json"],
9 visibility = ["//y2024:__subpackages__"],
10 deps = [
11 ":constants_fbs",
12 ":constants_list_fbs",
13 "//aos/events:simulated_event_loop",
14 "//aos/testing:path",
15 "//frc971/constants:constants_sender_lib",
16 ],
17)
18
19jinja2_template(
20 name = "test_constants.json",
21 src = "test_constants.jinja2.json",
Niko Sohmersb21dbdc2024-01-20 20:06:59 -080022 includes = glob([
23 "test_data/*.json",
24 ]) + [
Niko Sohmersb21dbdc2024-01-20 20:06:59 -080025 "//y2024/control_loops/superstructure/intake_pivot:intake_pivot_json",
James Kuszmaul2549e752024-01-20 17:42:51 -080026 "//y2024/control_loops/drivetrain:drivetrain_config.json",
Niko Sohmersb21dbdc2024-01-20 20:06:59 -080027 "common.json",
Maxwell Hendersonde14bbb2024-01-29 13:59:28 -080028 "common.jinja2",
Niko Sohmersb21dbdc2024-01-20 20:06:59 -080029 "//y2024/vision/maps",
30 ],
Niko Sohmers3860f8a2024-01-12 21:05:19 -080031 parameters = {},
32 visibility = ["//visibility:public"],
33)
34
35jinja2_template(
36 name = "constants.json",
37 src = "constants.jinja2.json",
38 includes = [
39 "7971.json",
40 "971.json",
41 "9971.json",
Maxwell Hendersonde14bbb2024-01-29 13:59:28 -080042 "common.jinja2",
Niko Sohmers3860f8a2024-01-12 21:05:19 -080043 "common.json",
James Kuszmaul2549e752024-01-20 17:42:51 -080044 "//y2024/control_loops/drivetrain:drivetrain_config.json",
Niko Sohmersb21dbdc2024-01-20 20:06:59 -080045 "//y2024/control_loops/superstructure/intake_pivot:intake_pivot_json",
Niko Sohmers3860f8a2024-01-12 21:05:19 -080046 "//y2024/vision/maps",
47 ],
48 parameters = {},
49 visibility = ["//visibility:public"],
50)
51
Niko Sohmers3860f8a2024-01-12 21:05:19 -080052static_flatbuffer(
53 name = "constants_fbs",
54 srcs = ["constants.fbs"],
55 visibility = ["//visibility:public"],
56 deps = [
Niko Sohmersb21dbdc2024-01-20 20:06:59 -080057 "//frc971/control_loops:profiled_subsystem_fbs",
James Kuszmaul2549e752024-01-20 17:42:51 -080058 "//frc971/control_loops/drivetrain:drivetrain_config_fbs",
Niko Sohmers3860f8a2024-01-12 21:05:19 -080059 "//frc971/vision:target_map_fbs",
Niko Sohmersb21dbdc2024-01-20 20:06:59 -080060 "//frc971/zeroing:constants_fbs",
Niko Sohmers3860f8a2024-01-12 21:05:19 -080061 ],
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)
Maxwell Henderson6a929ff2024-01-14 20:03:59 -080084
85cc_test(
86 name = "constants_validator_test",
87 srcs = ["constants_validator_test.cc"],
88 data = [":constants.json"],
89 visibility = ["//visibility:public"],
90 deps = [
91 ":constants_list_fbs",
92 "//aos:json_to_flatbuffer",
93 "//aos/testing:googletest",
94 "@com_github_google_glog//:glog",
95 ],
96)