blob: 85aad661dbb649cacedeb50e67abb61dc24c1c04 [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
Brian Silverman8c374e02015-09-06 23:02:21 -040045cc_library(
46 name = 'polydrivetrain_plants',
47 srcs = [
48 'polydrivetrain_dog_motor_plant.cc',
49 'drivetrain_dog_motor_plant.cc',
Austin Schuh572ff402015-11-08 12:17:50 -080050 'kalman_drivetrain_motor_plant.cc',
Brian Silverman8c374e02015-09-06 23:02:21 -040051 ],
Brian Silverman100534c2015-09-07 15:51:23 -040052 hdrs = [
53 'polydrivetrain_dog_motor_plant.h',
54 'drivetrain_dog_motor_plant.h',
Austin Schuh572ff402015-11-08 12:17:50 -080055 'kalman_drivetrain_motor_plant.h',
Brian Silverman100534c2015-09-07 15:51:23 -040056 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040057 deps = [
58 '//frc971/control_loops:state_feedback_loop',
59 ],
60)
61
62cc_library(
63 name = 'drivetrain_lib',
64 srcs = [
65 'drivetrain.cc',
66 'polydrivetrain_cim_plant.cc',
67 ],
Brian Silverman100534c2015-09-07 15:51:23 -040068 hdrs = [
69 'drivetrain.h',
70 'polydrivetrain_cim_plant.h',
71 ],
Brian Silverman8c374e02015-09-06 23:02:21 -040072 deps = [
73 ':drivetrain_queue',
74 '//aos/common/controls:control_loop',
75 '//y2014:constants',
76 '//aos/common/controls:polytope',
Austin Schuh044e18b2015-10-21 20:17:09 -070077 '//aos/common:math',
Brian Silverman8c374e02015-09-06 23:02:21 -040078 '//frc971/control_loops:state_feedback_loop',
79 '//frc971/control_loops:coerce_goal',
80 '//frc971/queues:gyro',
81 '//aos/common/util:log_interval',
82 '//aos/common/logging:queue_logging',
83 '//aos/common/logging:matrix_logging',
84 ],
85)
86
Brian Silverman100534c2015-09-07 15:51:23 -040087cc_test(
Brian Silverman8c374e02015-09-06 23:02:21 -040088 name = 'drivetrain_lib_test',
89 srcs = [
90 'drivetrain_lib_test.cc',
91 ],
92 deps = [
Brian Silverman258b9172015-09-19 14:32:57 -040093 '//aos/testing:googletest',
Brian Silverman8c374e02015-09-06 23:02:21 -040094 ':drivetrain_queue',
95 ':drivetrain_lib',
96 '//aos/common/controls:control_loop_test',
97 '//frc971/control_loops:state_feedback_loop',
98 '//frc971/queues:gyro',
99 '//aos/common:queues',
100 ],
101)
102
103cc_binary(
104 name = 'drivetrain',
105 srcs = [
106 'drivetrain_main.cc',
107 ],
108 deps = [
109 '//aos/linux_code:init',
110 ':drivetrain_lib',
111 ':drivetrain_queue',
112 ],
113)