blob: fa29692a63983d216f202f5dc5dcf44ce15e1591 [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',
Austin Schuhd0e02df2015-11-26 12:48:51 -080014 '//frc971/queues:gyro',
Brian Silverman8c374e02015-09-06 23:02:21 -040015 ],
16)
17
18queue_library(
19 name = 'drivetrain_queue',
20 srcs = [
21 'drivetrain.q',
22 ],
Brian Silverman100534c2015-09-07 15:51:23 -040023 deps = [
24 '//aos/common/controls:control_loop_queues',
25 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040026)
27
Austin Schuh572ff402015-11-08 12:17:50 -080028genrule(
29 name = 'genrule_drivetrain',
30 visibility = ['//visibility:private'],
31 cmd = '$(location //y2014/control_loops/python:drivetrain) $(OUTS)',
32 tools = [
33 '//y2014/control_loops/python:drivetrain',
34 ],
35 tags = [
36 'local',
37 ],
38 outs = [
39 'drivetrain_dog_motor_plant.h',
40 'drivetrain_dog_motor_plant.cc',
41 'kalman_drivetrain_motor_plant.h',
42 'kalman_drivetrain_motor_plant.cc',
43 ],
44)
45
Austin Schuh0e997732015-11-08 15:14:53 -080046genrule(
47 name = 'genrule_polydrivetrain',
48 visibility = ['//visibility:private'],
49 cmd = '$(location //y2014/control_loops/python:polydrivetrain) $(OUTS)',
50 tools = [
51 '//y2014/control_loops/python:polydrivetrain',
52 ],
53 tags = [
54 'local',
55 ],
56 outs = [
57 'polydrivetrain_dog_motor_plant.h',
58 'polydrivetrain_dog_motor_plant.cc',
59 'polydrivetrain_cim_plant.h',
60 'polydrivetrain_cim_plant.cc',
61 ],
62)
63
Brian Silverman8c374e02015-09-06 23:02:21 -040064cc_library(
65 name = 'polydrivetrain_plants',
66 srcs = [
67 'polydrivetrain_dog_motor_plant.cc',
68 'drivetrain_dog_motor_plant.cc',
Austin Schuh572ff402015-11-08 12:17:50 -080069 'kalman_drivetrain_motor_plant.cc',
Brian Silverman8c374e02015-09-06 23:02:21 -040070 ],
Brian Silverman100534c2015-09-07 15:51:23 -040071 hdrs = [
72 'polydrivetrain_dog_motor_plant.h',
73 'drivetrain_dog_motor_plant.h',
Austin Schuh572ff402015-11-08 12:17:50 -080074 'kalman_drivetrain_motor_plant.h',
Brian Silverman100534c2015-09-07 15:51:23 -040075 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040076 deps = [
77 '//frc971/control_loops:state_feedback_loop',
78 ],
79)
80
81cc_library(
Austin Schuh64ebab22015-11-26 13:28:30 -080082 name = 'ssdrivetrain',
83 srcs = [
84 'ssdrivetrain.cc',
85 ],
86 hdrs = [
87 'ssdrivetrain.h',
88 ],
89 deps = [
90 ':drivetrain_queue',
91 '//y2014:constants',
92 '//aos/common/controls:polytope',
93 '//aos/common:math',
94 '//aos/common/messages:robot_state',
95 '//frc971/control_loops:state_feedback_loop',
96 '//frc971/control_loops:coerce_goal',
97 '//aos/common/util:log_interval',
98 '//aos/common/logging:queue_logging',
99 '//aos/common/logging:matrix_logging',
100 ],
101)
102
103cc_library(
Austin Schuh96ce8ae2015-11-26 12:46:02 -0800104 name = 'polydrivetrain',
105 srcs = [
106 'polydrivetrain.cc',
107 ],
108 hdrs = [
109 'polydrivetrain.h',
110 ],
111 deps = [
112 ':drivetrain_queue',
113 '//y2014:constants',
114 '//aos/common/controls:polytope',
115 '//aos/common:math',
116 '//aos/common/messages:robot_state',
117 '//frc971/control_loops:state_feedback_loop',
118 '//frc971/control_loops:coerce_goal',
119 '//aos/common/util:log_interval',
120 '//aos/common/logging:queue_logging',
121 '//aos/common/logging:matrix_logging',
122 ],
123)
124
125cc_library(
Brian Silverman8c374e02015-09-06 23:02:21 -0400126 name = 'drivetrain_lib',
127 srcs = [
128 'drivetrain.cc',
Brian Silverman8c374e02015-09-06 23:02:21 -0400129 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400130 hdrs = [
131 'drivetrain.h',
Brian Silverman100534c2015-09-07 15:51:23 -0400132 ],
Brian Silverman8c374e02015-09-06 23:02:21 -0400133 deps = [
134 ':drivetrain_queue',
Austin Schuh96ce8ae2015-11-26 12:46:02 -0800135 ':polydrivetrain',
Austin Schuh64ebab22015-11-26 13:28:30 -0800136 ':ssdrivetrain',
Brian Silverman8c374e02015-09-06 23:02:21 -0400137 '//aos/common/controls:control_loop',
138 '//y2014:constants',
Brian Silverman8c374e02015-09-06 23:02:21 -0400139 '//frc971/queues:gyro',
140 '//aos/common/util:log_interval',
141 '//aos/common/logging:queue_logging',
142 '//aos/common/logging:matrix_logging',
143 ],
144)
145
Brian Silverman100534c2015-09-07 15:51:23 -0400146cc_test(
Brian Silverman8c374e02015-09-06 23:02:21 -0400147 name = 'drivetrain_lib_test',
148 srcs = [
149 'drivetrain_lib_test.cc',
150 ],
151 deps = [
Brian Silverman258b9172015-09-19 14:32:57 -0400152 '//aos/testing:googletest',
Brian Silverman8c374e02015-09-06 23:02:21 -0400153 ':drivetrain_queue',
154 ':drivetrain_lib',
155 '//aos/common/controls:control_loop_test',
156 '//frc971/control_loops:state_feedback_loop',
157 '//frc971/queues:gyro',
158 '//aos/common:queues',
159 ],
160)
161
162cc_binary(
163 name = 'drivetrain',
164 srcs = [
165 'drivetrain_main.cc',
166 ],
167 deps = [
168 '//aos/linux_code:init',
169 ':drivetrain_lib',
170 ':drivetrain_queue',
171 ],
172)