blob: 887a63cbed25588cf27bea5bdf43b6b223d72abf [file] [log] [blame]
Adam Snaider18f44172016-10-22 15:30:21 -07001package(default_visibility = ['//visibility:public'])
2
3load('/aos/build/queues', 'queue_library')
4
5queue_library(
6 name = 'intake_queue',
7 srcs = [
8 'intake.q',
9 ],
10 deps = [
11 '//aos/common/controls:control_loop_queues',
12 '//frc971/control_loops:queues',
13 ],
14)
15
16genrule(
17 name = 'genrule_intake',
18 visibility = ['//visibility:private'],
19 cmd = '$(location //y2016_bot3/control_loops/python:intake) $(OUTS)',
20 tools = [
21 '//y2016_bot3/control_loops/python:intake',
22 ],
23 outs = [
24 'intake_plant.h',
25 'intake_plant.cc',
26 'integral_intake_plant.h',
27 'integral_intake_plant.cc',
28 ],
29)
30
31cc_library(
32 name = 'intake_plants',
33 srcs = [
34 'intake_plant.cc',
35 'integral_intake_plant.cc',
36 ],
37 hdrs = [
38 'intake_plant.h',
39 'integral_intake_plant.h',
40 ],
41 deps = [
42 '//frc971/control_loops:state_feedback_loop',
43 ],
44)
45
46cc_library(
47 name = 'intake_lib',
48 srcs = [
49 'intake.cc',
50 'intake_controls.cc',
51 ],
52 hdrs = [
53 'intake.h',
54 'intake_controls.h',
55 ],
56 deps = [
57 ':intake_queue',
58 ':intake_plants',
59 '//aos/common/controls:control_loop',
60 '//aos/common/util:trapezoid_profile',
61 '//aos/common:math',
62 '//y2016_bot3/queues:ball_detector',
63 '//frc971/control_loops:state_feedback_loop',
64 '//frc971/control_loops:simple_capped_state_feedback_loop',
65 '//frc971/zeroing',
66 ],
67)
68
69cc_test(
70 name = 'intake_lib_test',
71 srcs = [
72 'intake_lib_test.cc',
73 ],
74 deps = [
75 ':intake_queue',
76 ':intake_lib',
77 '//aos/testing:googletest',
78 '//aos/common:queues',
79 '//aos/common/controls:control_loop_test',
80 '//aos/common:math',
81 '//aos/common:time',
82 '//frc971/control_loops:position_sensor_sim',
83 ],
84)
85
86cc_binary(
87 name = 'intake',
88 srcs = [
89 'intake_main.cc',
90 ],
91 deps = [
92 '//aos/linux_code:init',
93 ':intake_lib',
94 ':intake_queue',
95 ],
96)