blob: 77631af41c134bd6ace57410c22c8d169dbaceac [file] [log] [blame]
Brian Silverman8c374e02015-09-06 23:02:21 -04001package(default_visibility = ['//visibility:public'])
2
Austin Schuhf0736512015-09-07 01:22:16 -07003load('/aos/build/queues', 'queue_library')
Brian Silverman8c374e02015-09-06 23:02:21 -04004
5cc_binary(
6 name = 'replay_drivetrain',
7 srcs = [
8 'replay_drivetrain.cc',
9 ],
10 deps = [
11 ':drivetrain_queue',
12 '//aos/common/controls:replay_control_loop',
13 '//aos/linux_code:init',
14 ],
15)
16
17queue_library(
18 name = 'drivetrain_queue',
19 srcs = [
20 'drivetrain.q',
21 ],
Brian Silverman100534c2015-09-07 15:51:23 -040022 deps = [
23 '//aos/common/controls:control_loop_queues',
24 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040025)
26
Austin Schuh572ff402015-11-08 12:17:50 -080027genrule(
28 name = 'genrule_drivetrain',
29 visibility = ['//visibility:private'],
30 cmd = '$(location //y2014/control_loops/python:drivetrain) $(OUTS)',
31 tools = [
32 '//y2014/control_loops/python:drivetrain',
33 ],
34 tags = [
35 'local',
36 ],
37 outs = [
38 'drivetrain_dog_motor_plant.h',
39 'drivetrain_dog_motor_plant.cc',
40 'kalman_drivetrain_motor_plant.h',
41 'kalman_drivetrain_motor_plant.cc',
42 ],
43)
44
Austin Schuh0e997732015-11-08 15:14:53 -080045genrule(
46 name = 'genrule_polydrivetrain',
47 visibility = ['//visibility:private'],
48 cmd = '$(location //y2014/control_loops/python:polydrivetrain) $(OUTS)',
49 tools = [
50 '//y2014/control_loops/python:polydrivetrain',
51 ],
52 tags = [
53 'local',
54 ],
55 outs = [
56 'polydrivetrain_dog_motor_plant.h',
57 'polydrivetrain_dog_motor_plant.cc',
58 'polydrivetrain_cim_plant.h',
59 'polydrivetrain_cim_plant.cc',
60 ],
61)
62
Brian Silverman8c374e02015-09-06 23:02:21 -040063cc_library(
64 name = 'polydrivetrain_plants',
65 srcs = [
66 'polydrivetrain_dog_motor_plant.cc',
67 'drivetrain_dog_motor_plant.cc',
Austin Schuh572ff402015-11-08 12:17:50 -080068 'kalman_drivetrain_motor_plant.cc',
Brian Silverman8c374e02015-09-06 23:02:21 -040069 ],
Brian Silverman100534c2015-09-07 15:51:23 -040070 hdrs = [
71 'polydrivetrain_dog_motor_plant.h',
72 'drivetrain_dog_motor_plant.h',
Austin Schuh572ff402015-11-08 12:17:50 -080073 'kalman_drivetrain_motor_plant.h',
Brian Silverman100534c2015-09-07 15:51:23 -040074 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040075 deps = [
76 '//frc971/control_loops:state_feedback_loop',
77 ],
78)
79
80cc_library(
Austin Schuh96ce8ae2015-11-26 12:46:02 -080081 name = 'polydrivetrain',
82 srcs = [
83 'polydrivetrain.cc',
84 ],
85 hdrs = [
86 'polydrivetrain.h',
87 ],
88 deps = [
89 ':drivetrain_queue',
90 '//y2014:constants',
91 '//aos/common/controls:polytope',
92 '//aos/common:math',
93 '//aos/common/messages:robot_state',
94 '//frc971/control_loops:state_feedback_loop',
95 '//frc971/control_loops:coerce_goal',
96 '//aos/common/util:log_interval',
97 '//aos/common/logging:queue_logging',
98 '//aos/common/logging:matrix_logging',
99 ],
100)
101
102cc_library(
Brian Silverman8c374e02015-09-06 23:02:21 -0400103 name = 'drivetrain_lib',
104 srcs = [
105 'drivetrain.cc',
Brian Silverman8c374e02015-09-06 23:02:21 -0400106 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400107 hdrs = [
108 'drivetrain.h',
Brian Silverman100534c2015-09-07 15:51:23 -0400109 ],
Brian Silverman8c374e02015-09-06 23:02:21 -0400110 deps = [
111 ':drivetrain_queue',
Austin Schuh96ce8ae2015-11-26 12:46:02 -0800112 ':polydrivetrain',
Brian Silverman8c374e02015-09-06 23:02:21 -0400113 '//aos/common/controls:control_loop',
114 '//y2014:constants',
Austin Schuh044e18b2015-10-21 20:17:09 -0700115 '//aos/common:math',
Brian Silverman8c374e02015-09-06 23:02:21 -0400116 '//frc971/control_loops:state_feedback_loop',
117 '//frc971/control_loops:coerce_goal',
118 '//frc971/queues:gyro',
119 '//aos/common/util:log_interval',
120 '//aos/common/logging:queue_logging',
121 '//aos/common/logging:matrix_logging',
122 ],
123)
124
Brian Silverman100534c2015-09-07 15:51:23 -0400125cc_test(
Brian Silverman8c374e02015-09-06 23:02:21 -0400126 name = 'drivetrain_lib_test',
127 srcs = [
128 'drivetrain_lib_test.cc',
129 ],
130 deps = [
Brian Silverman258b9172015-09-19 14:32:57 -0400131 '//aos/testing:googletest',
Brian Silverman8c374e02015-09-06 23:02:21 -0400132 ':drivetrain_queue',
133 ':drivetrain_lib',
134 '//aos/common/controls:control_loop_test',
135 '//frc971/control_loops:state_feedback_loop',
136 '//frc971/queues:gyro',
137 '//aos/common:queues',
138 ],
139)
140
141cc_binary(
142 name = 'drivetrain',
143 srcs = [
144 'drivetrain_main.cc',
145 ],
146 deps = [
147 '//aos/linux_code:init',
148 ':drivetrain_lib',
149 ':drivetrain_queue',
150 ],
151)