blob: 62c213d86e41cf8b2aff7b109f8c8f2310f0161c [file] [log] [blame]
Ariv Diggi0af59c02023-10-07 13:15:39 -07001genrule(
2 name = "genrule_drivetrain",
3 outs = [
4 "drivetrain_dog_motor_plant.h",
5 "drivetrain_dog_motor_plant.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -08006 "drivetrain_dog_motor_plant.json",
Ariv Diggi0af59c02023-10-07 13:15:39 -07007 "kalman_drivetrain_motor_plant.h",
8 "kalman_drivetrain_motor_plant.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -08009 "kalman_drivetrain_motor_plant.json",
Ariv Diggi0af59c02023-10-07 13:15:39 -070010 ],
11 cmd = "$(location //y2023_bot3/control_loops/python:drivetrain) $(OUTS)",
12 target_compatible_with = ["@platforms//os:linux"],
13 tools = [
14 "//y2023_bot3/control_loops/python:drivetrain",
15 ],
16)
17
18genrule(
19 name = "genrule_polydrivetrain",
20 outs = [
21 "polydrivetrain_dog_motor_plant.h",
22 "polydrivetrain_dog_motor_plant.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -080023 "polydrivetrain_dog_motor_plant.json",
Ariv Diggi0af59c02023-10-07 13:15:39 -070024 "polydrivetrain_cim_plant.h",
25 "polydrivetrain_cim_plant.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -080026 "polydrivetrain_cim_plant.json",
Ariv Diggi0af59c02023-10-07 13:15:39 -070027 "hybrid_velocity_drivetrain.h",
28 "hybrid_velocity_drivetrain.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -080029 "hybrid_velocity_drivetrain.json",
Ariv Diggi0af59c02023-10-07 13:15:39 -070030 ],
31 cmd = "$(location //y2023_bot3/control_loops/python:polydrivetrain) $(OUTS)",
32 target_compatible_with = ["@platforms//os:linux"],
33 tools = [
34 "//y2023_bot3/control_loops/python:polydrivetrain",
35 ],
36)
37
38cc_library(
39 name = "polydrivetrain_plants",
40 srcs = [
41 "drivetrain_dog_motor_plant.cc",
42 "hybrid_velocity_drivetrain.cc",
43 "kalman_drivetrain_motor_plant.cc",
44 "polydrivetrain_dog_motor_plant.cc",
45 ],
46 hdrs = [
47 "drivetrain_dog_motor_plant.h",
48 "hybrid_velocity_drivetrain.h",
49 "kalman_drivetrain_motor_plant.h",
50 "polydrivetrain_dog_motor_plant.h",
51 ],
52 target_compatible_with = ["@platforms//os:linux"],
53 visibility = ["//visibility:public"],
54 deps = [
55 "//frc971/control_loops:hybrid_state_feedback_loop",
56 "//frc971/control_loops:state_feedback_loop",
57 ],
58)
59
60cc_library(
61 name = "drivetrain_base",
62 srcs = [
63 "drivetrain_base.cc",
64 ],
65 hdrs = [
66 "drivetrain_base.h",
67 ],
68 target_compatible_with = ["@platforms//os:linux"],
69 visibility = ["//visibility:public"],
70 deps = [
71 ":polydrivetrain_plants",
72 "//frc971:shifter_hall_effect",
73 "//frc971/control_loops/drivetrain:drivetrain_config",
74 ],
75)
76
77cc_binary(
78 name = "drivetrain",
79 srcs = [
80 "drivetrain_main.cc",
81 ],
82 target_compatible_with = ["@platforms//os:linux"],
83 visibility = ["//visibility:public"],
84 deps = [
85 ":drivetrain_base",
86 "//aos:init",
87 "//aos/events:shm_event_loop",
88 "//frc971/control_loops/drivetrain:drivetrain_lib",
89 "//frc971/control_loops/drivetrain/localization:puppet_localizer",
90 "//y2023_bot3/constants:constants_sender",
91 ],
92)
93
94cc_binary(
95 name = "trajectory_generator",
96 srcs = [
97 "trajectory_generator_main.cc",
98 ],
99 target_compatible_with = ["@platforms//os:linux"],
100 visibility = ["//visibility:public"],
101 deps = [
102 ":drivetrain_base",
103 "//aos:init",
104 "//aos/events:shm_event_loop",
105 "//frc971/control_loops/drivetrain:trajectory_generator",
106 ],
107)