blob: d35e46b0289216e9a1089bac2c5804563d9d0ebe [file] [log] [blame]
Ravago Jones486de802021-05-19 20:47:55 -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",
Ravago Jones486de802021-05-19 20:47:55 -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",
Ravago Jones486de802021-05-19 20:47:55 -070010 ],
11 cmd = "$(location //y2021_bot3/control_loops/python:drivetrain) $(OUTS)",
12 target_compatible_with = ["@platforms//os:linux"],
13 tools = [
14 "//y2021_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",
Ravago Jones486de802021-05-19 20:47:55 -070024 "polydrivetrain_cim_plant.h",
25 "polydrivetrain_cim_plant.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -080026 "polydrivetrain_cim_plant.json",
Ravago Jones486de802021-05-19 20:47:55 -070027 "hybrid_velocity_drivetrain.h",
28 "hybrid_velocity_drivetrain.cc",
James Kuszmauleeb98e92024-01-14 22:15:32 -080029 "hybrid_velocity_drivetrain.json",
Ravago Jones486de802021-05-19 20:47:55 -070030 ],
31 cmd = "$(location //y2021_bot3/control_loops/python:polydrivetrain) $(OUTS)",
32 target_compatible_with = ["@platforms//os:linux"],
33 tools = [
34 "//y2021_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 ],
90)