summaryrefslogtreecommitdiff
path: root/src/org/usfirst/frc/team4272/robotlib/RateLimitedPIDOutput.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/usfirst/frc/team4272/robotlib/RateLimitedPIDOutput.java')
-rw-r--r--src/org/usfirst/frc/team4272/robotlib/RateLimitedPIDOutput.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/org/usfirst/frc/team4272/robotlib/RateLimitedPIDOutput.java b/src/org/usfirst/frc/team4272/robotlib/RateLimitedPIDOutput.java
index 70010c6..42121a5 100644
--- a/src/org/usfirst/frc/team4272/robotlib/RateLimitedPIDOutput.java
+++ b/src/org/usfirst/frc/team4272/robotlib/RateLimitedPIDOutput.java
@@ -1,5 +1,6 @@
/**
* Copyright (c) 2012 Precise Path Robotics, Inc
+ * Copyright (c) 2017 Luke Shumaker
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,7 +23,12 @@ import edu.wpi.first.wpilibj.PIDOutput;
import edu.wpi.first.wpilibj.Timer;
/**
- * TODO: Write JavaDocs
+ * RateLimitedPIDOutput wraps a {@link PIDOutput}, unsuring that the
+ * set value does not change too quickly.
+ *
+ * If the writer attempts to call {@link pidWrite(double)} with a
+ * value that is too different than the previous value; it will
+ * instead write a value that is closer to the previous value.
*/
public class RateLimitedPIDOutput implements PIDOutput {
PIDOutput o;
@@ -30,6 +36,11 @@ public class RateLimitedPIDOutput implements PIDOutput {
double prev_rate = 0;
double prev_time = 0;
+ /**
+ * @param out The actual PIDOutput to write to.
+ * @param maxChange the maximum amount that the setpoint can
+ * change by per second.
+ */
public RateLimitedPIDOutput(PIDOutput out, double maxChange) {
o = out;
m = maxChange;