blob: f1198a1fdd5b5c23bb06ce94a6f9fd749f615272 [file] [log] [blame]
James Kuszmaulef35d732022-02-12 16:37:32 -08001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
2load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
3
4flatbuffer_cc_library(
5 name = "localizer_output_fbs",
6 srcs = [
7 "localizer_output.fbs",
8 ],
9 gen_reflections = True,
10 target_compatible_with = ["@platforms//os:linux"],
11 visibility = ["//visibility:public"],
12)
13
14flatbuffer_cc_library(
15 name = "localizer_status_fbs",
16 srcs = [
17 "localizer_status.fbs",
18 ],
19 gen_reflections = True,
20 includes = [
21 "//frc971/control_loops:control_loops_fbs_includes",
22 "//frc971/control_loops/drivetrain:drivetrain_status_fbs_includes",
23 ],
24 target_compatible_with = ["@platforms//os:linux"],
25 visibility = ["//visibility:public"],
26)
27
28cc_static_flatbuffer(
29 name = "localizer_schema",
30 function = "frc971::controls::LocalizerStatusSchema",
31 target = ":localizer_status_fbs_reflection_out",
32 visibility = ["//visibility:public"],
33)
James Kuszmaul29c59522022-02-12 16:44:26 -080034
35cc_library(
36 name = "localizer",
37 srcs = ["localizer.cc"],
38 hdrs = ["localizer.h"],
39 visibility = ["//visibility:public"],
40 deps = [
41 ":localizer_output_fbs",
42 ":localizer_status_fbs",
43 "//aos/containers:ring_buffer",
44 "//aos/events:event_loop",
45 "//aos/time",
46 "//frc971/control_loops:c2d",
47 "//frc971/control_loops:control_loops_fbs",
48 "//frc971/control_loops/drivetrain:drivetrain_output_fbs",
49 "//frc971/control_loops/drivetrain:drivetrain_position_fbs",
50 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
51 "//frc971/control_loops/drivetrain:improved_down_estimator",
52 "//frc971/control_loops/drivetrain:localizer_fbs",
53 "//frc971/wpilib:imu_batch_fbs",
54 "//frc971/wpilib:imu_fbs",
55 "//frc971/zeroing:imu_zeroer",
56 "//y2020/control_loops/drivetrain:drivetrain_base",
57 "//y2020/vision/sift:sift_fbs",
58 "@org_tuxfamily_eigen//:eigen",
59 ],
60)
61
62cc_test(
63 name = "localizer_test",
64 srcs = ["localizer_test.cc"],
65 data = [
66 "//y2022:config",
67 ],
68 shard_count = 10,
69 deps = [
70 ":localizer",
71 "//aos/events:simulated_event_loop",
72 "//aos/testing:googletest",
73 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
74 ],
75)
76
77cc_binary(
78 name = "localizer_replay",
79 srcs = ["localizer_replay.cc"],
80 data = [
81 "//y2020:config",
82 ],
83 target_compatible_with = ["@platforms//os:linux"],
84 deps = [
85 ":localizer",
86 ":localizer_schema",
87 "//aos:configuration",
88 "//aos:init",
89 "//aos:json_to_flatbuffer",
90 "//aos/events:simulated_event_loop",
91 "//aos/events/logging:log_reader",
92 "//aos/events/logging:log_writer",
93 ],
94)