Added more Talon SRX documentation and PID samples.

Change-Id: I2b1326c11452c6895846ded1277dbf4d38a5222d
This commit is contained in:
James Kuszmaul
2014-12-05 17:11:38 -05:00
parent 16f9db30a9
commit 4833316571
7 changed files with 269 additions and 23 deletions

View File

@@ -1,35 +1,37 @@
#include "WPILib.h"
/**
* This is a quick sample program to show how to use the new Talon SRX over CAN.
* As of the time of this writing (11/20/14), the only mode supported on the SRX is the
* straight-up throttle (status info, such as current and temperature should work).
* This sample shows how to use the new CANTalon to just run a motor in a basic
* throttle mode, in the same manner as you might control a traditional PWM
* controlled motor.
*
*/
class Robot : public SampleRobot {
CANTalon m_motor;
// update every 0.005 seconds/5 milliseconds.
double kUpdatePeriod = 0.005;
Joystick m_stick;
// update every 0.01 seconds/10 milliseconds.
// The talon only receives control packets every 10ms.
double kUpdatePeriod = 0.010;
public:
Robot()
: m_motor(1) // Initialize the Talon as device 1. Use the roboRIO web
: m_motor(1), // Initialize the Talon as device 1. Use the roboRIO web
// interface to change the device number on the talons.
m_stick(0)
{}
/**
* Runs the motor from the output of a Joystick.
*/
void OperatorControl() {
m_motor.EnableControl();
while (IsOperatorControl() && IsEnabled()) {
// Takes a number from -1.0 (full reverse) to +1.0 (full forwards).
m_motor.Set(0.5);
m_motor.Set(m_stick.GetY());
Wait(kUpdatePeriod); // Wait 5ms for the next update.
Wait(kUpdatePeriod); // Wait a bit so that the loop doesn't lock everything up.
}
m_motor.Set(0.0);
}
};