blob: 034c7795b52a9a7647a4ce41be7b5a49febae37b [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",
James Kuszmaul29c59522022-02-12 16:44:26 -080069 "//y2020/vision/sift:sift_fbs",
70 "@org_tuxfamily_eigen//:eigen",
71 ],
72)
73
James Kuszmaul93825a02022-02-13 16:50:33 -080074cc_binary(
75 name = "localizer_main",
76 srcs = ["localizer_main.cc"],
77 visibility = ["//visibility:public"],
78 deps = [
79 ":localizer",
80 "//aos:init",
81 "//aos/events:shm_event_loop",
82 "//y2022/control_loops/drivetrain:drivetrain_base",
83 ],
84)
85
James Kuszmaul29c59522022-02-12 16:44:26 -080086cc_test(
87 name = "localizer_test",
88 srcs = ["localizer_test.cc"],
89 data = [
90 "//y2022:config",
91 ],
92 shard_count = 10,
93 deps = [
94 ":localizer",
95 "//aos/events:simulated_event_loop",
96 "//aos/testing:googletest",
97 "//frc971/control_loops/drivetrain:drivetrain_test_lib",
98 ],
99)
100
101cc_binary(
102 name = "localizer_replay",
103 srcs = ["localizer_replay.cc"],
104 data = [
105 "//y2020:config",
106 ],
107 target_compatible_with = ["@platforms//os:linux"],
108 deps = [
109 ":localizer",
110 ":localizer_schema",
111 "//aos:configuration",
112 "//aos:init",
113 "//aos:json_to_flatbuffer",
114 "//aos/events:simulated_event_loop",
115 "//aos/events/logging:log_reader",
116 "//aos/events/logging:log_writer",
James Kuszmaul93825a02022-02-13 16:50:33 -0800117 "//y2020/control_loops/drivetrain:drivetrain_base",
James Kuszmaul29c59522022-02-12 16:44:26 -0800118 ],
119)