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:
- RobotDriveRefNum - the refnum for your robot drive.
- Lock Changes Boolean - MUST BE CONSTANT. Decide whether or not it will be a button swap or a hold-to-use.
- Change Mode Boolean - The button input that controls changing drive modes.
- Arcade X Axis - The X axis of the arcade joystick.
- Arcade Y Axis - The Y axis of the arcade joystick.
- Tank Left Axis - The axis to use for the left side in tank drive.
- Tank Right Axis - The axis to use for the right side in tank drive.
- Error in
There are also the following outputs, to be used as you see fit.
- RobotDriveRefNum Out - The same refnum that you plug in.
- Current Drive Mode - The current drive mode the robot is in (we use this to show the drive mode on the dashboard)
- Motor Values - The motor values returned by the tank/arcade drives.
- 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.
SwapDrive.vi (64.2 KB)
SwapDrive.vi (64.2 KB)