blob: 3332c1e6152393ce59cf90ff3b6bb86b18411e1f [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",
James Kuszmaul29c59522022-02-12 16:44:26 -080063 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
64 "//frc971/control_loops/drivetrain:improved_down_estimator",
65 "//frc971/control_loops/drivetrain:localizer_fbs",
66 "//frc971/wpilib:imu_batch_fbs",
67 "//frc971/wpilib:imu_fbs",
68 "//frc971/zeroing:imu_zeroer",
69 "//y2020/control_loops/drivetrain:drivetrain_base",
70 "//y2020/vision/sift:sift_fbs",
71 "@org_tuxfamily_eigen//:eigen",
72 ],
73)
74
75cc_test(
76 name = "localizer_test",
77 srcs = ["localizer_test.cc"],
78 data = [
79 "//y2022:config",
80 ],
81 shard_count = 10,
82 deps = [
83 ":localizer",
84 "//aos/events:simulated_event_loop",
85 "//aos/testing:googletest",
86 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
87 ],
88)
89
90cc_binary(
91 name = "localizer_replay",
92 srcs = ["localizer_replay.cc"],
93 data = [
94 "//y2020:config",
95 ],
96 target_compatible_with = ["@platforms//os:linux"],
97 deps = [
98 ":localizer",
99 ":localizer_schema",
100 "//aos:configuration",
101 "//aos:init",
102 "//aos:json_to_flatbuffer",
103 "//aos/events:simulated_event_loop",
104 "//aos/events/logging:log_reader",
105 "//aos/events/logging:log_writer",
106 ],
107)