Files
RiseOfRidgebotics2020/src/main/java/frc4388/utility/Gains.java
T

66 lines
2.3 KiB
Java
Raw Normal View History

2020-01-13 17:53:42 -07:00
/*----------------------------------------------------------------------------*/
/* Copyright (c) 2018-2019 FIRST. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
2020-03-02 21:23:33 -07:00
package frc4388.utility;
2020-01-13 17:53:42 -07:00
/**
* Add your docs here.
*/
public class Gains {
2020-02-07 17:50:23 -07:00
public double m_kP;
public double m_kI;
public double m_kD;
public double m_kF;
public int m_kIzone;
public double m_kPeakOutput;
2020-02-10 16:57:41 -08:00
public double m_kmaxOutput;
public double m_kminOutput;
2020-01-13 17:53:42 -07:00
2020-02-07 17:50:23 -07:00
/**
* Creates Gains object for PIDs
* @param kP The P value.
* @param kI The I value.
* @param kD The D value.
* @param kF The F value.
* @param kIzone The zone of the I value.
2020-03-08 12:14:24 -06:00
* @param kPeakOutput The peak output setting the motors to run the gains at, in both forward and reverse directions. By default 1.0.
2020-02-07 17:50:23 -07:00
*/
public Gains(double kP, double kI, double kD, double kF, int kIzone, double kPeakOutput)
2020-01-13 17:53:42 -07:00
{
2020-02-07 17:50:23 -07:00
m_kP = kP;
m_kI = kI;
m_kD = kD;
m_kF = kF;
m_kIzone = kIzone;
m_kPeakOutput = kPeakOutput;
2020-03-08 12:14:24 -06:00
m_kmaxOutput = m_kPeakOutput;
m_kminOutput = -m_kPeakOutput;
}
/**
* Creates Gains object for PIDs
* @param kP The P value.
* @param kI The I value.
* @param kD The D value.
* @param kF The F value.
* @param kIzone The zone of the I value.
* @param kMinOutput The lowest output setting to run the gains at, usually in the reverse direction. By default -1.0.
* @param kMaxOutput The highest output setting to run the gains at, usually in the forward direction. By default 1.0.
*/
public Gains(double kP, double kI, double kD, double kF, int kIzone, double kMinOutput, double kMaxOutput)
{
m_kP = kP;
m_kI = kI;
m_kD = kD;
m_kF = kF;
m_kIzone = kIzone;
m_kminOutput = kMinOutput;
m_kmaxOutput = kMaxOutput;
m_kPeakOutput = (Math.abs(m_kminOutput) > Math.abs(m_kmaxOutput)) ? Math.abs(m_kminOutput) : Math.abs(m_kmaxOutput);
2020-01-13 17:53:42 -07:00
}
}