blob: bbf032439ffefb57addeced22c39ff203c5a42c6 [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")
James Kuszmaulf7c8a092022-02-12 16:46:09 -08003load("@npm//@bazel/typescript:index.bzl", "ts_library")
4
5ts_library(
6 name = "localizer_plotter",
7 srcs = ["localizer_plotter.ts"],
8 target_compatible_with = ["@platforms//os:linux"],
9 visibility = ["//visibility:public"],
10 deps = [
11 "//aos/network/www:aos_plotter",
12 "//aos/network/www:colors",
13 "//aos/network/www:proxy",
14 "//frc971/wpilib:imu_plot_utils",
15 ],
16)
James Kuszmaulef35d732022-02-12 16:37:32 -080017
18flatbuffer_cc_library(
19 name = "localizer_output_fbs",
20 srcs = [
21 "localizer_output.fbs",
22 ],
23 gen_reflections = True,
24 target_compatible_with = ["@platforms//os:linux"],
25 visibility = ["//visibility:public"],
26)
27
28flatbuffer_cc_library(
29 name = "localizer_status_fbs",
30 srcs = [
31 "localizer_status.fbs",
32 ],
33 gen_reflections = True,
34 includes = [
35 "//frc971/control_loops:control_loops_fbs_includes",
36 "//frc971/control_loops/drivetrain:drivetrain_status_fbs_includes",
37 ],
38 target_compatible_with = ["@platforms//os:linux"],
39 visibility = ["//visibility:public"],
40)
41
42cc_static_flatbuffer(
43 name = "localizer_schema",
44 function = "frc971::controls::LocalizerStatusSchema",
45 target = ":localizer_status_fbs_reflection_out",
46 visibility = ["//visibility:public"],
47)
James Kuszmaul29c59522022-02-12 16:44:26 -080048
49cc_library(
50 name = "localizer",
51 srcs = ["localizer.cc"],
52 hdrs = ["localizer.h"],
53 visibility = ["//visibility:public"],
54 deps = [
55 ":localizer_output_fbs",
56 ":localizer_status_fbs",
57 "//aos/containers:ring_buffer",
58 "//aos/events:event_loop",
59 "//aos/time",
60 "//frc971/control_loops:c2d",
61 "//frc971/control_loops:control_loops_fbs",
62 "//frc971/control_loops/drivetrain:drivetrain_output_fbs",
63 "//frc971/control_loops/drivetrain:drivetrain_position_fbs",
64 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
65 "//frc971/control_loops/drivetrain:improved_down_estimator",
66 "//frc971/control_loops/drivetrain:localizer_fbs",
67 "//frc971/wpilib:imu_batch_fbs",
68 "//frc971/wpilib:imu_fbs",
69 "//frc971/zeroing:imu_zeroer",
70 "//y2020/control_loops/drivetrain:drivetrain_base",
71 "//y2020/vision/sift:sift_fbs",
72 "@org_tuxfamily_eigen//:eigen",
73 ],
74)
75
76cc_test(
77 name = "localizer_test",
78 srcs = ["localizer_test.cc"],
79 data = [
80 "//y2022:config",
81 ],
82 shard_count = 10,
83 deps = [
84 ":localizer",
85 "//aos/events:simulated_event_loop",
86 "//aos/testing:googletest",
87 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
88 ],
89)
90
91cc_binary(
92 name = "localizer_replay",
93 srcs = ["localizer_replay.cc"],
94 data = [
95 "//y2020:config",
96 ],
97 target_compatible_with = ["@platforms//os:linux"],
98 deps = [
99 ":localizer",
100 ":localizer_schema",
101 "//aos:configuration",
102 "//aos:init",
103 "//aos:json_to_flatbuffer",
104 "//aos/events:simulated_event_loop",
105 "//aos/events/logging:log_reader",
106 "//aos/events/logging:log_writer",
107 ],
108)