blob: 2741fd268e58e54d5e67afff04bf157bf06918a0 [file] [log] [blame]
Ravago Jones486de802021-05-19 20:47:55 -07001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
2load("//tools/build_rules:select.bzl", "compiler_select", "cpu_select")
3
4genrule(
5 name = "genrule_drivetrain",
6 outs = [
7 "drivetrain_dog_motor_plant.h",
8 "drivetrain_dog_motor_plant.cc",
9 "kalman_drivetrain_motor_plant.h",
10 "kalman_drivetrain_motor_plant.cc",
11 ],
12 cmd = "$(location //y2021_bot3/control_loops/python:drivetrain) $(OUTS)",
13 target_compatible_with = ["@platforms//os:linux"],
14 tools = [
15 "//y2021_bot3/control_loops/python:drivetrain",
16 ],
17)
18
19genrule(
20 name = "genrule_polydrivetrain",
21 outs = [
22 "polydrivetrain_dog_motor_plant.h",
23 "polydrivetrain_dog_motor_plant.cc",
24 "polydrivetrain_cim_plant.h",
25 "polydrivetrain_cim_plant.cc",
26 "hybrid_velocity_drivetrain.h",
27 "hybrid_velocity_drivetrain.cc",
28 ],
29 cmd = "$(location //y2021_bot3/control_loops/python:polydrivetrain) $(OUTS)",
30 target_compatible_with = ["@platforms//os:linux"],
31 tools = [
32 "//y2021_bot3/control_loops/python:polydrivetrain",
33 ],
34)
35
36cc_library(
37 name = "polydrivetrain_plants",
38 srcs = [
39 "drivetrain_dog_motor_plant.cc",
40 "hybrid_velocity_drivetrain.cc",
41 "kalman_drivetrain_motor_plant.cc",
42 "polydrivetrain_dog_motor_plant.cc",
43 ],
44 hdrs = [
45 "drivetrain_dog_motor_plant.h",
46 "hybrid_velocity_drivetrain.h",
47 "kalman_drivetrain_motor_plant.h",
48 "polydrivetrain_dog_motor_plant.h",
49 ],
50 target_compatible_with = ["@platforms//os:linux"],
51 visibility = ["//visibility:public"],
52 deps = [
53 "//frc971/control_loops:hybrid_state_feedback_loop",
54 "//frc971/control_loops:state_feedback_loop",
55 ],
56)
57
58cc_library(
59 name = "drivetrain_base",
60 srcs = [
61 "drivetrain_base.cc",
62 ],
63 hdrs = [
64 "drivetrain_base.h",
65 ],
66 target_compatible_with = ["@platforms//os:linux"],
67 visibility = ["//visibility:public"],
68 deps = [
69 ":polydrivetrain_plants",
70 "//frc971:shifter_hall_effect",
71 "//frc971/control_loops/drivetrain:drivetrain_config",
72 ],
73)
74
75cc_binary(
76 name = "drivetrain",
77 srcs = [
78 "drivetrain_main.cc",
79 ],
80 target_compatible_with = ["@platforms//os:linux"],
81 visibility = ["//visibility:public"],
82 deps = [
83 ":drivetrain_base",
84 "//aos:init",
85 "//aos/events:shm_event_loop",
86 "//frc971/control_loops/drivetrain:drivetrain_lib",
87 ],
88)