View Single Post
  #1   Spotlight this post!  
Unread 30-03-2014, 22:30
dmaciel10123 dmaciel10123 is offline
The Everything Guy
AKA: David Maciel
FRC #3525 (The Nuts and Bolts of Fury)
Team Role: Alumni
 
Join Date: Feb 2013
Rookie Year: 2013
Location: Waterbury, Connecticut
Posts: 100
dmaciel10123 is an unknown quantity at this point
(Free Code!) FRC 3525's "Swap Drive"

Hi everyone!! Just making a post to give you guys the ability to use a copy of my team's "Swap Drive" code. I've attached the VIs (which you can just copy into your robot project whenever) and am going to be providing the documentation in this post, as well as in a file that will come with the download.

So, here goes.

First Off: What is "Swap Drive"?
Swap drive is a small bit of code that provides you with the ability to swap between tank drive and arcade drive at any point in the match. My team has found this very helpful as it provides ease of driving straight when not at top speed from arcade drive, and having the maneuverability of tank drive, at a moment's notice.

Documentation
Using SwapDrive.vi is surprisingly simple. Just as there is with any vi, you place it into your code, plug in all of the inputs, and then let it run. The inputs are as follows:
  1. RobotDriveRefNum - the refnum for your robot drive.
  2. Lock Changes Boolean - MUST BE CONSTANT. Decide whether or not it will be a button swap or a hold-to-use.
  3. Change Mode Boolean - The button input that controls changing drive modes.
  4. Arcade X Axis - The X axis of the arcade joystick.
  5. Arcade Y Axis - The Y axis of the arcade joystick.
  6. Tank Left Axis - The axis to use for the left side in tank drive.
  7. Tank Right Axis - The axis to use for the right side in tank drive.
  8. Error in

There are also the following outputs, to be used as you see fit.
  1. RobotDriveRefNum Out - The same refnum that you plug in.
  2. Current Drive Mode - The current drive mode the robot is in (we use this to show the drive mode on the dashboard)
  3. Motor Values - The motor values returned by the tank/arcade drives.
  4. Error out

Code is explained inside of the VI. I can't guarantee anything will work if changes are made.

All inputs are required, outputs are yours to do with as you please. If you have any further questions, feel free to post them here, PM me on the forums, or email me at [my username]@gmail.com

Update [3/31/14]: I tested the code on the robot simulator that is provided with LabVIEW and modified the SwapDrive.vi to work properly. The currently attached file is the latest version. If you have a version downloaded before 3/31 it will not function correctly.
Attached Files
File Type: vi SwapDrive.vi (64.2 KB, 38 views)

Last edited by dmaciel10123 : 31-03-2014 at 16:01.
Reply With Quote