blob: 5450e8477937fb1d972bec50dddd512786bb3d6e [file] [log] [blame]
John Park7eb90422018-01-27 12:04:57 -08001<?xml version="1.0" encoding="UTF-8"?>
2<examples>
3 <!-- TODO add back in when there are enough samples to justify tags
4 <tagDescription>
5 <name>Simple Robot</name>
6 <description>Examples for simple robot programs.</description>
7 </tagDescription>
8 <tagDescription>
9 <name>Network Tables</name>
10 <description>Examples of how to use Network Tables to accomplish a
11 variety of tasks such as sending and receiving values to both
12 dashboards and co-processors.</description>
13 </tagDescription>
14 <tagDescription>
15 <name>Simulation</name>
16 <description>Examples that can be run in simulation.</description>
17 </tagDescription>-->
18 <tagDescription>
19 <name>Getting Started with C++</name>
20 <description>Examples for getting started with FRC C++</description>
21 </tagDescription>
22 <tagDescription>
23 <name>CommandBased Robot</name>
24 <description>Examples for CommandBased robot programs.</description>
25 </tagDescription>
26 <tagDescription>
27 <name>Actuators</name>
28 <description>Example programs that demonstrate the use of various actuators</description>
29 </tagDescription>
30 <tagDescription>
31 <name>Analog</name>
32 <description>Examples programs that show different uses of analog inputs,
33 outputs and various analog sensors</description>
34 </tagDescription>
35 <tagDescription>
36 <name>CAN</name>
37 <description>Example programs that demonstrate the use of the CAN components in the control
38 system</description>
39 </tagDescription>
40 <tagDescription>
41 <name>Complete List</name>
42 <description>Complete list of all sample programs across all categories</description>
43 </tagDescription>
44 <tagDescription>
45 <name>Digital</name>
46 <description>Example programs that demonstrate the sensors that use the digital I/O ports</description>
47 </tagDescription>
48 <tagDescription>
49 <name>I2C</name>
50 <description>Example programs that demonstrate the use of I2C and various sensors that use
51 it</description>
52 </tagDescription>
53 <tagDescription>
54 <name>Joystick</name>
55 <description>Example programs that demonstate different uses of joysticks for robot
56 driving</description>
57 </tagDescription>
58 <tagDescription>
59 <name>Pneumatics</name>
60 <description>Example programs that demonstrate the use of the compressor and solenoids</description>
61 </tagDescription>
62 <tagDescription>
63 <name>Robot and Motor</name>
64 <description>Example programs that demonstrate driving a robot and motors including safety,
65 servos, etc.</description>
66 </tagDescription>
67 <tagDescription>
68 <name>SPI</name>
69 <description>Example programs that demonstrate the use of the SPI bus and sensors that
70 connect to it</description>
71 </tagDescription>
72 <tagDescription>
73 <name>Safety</name>
74 <description>Example programs that demonstate the motor safety classes and how to use them
75 with your programs</description>
76 </tagDescription>
77 <tagDescription>
78 <name>Sensors</name>
79 <description>Example programs that demonstrate the use of the various commonly used sensors
80 on FRC robots</description>
81 </tagDescription>
82 <tagDescription>
83 <name>Vision</name>
84 <description>Example programs that demonstrate the use of a camera for image acquisition and
85 processing</description>
86 </tagDescription>
87 <example>
88 <name>Motor Controller</name>
89 <description>Demonstrate controlling a single motor with a Joystick.</description>
90 <tags>
91 <tag>Robot and Motor</tag>
92 <tag>Actuators</tag>
93 <tag>Joystick</tag>
94 <tag>Complete List</tag>
95 </tags>
96 <packages>
97 <package>src</package>
98 </packages>
99 <files>
100 <file source="examples/MotorControl/src/Robot.cpp" destination="src/Robot.cpp" />
101 </files>
102 </example>
103 <example>
104 <name>Motor Control With Encoder</name>
105 <description>Demonstrate controlling a single motor with a Joystick and displaying the net
106 movement of the motor using an encoder.</description>
107 <tags>
108 <tag>Robot and Motor</tag>
109 <tag>Digital</tag>
110 <tag>Sensors</tag>
111 <tag>Actuators</tag>
112 <tag>Joystick</tag>
113 <tag>Complete List</tag>
114 </tags>
115 <packages>
116 <package>src</package>
117 </packages>
118 <files>
119 <file source="examples/MotorControl/src/Robot.cpp" destination="src/Robot.cpp" />
120 </files>
121 </example>
122 <example>
123 <name>Relay</name>
124 <description>Demonstrate controlling a Relay from Joystick buttons.</description>
125 <tags>
126 <tag>Actuators</tag>
127 <tag>Joystick</tag>
128 <tag>Complete List</tag>
129 </tags>
130 <packages>
131 <package>src</package>
132 </packages>
133 <files>
134 <file source="examples/Relay/src/Robot.cpp" destination="src/Robot.cpp" />
135 </files>
136 </example>
137 <example>
138 <name>PDP CAN Monitoring</name>
139 <description>Demonstrate using CAN to monitor the voltage, current, and temperature in the
140 Power Distribution Panel.</description>
141 <tags>
142 <tag>Complete List</tag>
143 <tag>CAN</tag>
144 <tag>Sensors</tag>
145 </tags>
146 <packages>
147 <package>src</package>
148 </packages>
149 <files>
150 <file source="examples/CANPDP/src/Robot.cpp" destination="src/Robot.cpp" />
151 </files>
152 </example>
153 <example>
154 <name>Solenoids</name>
155 <description>Demonstrate controlling a single and double solenoid from Joystick buttons.</description>
156 <tags>
157 <tag>Actuators</tag>
158 <tag>Joystick</tag>
159 <tag>Pneumatics</tag>
160 <tag>Complete List</tag>
161 </tags>
162 <packages>
163 <package>src</package>
164 </packages>
165 <files>
166 <file source="examples/Solenoid/src/Robot.cpp" destination="src/Robot.cpp" />
167 </files>
168 </example>
169 <example>
170 <name>Encoder</name>
171 <description>Demonstrate displaying the value of a quadrature encoder on the
172 SmartDashboard.</description>
173 <tags>
174 <tag>Complete List</tag>
175 <tag>Digital</tag>
176 <tag>Sensors</tag>
177 </tags>
178 <packages>
179 <package>src</package>
180 </packages>
181 <files>
182 <file source="examples/Encoder/src/Robot.cpp" destination="src/Robot.cpp" />
183 </files>
184 </example>
185 <example>
186 <name>Arcade Drive</name>
187 <description>An example program which demonstrates the use of Arcade Drive with the DifferentialDrive class</description>
188 <tags>
189 <tag>Getting Started with C++</tag>
190 <tag>Robot and Motor</tag>
191 <tag>Joystick</tag>
192 <tag>Complete List</tag>
193 </tags>
194 <packages>
195 <package>src</package>
196 </packages>
197 <files>
198 <file source="examples/ArcadeDrive/src/Robot.cpp" destination="src/Robot.cpp" />
199 </files>
200 </example>
201 <example>
202 <name>Mecanum Drive</name>
203 <description>An example program which demonstrates the use of Mecanum Drive with the MecanumDrive class</description>
204 <tags>
205 <tag>Getting Started with C++</tag>
206 <tag>Robot and Motor</tag>
207 <tag>Joystick</tag>
208 <tag>Complete List</tag>
209 </tags>
210 <packages>
211 <package>src</package>
212 </packages>
213 <files>
214 <file source="examples/MecanumDrive/src/Robot.cpp" destination="src/Robot.cpp" />
215 </files>
216 </example>
217 <example>
218 <name>Ultrasonic</name>
219 <description>Demonstrate maintaining a set distance using an ultrasonic sensor.</description>
220 <tags>
221 <tag>Robot and Motor</tag>
222 <tag>Complete List</tag>
223 <tag>Sensors</tag>
224 <tag>Analog</tag>
225 </tags>
226 <packages>
227 <package>src</package>
228 </packages>
229 <files>
230 <file source="examples/Ultrasonic/src/Robot.cpp" destination="src/Robot.cpp" />
231 </files>
232 </example>
233 <example>
234 <name>UltrasonicPID</name>
235 <description>Demonstrate maintaining a set distance using an ultrasonic sensor and PID
236 control.</description>
237 <tags>
238 <tag>Robot and Motor</tag>
239 <tag>Complete List</tag>
240 <tag>Sensors</tag>
241 <tag>Analog</tag>
242 </tags>
243 <packages>
244 <package>src</package>
245 </packages>
246 <files>
247 <file source="examples/UltrasonicPID/src/Robot.cpp" destination="src/Robot.cpp" />
248 </files>
249 </example>
250 <example>
251 <name>Gyro</name>
252 <description>An example program showing how to drive straight with using a gyro sensor.</description>
253 <tags>
254 <tag>Robot and Motor</tag>
255 <tag>Complete List</tag>
256 <tag>Sensors</tag>
257 <tag>Analog</tag>
258 <tag>Joystick</tag>
259 </tags>
260 <packages>
261 <package>src</package>
262 </packages>
263 <files>
264 <file source="examples/Gyro/src/Robot.cpp" destination="src/Robot.cpp" />
265 </files>
266 </example>
267 <example>
268 <name>Gyro Mecanum</name>
269 <description>An example program showing how to perform mecanum drive with field oriented
270 controls.</description>
271 <tags>
272 <tag>Robot and Motor</tag>
273 <tag>Complete List</tag>
274 <tag>Sensors</tag>
275 <tag>Analog</tag>
276 <tag>Joysitck</tag>
277 </tags>
278 <packages>
279 <package>src</package>
280 </packages>
281 <files>
282 <file source="examples/GyroMecanum/src/Robot.cpp" destination="src/Robot.cpp" />
283 </files>
284 </example>
285 <example>
286 <name>PotentiometerPID</name>
287 <description>An example to demonstrate the use of a potentiometer and PID control to reach
288 elevator position setpoints.</description>
289 <tags>
290 <tag>Joystick</tag>
291 <tag>Actuators</tag>
292 <tag>Complete List</tag>
293 <tag>Sensors</tag>
294 <tag>Analog</tag>
295 </tags>
296 <packages>
297 <package>src</package>
298 </packages>
299 <files>
300 <file source="examples/PotentiometerPID/src/Robot.cpp" destination="src/Robot.cpp" />
301 </files>
302 </example>
303 <example>
304 <name>Getting Started</name>
305 <description>An example program which demonstrates the simplest autonomous and
306 teleoperated routines.</description>
307 <tags>
308 <tag>Getting Started with C++</tag>
309 <tag>Complete List</tag>
310 </tags>
311 <packages>
312 <package>src</package>
313 </packages>
314 <files>
315 <file source="examples/GettingStarted/src/Robot.cpp" destination="src/Robot.cpp" />
316 </files>
317 </example>
318 <example>
319 <name>Simple Vision</name>
320 <description>The minimal program to acquire images from an attached USB camera on the robot
321 and send them to the dashboard.</description>
322 <tags>
323 <tag>Vision</tag>
324 <tag>Complete List</tag>
325 </tags>
326 <packages>
327 <package>src</package>
328 </packages>
329 <files>
330 <file source="examples/QuickVision/src/Robot.cpp" destination="src/Robot.cpp" />
331 </files>
332 </example>
333 <example>
334 <name>Intermediate Vision</name>
335 <description>An example program that acquires images from an attached USB camera and adds
336 some
337 annotation to the image as you might do for showing operators the result of some image
338 recognition, and sends it to the dashboard for display.</description>
339 <tags>
340 <tag>Vision</tag>
341 <tag>Complete List</tag>
342 </tags>
343 <packages>
344 <package>src</package>
345 </packages>
346 <files>
347 <file source="examples/IntermediateVision/src/Robot.cpp" destination="src/Robot.cpp" />
348 </files>
349 </example>
350 <example>
351 <name>Axis Camera Sample</name>
352 <description>An example program that acquires images from an Axis network camera and adds
353 some
354 annotation to the image as you might do for showing operators the result of some image
355 recognition, and sends it to the dashboard for display. This demonstrates the use of the
356 AxisCamera class.</description>
357 <tags>
358 <tag>Vision</tag>
359 <tag>Complete List</tag>
360 </tags>
361 <packages>
362 <package>src</package>
363 </packages>
364 <files>
365 <file source="examples/AxisCameraSample/src/Robot.cpp" destination="src/Robot.cpp" />
366 </files>
367 </example>
368 <example>
369 <name>GearsBot</name>
370 <description>A fully functional example CommandBased program for
371 WPIs GearsBot robot. This code can run on your computer if it
372 supports simulation.</description>
373 <tags>
374 <tag>CommandBased Robot</tag>
375 <tag>Complete List</tag>
376 </tags>
377 <world>/usr/share/frcsim/worlds/GearsBotDemo.world</world>
378 <packages>
379 <package>src</package>
380 <package>src/Commands</package>
381 <package>src/Subsystems</package>
382 </packages>
383 <files>
384 <file source="examples/GearsBot/src/Commands/Autonomous.cpp" destination="src/Commands/Autonomous.cpp" />
385 <file source="examples/GearsBot/src/Commands/Autonomous.h" destination="src/Commands/Autonomous.h" />
386 <file source="examples/GearsBot/src/Commands/CloseClaw.cpp" destination="src/Commands/CloseClaw.cpp" />
387 <file source="examples/GearsBot/src/Commands/CloseClaw.h" destination="src/Commands/CloseClaw.h" />
388 <file source="examples/GearsBot/src/Commands/DriveStraight.cpp" destination="src/Commands/DriveStraight.cpp" />
389 <file source="examples/GearsBot/src/Commands/DriveStraight.h" destination="src/Commands/DriveStraight.h" />
390 <file source="examples/GearsBot/src/Commands/OpenClaw.cpp" destination="src/Commands/OpenClaw.cpp" />
391 <file source="examples/GearsBot/src/Commands/OpenClaw.h" destination="src/Commands/OpenClaw.h" />
392 <file source="examples/GearsBot/src/Commands/Pickup.cpp" destination="src/Commands/Pickup.cpp" />
393 <file source="examples/GearsBot/src/Commands/Pickup.h" destination="src/Commands/Pickup.h" />
394 <file source="examples/GearsBot/src/Commands/Place.cpp" destination="src/Commands/Place.cpp" />
395 <file source="examples/GearsBot/src/Commands/Place.h" destination="src/Commands/Place.h" />
396 <file source="examples/GearsBot/src/Commands/PrepareToPickup.cpp" destination="src/Commands/PrepareToPickup.cpp" />
397 <file source="examples/GearsBot/src/Commands/PrepareToPickup.h" destination="src/Commands/PrepareToPickup.h" />
398 <file source="examples/GearsBot/src/Commands/SetDistanceToBox.cpp" destination="src/Commands/SetDistanceToBox.cpp" />
399 <file source="examples/GearsBot/src/Commands/SetDistanceToBox.h" destination="src/Commands/SetDistanceToBox.h" />
400 <file source="examples/GearsBot/src/Commands/SetElevatorSetpoint.cpp" destination="src/Commands/SetElevatorSetpoint.cpp" />
401 <file source="examples/GearsBot/src/Commands/SetElevatorSetpoint.h" destination="src/Commands/SetElevatorSetpoint.h" />
402 <file source="examples/GearsBot/src/Commands/SetWristSetpoint.cpp" destination="src/Commands/SetWristSetpoint.cpp" />
403 <file source="examples/GearsBot/src/Commands/SetWristSetpoint.h" destination="src/Commands/SetWristSetpoint.h" />
404 <file source="examples/GearsBot/src/Commands/TankDriveWithJoystick.cpp" destination="src/Commands/TankDriveWithJoystick.cpp" />
405 <file source="examples/GearsBot/src/Commands/TankDriveWithJoystick.h" destination="src/Commands/TankDriveWithJoystick.h" />
406 <file source="examples/GearsBot/src/OI.cpp" destination="src/OI.cpp" />
407 <file source="examples/GearsBot/src/OI.h" destination="src/OI.h" />
408 <file source="examples/GearsBot/src/Robot.cpp" destination="src/Robot.cpp" />
409 <file source="examples/GearsBot/src/Robot.h" destination="src/Robot.h" />
410 <file source="examples/GearsBot/src/Subsystems/Claw.cpp" destination="src/Subsystems/Claw.cpp" />
411 <file source="examples/GearsBot/src/Subsystems/Claw.h" destination="src/Subsystems/Claw.h" />
412 <file source="examples/GearsBot/src/Subsystems/DriveTrain.cpp" destination="src/Subsystems/DriveTrain.cpp" />
413 <file source="examples/GearsBot/src/Subsystems/DriveTrain.h" destination="src/Subsystems/DriveTrain.h" />
414 <file source="examples/GearsBot/src/Subsystems/Elevator.cpp" destination="src/Subsystems/Elevator.cpp" />
415 <file source="examples/GearsBot/src/Subsystems/Elevator.h" destination="src/Subsystems/Elevator.h" />
416 <file source="examples/GearsBot/src/Subsystems/Wrist.cpp" destination="src/Subsystems/Wrist.cpp" />
417 <file source="examples/GearsBot/src/Subsystems/Wrist.h" destination="src/Subsystems/Wrist.h" />
418 </files>
419 </example>
420 <example>
421 <name>PacGoat</name>
422 <description>A fully functional example CommandBased program for FRC Team 190&amp;#39;s 2014
423 robot. This code can run on your computer if it supports simulation.</description>
424 <tags>
425 <tag>CommandBased Robot</tag>
426 <tag>Complete List</tag>
427 </tags>
428 <world>/usr/share/frcsim/worlds/PacGoat2014.world</world>
429 <packages>
430 <package>src</package>
431 <package>src/Commands</package>
432 <package>src/Subsystems</package>
433 <package>src/Triggers</package>
434 </packages>
435 <files>
436 <file source="examples/PacGoat/src/Commands/CheckForHotGoal.cpp" destination="src/Commands/CheckForHotGoal.cpp" />
437 <file source="examples/PacGoat/src/Commands/CheckForHotGoal.h" destination="src/Commands/CheckForHotGoal.h" />
438 <file source="examples/PacGoat/src/Commands/CloseClaw.cpp" destination="src/Commands/CloseClaw.cpp" />
439 <file source="examples/PacGoat/src/Commands/CloseClaw.h" destination="src/Commands/CloseClaw.h" />
440 <file source="examples/PacGoat/src/Commands/Collect.cpp" destination="src/Commands/Collect.cpp" />
441 <file source="examples/PacGoat/src/Commands/Collect.h" destination="src/Commands/Collect.h" />
442 <file source="examples/PacGoat/src/Commands/DriveAndShootAutonomous.cpp" destination="src/Commands/DriveAndShootAutonomous.cpp" />
443 <file source="examples/PacGoat/src/Commands/DriveAndShootAutonomous.h" destination="src/Commands/DriveAndShootAutonomous.h" />
444 <file source="examples/PacGoat/src/Commands/DriveForward.cpp" destination="src/Commands/DriveForward.cpp" />
445 <file source="examples/PacGoat/src/Commands/DriveForward.h" destination="src/Commands/DriveForward.h" />
446 <file source="examples/PacGoat/src/Commands/DriveWithJoystick.cpp" destination="src/Commands/DriveWithJoystick.cpp" />
447 <file source="examples/PacGoat/src/Commands/DriveWithJoystick.h" destination="src/Commands/DriveWithJoystick.h" />
448 <file source="examples/PacGoat/src/Commands/ExtendShooter.cpp" destination="src/Commands/ExtendShooter.cpp" />
449 <file source="examples/PacGoat/src/Commands/ExtendShooter.h" destination="src/Commands/ExtendShooter.h" />
450 <file source="examples/PacGoat/src/Commands/LowGoal.cpp" destination="src/Commands/LowGoal.cpp" />
451 <file source="examples/PacGoat/src/Commands/LowGoal.h" destination="src/Commands/LowGoal.h" />
452 <file source="examples/PacGoat/src/Commands/OpenClaw.cpp" destination="src/Commands/OpenClaw.cpp" />
453 <file source="examples/PacGoat/src/Commands/OpenClaw.h" destination="src/Commands/OpenClaw.h" />
454 <file source="examples/PacGoat/src/Commands/SetCollectionSpeed.cpp" destination="src/Commands/SetCollectionSpeed.cpp" />
455 <file source="examples/PacGoat/src/Commands/SetCollectionSpeed.h" destination="src/Commands/SetCollectionSpeed.h" />
456 <file source="examples/PacGoat/src/Commands/SetPivotSetpoint.cpp" destination="src/Commands/SetPivotSetpoint.cpp" />
457 <file source="examples/PacGoat/src/Commands/SetPivotSetpoint.h" destination="src/Commands/SetPivotSetpoint.h" />
458 <file source="examples/PacGoat/src/Commands/Shoot.cpp" destination="src/Commands/Shoot.cpp" />
459 <file source="examples/PacGoat/src/Commands/Shoot.h" destination="src/Commands/Shoot.h" />
460 <file source="examples/PacGoat/src/Commands/WaitForBall.cpp" destination="src/Commands/WaitForBall.cpp" />
461 <file source="examples/PacGoat/src/Commands/WaitForBall.h" destination="src/Commands/WaitForBall.h" />
462 <file source="examples/PacGoat/src/Commands/WaitForPressure.cpp" destination="src/Commands/WaitForPressure.cpp" />
463 <file source="examples/PacGoat/src/Commands/WaitForPressure.h" destination="src/Commands/WaitForPressure.h" />
464 <file source="examples/PacGoat/src/OI.cpp" destination="src/OI.cpp" />
465 <file source="examples/PacGoat/src/OI.h" destination="src/OI.h" />
466 <file source="examples/PacGoat/src/Robot.cpp" destination="src/Robot.cpp" />
467 <file source="examples/PacGoat/src/Robot.h" destination="src/Robot.h" />
468 <file source="examples/PacGoat/src/Subsystems/Collector.cpp" destination="src/Subsystems/Collector.cpp" />
469 <file source="examples/PacGoat/src/Subsystems/Collector.h" destination="src/Subsystems/Collector.h" />
470 <file source="examples/PacGoat/src/Subsystems/DriveTrain.cpp" destination="src/Subsystems/DriveTrain.cpp" />
471 <file source="examples/PacGoat/src/Subsystems/DriveTrain.h" destination="src/Subsystems/DriveTrain.h" />
472 <file source="examples/PacGoat/src/Subsystems/Pivot.cpp" destination="src/Subsystems/Pivot.cpp" />
473 <file source="examples/PacGoat/src/Subsystems/Pivot.h" destination="src/Subsystems/Pivot.h" />
474 <file source="examples/PacGoat/src/Subsystems/Pneumatics.cpp" destination="src/Subsystems/Pneumatics.cpp" />
475 <file source="examples/PacGoat/src/Subsystems/Pneumatics.h" destination="src/Subsystems/Pneumatics.h" />
476 <file source="examples/PacGoat/src/Subsystems/Shooter.cpp" destination="src/Subsystems/Shooter.cpp" />
477 <file source="examples/PacGoat/src/Subsystems/Shooter.h" destination="src/Subsystems/Shooter.h" />
478 <file source="examples/PacGoat/src/Triggers/DoubleButton.cpp" destination="src/Triggers/DoubleButton.cpp" />
479 <file source="examples/PacGoat/src/Triggers/DoubleButton.h" destination="src/Triggers/DoubleButton.h" />
480 </files>
481 </example>
482</examples>