blob: 46654ecc3e210fb8af530575b9066d63c76951f1 [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",
6 "kalman_drivetrain_motor_plant.h",
7 "kalman_drivetrain_motor_plant.cc",
8 ],
9 cmd = "$(location //y2023_bot3/control_loops/python:drivetrain) $(OUTS)",
10 target_compatible_with = ["@platforms//os:linux"],
11 tools = [
12 "//y2023_bot3/control_loops/python:drivetrain",
13 ],
14)
15
16genrule(
17 name = "genrule_polydrivetrain",
18 outs = [
19 "polydrivetrain_dog_motor_plant.h",
20 "polydrivetrain_dog_motor_plant.cc",
21 "polydrivetrain_cim_plant.h",
22 "polydrivetrain_cim_plant.cc",
23 "hybrid_velocity_drivetrain.h",
24 "hybrid_velocity_drivetrain.cc",
25 ],
26 cmd = "$(location //y2023_bot3/control_loops/python:polydrivetrain) $(OUTS)",
27 target_compatible_with = ["@platforms//os:linux"],
28 tools = [
29 "//y2023_bot3/control_loops/python:polydrivetrain",
30 ],
31)
32
33cc_library(
34 name = "polydrivetrain_plants",
35 srcs = [
36 "drivetrain_dog_motor_plant.cc",
37 "hybrid_velocity_drivetrain.cc",
38 "kalman_drivetrain_motor_plant.cc",
39 "polydrivetrain_dog_motor_plant.cc",
40 ],
41 hdrs = [
42 "drivetrain_dog_motor_plant.h",
43 "hybrid_velocity_drivetrain.h",
44 "kalman_drivetrain_motor_plant.h",
45 "polydrivetrain_dog_motor_plant.h",
46 ],
47 target_compatible_with = ["@platforms//os:linux"],
48 visibility = ["//visibility:public"],
49 deps = [
50 "//frc971/control_loops:hybrid_state_feedback_loop",
51 "//frc971/control_loops:state_feedback_loop",
52 ],
53)
54
55cc_library(
56 name = "drivetrain_base",
57 srcs = [
58 "drivetrain_base.cc",
59 ],
60 hdrs = [
61 "drivetrain_base.h",
62 ],
63 target_compatible_with = ["@platforms//os:linux"],
64 visibility = ["//visibility:public"],
65 deps = [
66 ":polydrivetrain_plants",
67 "//frc971:shifter_hall_effect",
68 "//frc971/control_loops/drivetrain:drivetrain_config",
69 ],
70)
71
72cc_binary(
73 name = "drivetrain",
74 srcs = [
75 "drivetrain_main.cc",
76 ],
77 target_compatible_with = ["@platforms//os:linux"],
78 visibility = ["//visibility:public"],
79 deps = [
80 ":drivetrain_base",
81 "//aos:init",
82 "//aos/events:shm_event_loop",
83 "//frc971/control_loops/drivetrain:drivetrain_lib",
84 "//frc971/control_loops/drivetrain/localization:puppet_localizer",
85 "//y2023_bot3/constants:constants_sender",
86 ],
87)
88
89cc_binary(
90 name = "trajectory_generator",
91 srcs = [
92 "trajectory_generator_main.cc",
93 ],
94 target_compatible_with = ["@platforms//os:linux"],
95 visibility = ["//visibility:public"],
96 deps = [
97 ":drivetrain_base",
98 "//aos:init",
99 "//aos/events:shm_event_loop",
100 "//frc971/control_loops/drivetrain:trajectory_generator",
101 ],
102)