blob: ccd4c36a99eb43e1657eb1dc65c386bd30c8deab [file] [log] [blame]
Austin Schuhbcce26a2018-03-26 23:41:24 -07001load("//tools:environments.bzl", "mcu_cpus")
2
3py_binary(
4 name = "drivetrain",
5 srcs = [
6 "drivetrain.py",
7 ],
Brian Silverman6470f442018-08-05 12:08:16 -07008 legacy_create_init = False,
Austin Schuhbcce26a2018-03-26 23:41:24 -07009 restricted_to = ["//tools:k8"],
10 deps = [
Brian Silverman6470f442018-08-05 12:08:16 -070011 ":python_init",
Austin Schuhbcce26a2018-03-26 23:41:24 -070012 "//external:python-gflags",
13 "//external:python-glog",
14 "//frc971/control_loops/python:drivetrain",
15 ],
16)
17
18py_binary(
19 name = "polydrivetrain",
20 srcs = [
21 "drivetrain.py",
22 "polydrivetrain.py",
23 ],
Brian Silverman6470f442018-08-05 12:08:16 -070024 legacy_create_init = False,
Austin Schuhbcce26a2018-03-26 23:41:24 -070025 restricted_to = ["//tools:k8"],
26 deps = [
Brian Silverman6470f442018-08-05 12:08:16 -070027 ":python_init",
Austin Schuhbcce26a2018-03-26 23:41:24 -070028 "//external:python-gflags",
29 "//external:python-glog",
30 "//frc971/control_loops/python:polydrivetrain",
31 ],
32)
33
34genrule(
35 name = "genrule_drivetrain",
36 outs = [
37 "drivetrain_dog_motor_plant.h",
38 "drivetrain_dog_motor_plant.cc",
39 "kalman_drivetrain_motor_plant.h",
40 "kalman_drivetrain_motor_plant.cc",
41 ],
42 cmd = "$(location :drivetrain) $(OUTS)",
43 restricted_to = mcu_cpus,
44 tools = [
45 ":drivetrain",
46 ],
47)
48
49genrule(
50 name = "genrule_polydrivetrain",
51 outs = [
52 "polydrivetrain_dog_motor_plant.h",
53 "polydrivetrain_dog_motor_plant.cc",
54 "polydrivetrain_cim_plant.h",
55 "polydrivetrain_cim_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110056 "hybrid_velocity_drivetrain.h",
57 "hybrid_velocity_drivetrain.cc",
Austin Schuhbcce26a2018-03-26 23:41:24 -070058 ],
59 cmd = "$(location :polydrivetrain) $(OUTS)",
60 restricted_to = mcu_cpus,
61 tools = [
62 ":polydrivetrain",
63 ],
64)
65
66cc_library(
67 name = "drivetrain_lib",
68 srcs = [
69 "drivetrain_dog_motor_plant.cc",
70 "polydrivetrain_dog_motor_plant.cc",
Austin Schuh74425152018-12-21 11:37:14 +110071 # Note: skip the hybrid filter since we don't need it down here.
Austin Schuhbcce26a2018-03-26 23:41:24 -070072 ],
73 hdrs = [
74 "drivetrain_dog_motor_plant.h",
75 "polydrivetrain_dog_motor_plant.h",
76 ],
77 restricted_to = mcu_cpus,
78 visibility = ["//visibility:public"],
79 deps = [
80 "//frc971/control_loops:state_feedback_loop_uc",
81 "//frc971/control_loops/drivetrain:polydrivetrain_uc",
82 ],
83)
Austin Schuh4fae0fc2018-03-27 23:51:42 -070084
85cc_library(
86 name = "spring",
87 srcs = ["spring.cc"],
88 hdrs = ["spring.h"],
89 compatible_with = mcu_cpus,
90 visibility = ["//visibility:public"],
91 deps = ["//frc971/zeroing:wrap"],
92)
93
94cc_test(
95 name = "spring_test",
96 srcs = [
97 "spring_test.cc",
98 ],
99 deps = [
100 ":spring",
101 "//aos/testing:googletest",
102 ],
103)
Brian Silverman6470f442018-08-05 12:08:16 -0700104
105py_library(
106 name = "python_init",
107 srcs = ["__init__.py"],
108 visibility = ["//visibility:public"],
109 deps = ["//motors:python_init"],
110)